Method, device and electronic device for determining frequency of storage device
By dynamically adjusting the frequency of the storage device, the problems of low resource utilization and short lifespan in existing technologies are solved, achieving a balance between performance and power consumption to meet the needs of different applications.
Patent Information
- Application Number
- CN202411390732.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2044-09-30
AI Technical Summary
In existing technologies, the high frequency setting of storage devices leads to low system resource utilization, affects lifespan, and cannot be dynamically adjusted according to the needs of different applications.
By determining the target performance requirements of the storage device, a corresponding frequency scheme is formulated, and the frequency is dynamically adjusted in combination with the current operating status of the electronic device to achieve the best balance between performance and power consumption.
Improves system resource utilization, extends the service life of storage devices, and meets the performance requirements of different applications.
Smart Images

Figure CN119376621B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer storage device technology, and more particularly to a method, apparatus and electronic device for determining the frequency of a storage device. Background Technology
[0002] Frequency in computer storage devices, especially for RAM, is an important performance indicator that directly affects the computer's data processing speed and overall performance.
[0003] Currently, when running different applications, storage devices are usually set to run at high frequencies to obtain a good user experience. However, this approach results in low system resource utilization and can also affect the lifespan of the storage device. Summary of the Invention
[0004] One aspect of this disclosure provides a method for determining the frequency of a storage device, comprising: determining a target performance requirement for the storage device of an electronic device, the performance of the storage device including a first performance and a second performance, the target performance including at least one of the first performance and the second performance; determining a target frequency scheme for the storage device corresponding to the determined target performance, the target frequency scheme including a first frequency scheme corresponding to the first performance and a second frequency scheme corresponding to the second performance, the first performance and the frequency of the first frequency scheme having a linear correlation, and the second performance and the frequency of the second frequency scheme having a linear correlation; and determining a frequency corresponding to the target performance requirement from the target frequency scheme based on the target frequency scheme and the current operating state of the electronic device.
[0005] Optionally, determining the target performance requirements for the storage device of the electronic device includes: determining the currently running application; determining the operating state of at least one processing module of the electronic device; determining the user's performance selection for the storage device in response to user operations; and determining the target performance requirements based on at least one of the running application, operating state, and performance selection.
[0006] Optionally, determining the target performance requirements for the storage device of the electronic device includes: obtaining an application list, which includes a first type of application and a second type of application, wherein the first type of application has a first performance requirement and the second type of application has a second performance requirement; matching the currently running application with the application list to determine that the currently running application is one of the first type of application and the second type of application; if the currently running application is a first type of application, determining the target performance requirement as a requirement for the first performance; if the currently running application is a second type of application, determining the target performance requirement as a requirement for the second performance.
[0007] Optionally, determining the target performance requirements for the storage device of the electronic device includes: determining the processing module state corresponding to the currently running application, the processing module state including the processing module frequency and the processing module power consumption. The target performance requirement is determined based on at least one of the following: if the fluctuation range of the processing module frequency within a preset time period is greater than a first preset threshold, the target performance requirement is determined to be a first performance requirement; if the processing module frequency within a preset time period is higher than a second preset threshold, the target performance requirement is determined to be a second performance requirement; if the processing module power consumption within a preset time period is higher than a third preset threshold, the target performance requirement is determined to be a second performance requirement.
[0008] Optionally, the first performance requirement includes the response speed requirement of the storage device, and the second performance requirement includes the read / write bandwidth requirement of the storage device.
[0009] Optionally, based on the determined target performance, a target frequency scheme for the storage device corresponding to the target performance is determined, including: selecting a target frequency scheme from a plurality of pre-set first frequency schemes based on a first performance; selecting a target frequency scheme from a plurality of pre-set second frequency schemes based on a second performance. The first and second frequency schemes are obtained by combining multiple target frequency values or by combining multiple target frequency bands. The plurality of target frequency values and multiple target frequency bands are determined by: dividing the operating frequency of the storage device to obtain multiple initial frequency bands; taking a frequency value from each initial frequency band and combining them to obtain multiple target frequency values; and combining at least a portion of the multiple initial frequency bands to obtain multiple target frequency bands.
[0010] Optionally, based on the target frequency scheme and the current operating state of the electronic device, a frequency corresponding to the target performance requirement is determined from the target frequency scheme, including at least one of the following: If the target frequency scheme is a first frequency scheme, determine the current latency of the storage device. Based on the current latency, determine the frequency corresponding to the storage device as one of a plurality of first target frequency values in the first frequency scheme. Based on the current latency, determine the frequency band containing the frequency corresponding to the storage device as one of a plurality of first target frequency bands in the first frequency scheme. Based on the current latency, adaptively determine the frequency corresponding to the storage device within the first target frequency band. If the target frequency scheme is a second frequency scheme, determine the current read / write latency of the storage device. Based on the current read / write latency, determine the frequency corresponding to the storage device as one of a plurality of second target frequency values in the second frequency scheme. Based on the current read / write latency, determine the frequency band containing the frequency corresponding to the storage device as one of a plurality of second target frequency bands in the second frequency scheme. Based on the current read / write latency, adaptively determine the frequency corresponding to the storage device within the second target frequency band.
[0011] Optionally, when the target performance is the first performance, the method further includes: determining one or more first frequency division points, wherein the response speed of the memory device corresponding to the first frequency division point is greater than the response speed of the memory device corresponding to a frequency within a local range centered on the corresponding frequency division point; determining a second frequency division point with a response speed equal to that of the memory device corresponding to the first frequency division point, wherein the frequency corresponding to the second frequency division point is higher than the frequency corresponding to the first frequency division point; and excluding the frequency band between the first frequency division point and the second frequency division point from the target frequency scheme.
[0012] Another aspect of this disclosure provides a frequency determination apparatus for a storage device, comprising: a first determining module, configured to determine a target performance requirement for the storage device of an electronic device, wherein the performance of the storage device includes a first performance and a second performance, and the target performance includes at least one of the first performance and the second performance; a second determining module, configured to determine a target frequency scheme for the storage device corresponding to the determined target performance, the target frequency scheme including a first frequency scheme corresponding to the first performance and a second frequency scheme corresponding to the second performance, wherein the first performance and the frequency of the first frequency scheme are linearly correlated, and the second performance and the frequency of the second frequency scheme are linearly correlated; and a third determining module, configured to determine a frequency corresponding to the target performance requirement from the target frequency scheme based on the target frequency scheme and the current operating state of the electronic device.
[0013] Another aspect of this disclosure provides an electronic device, including: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to perform the frequency determination method of the storage device described in any of the preceding claims. Attached Figure Description
[0014] The above and other objects, features and advantages of this disclosure will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:
[0015] Figure 1 This diagram schematically illustrates an application scenario of a frequency determination method for a storage device according to an embodiment of the present disclosure.
[0016] Figure 2 A flowchart illustrating a method for determining the frequency of a storage device according to an embodiment of the present disclosure is shown schematically.
[0017] Figure 3 A flowchart illustrating a method for determining target performance requirements according to embodiments of the present disclosure is shown schematically.
[0018] Figure 4A flowchart illustrating a method for determining target performance requirements according to another embodiment of this disclosure is shown schematically.
[0019] Figure 5 A flowchart illustrating a method for determining target performance requirements according to yet another embodiment of this disclosure is shown.
[0020] Figure 6 A flowchart illustrating a method for determining a target frequency scheme according to an embodiment of the present disclosure is shown schematically.
[0021] Figure 7 A flowchart illustrating a method for determining the frequency of a storage device according to an embodiment of the present disclosure is shown schematically.
[0022] Figure 8A A flowchart illustrating a method for adjusting the performance of a storage device in a linear relationship with its frequency according to an embodiment of the present disclosure is shown. Figure 8B This illustration shows a graph showing the relationship between memory latency and memory frequency in a given scenario.
[0023] Figure 9 This schematically illustrates a structural block diagram of a frequency determination device for a storage device according to an embodiment of the present disclosure;
[0024] Figure 10 A block diagram schematically illustrates an electronic device suitable for implementing a frequency determination method for a storage device according to an embodiment of the present disclosure. Detailed Implementation
[0025] Embodiments of the present disclosure will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the disclosure. Furthermore, descriptions of well-known structures and technologies are omitted in the following description to avoid unnecessarily obscuring the concepts of the present disclosure.
[0026] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0027] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0028] The accompanying drawings show some block diagrams and / or flowcharts. It should be understood that some blocks or combinations thereof in the block diagrams and / or flowcharts can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when executed by the processor, these instructions can create means for implementing the functions / operations described in these block diagrams and / or flowcharts.
[0029] Therefore, the technology disclosed herein can be implemented in hardware and / or software (including firmware, microcode, etc.). Additionally, the technology disclosed herein can take the form of a computer program product stored on a computer-readable medium, which can be used by or in conjunction with an instruction execution system. In the context of this disclosure, a computer-readable medium can be any medium capable of containing, storing, transmitting, propagating, or transmitting instructions. For example, a computer-readable medium can include, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, apparatuses, or propagation media. Specific examples of computer-readable media include: magnetic storage devices, such as magnetic tape or hard disk drives (HDDs); optical storage devices, such as optical discs (CD-ROMs); memories, such as random access memory (RAM) or flash memory; and / or wired / wireless communication links.
[0030] Embodiments of this disclosure provide a method for adaptively adjusting the frequency of a storage device to suit the currently running application. The method includes determining a target performance requirement for the storage device of an electronic device. The storage device performance includes a first performance and a second performance, and the target performance includes at least one of the first and second performance. Based on the determined target performance, a target frequency scheme for the storage device corresponding to the target performance is determined. The target frequency scheme includes a first frequency scheme corresponding to the first performance and a second frequency scheme corresponding to the second performance. The first performance and the frequency of the first frequency scheme have a linear correlation, and the second performance and the frequency of the second frequency scheme also have a linear correlation. Based on the target frequency scheme and the current operating state of the electronic device, a frequency corresponding to the target performance requirement is determined from the target frequency scheme. By determining the storage device frequency scheme for the current operating state of the electronic device based on the target performance requirement and setting different linear relationships between performance and frequency, the system can adaptively adjust the frequency of the storage device to meet the current performance requirements, improving the system's resource utilization. Simultaneously, it avoids prolonged high-load operation of the storage device and extends its lifespan.
[0031] Figure 1 The diagram illustrates an application scenario of a frequency determination method for a storage device according to an embodiment of the present disclosure.
[0032] like Figure 1 As shown, application scenario 100 according to this embodiment may include terminal devices 101, 102, and 103, a network 104, and a server 105. Network 104 serves as a medium for providing a communication link between terminal devices 101, 102, and 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.
[0033] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, and 103, such as security applications, shopping applications, web browser applications, search applications, instant messaging tools, email clients, social media platform software, etc. (for example only).
[0034] Terminal devices 101, 102, and 103 can be various electronic devices with displays and web browsing capabilities, including but not limited to smartphones, tablets, laptops, and desktop computers.
[0035] Server 105 can be a server that provides various services, such as a backend management server that supports websites or applications browsed or logged into by users using terminal devices 101, 102, and 103 (this is just an example). The backend management server can analyze and process data such as received user requests, and feed back the processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal devices to set the frequency of the applications currently running by the user in accordance with their needs.
[0036] It should be noted that the frequency determination method for the storage device provided in this embodiment can generally be executed by server 105 or by terminal device. Correspondingly, the frequency determination device for the storage device provided in this embodiment can generally be located in server 105. The frequency determination method for the storage device provided in this embodiment can also be executed by a server or server cluster that is different from server 105 and capable of communicating with terminal devices 101, 102, 103 and / or server 105. Correspondingly, the frequency determination device for the storage device provided in this embodiment can also be located in a server or server cluster that is different from server 105 and capable of communicating with terminal devices 101, 102, 103 and / or server 105.
[0037] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.
[0038] The following will be based on Figure 1 The described scene, through Figures 2-8B The frequency determination method of the storage device according to the disclosed embodiments will be described in detail.
[0039] Figure 2 A flowchart illustrating a method for determining the frequency of a storage device according to an embodiment of the present disclosure is shown schematically.
[0040] According to embodiments of this disclosure, such as Figure 2 As shown, the frequency determination method of the storage device in this embodiment includes, for example, operations S210 to S230.
[0041] In operation S210, the target performance requirement for the storage device of the electronic device is determined, the performance of the storage device including a first performance and a second performance, and the target performance including at least one of the first performance and the second performance.
[0042] First, clearly define the target performance required for the storage device of the electronic device. These performance characteristics include primary performance and secondary performance, with the target performance being at least one of the two. Ensure that subsequent operations are tailored to specific needs, avoiding resource waste or insufficient performance.
[0043] For example, the performance of a storage device can be measured by its read and write speeds. Read and write speeds are one of the most fundamental performance indicators of a storage device, directly reflecting its ability to process data. Higher read and write speeds mean that data can be read from or written to the storage device more quickly, thereby improving overall system performance.
[0044] For scenarios requiring frequent access to large amounts of data, such as database servers and high-definition video editing, read and write speeds are crucial. In the gaming industry, fast data retrieval can reduce game loading times and improve game smoothness.
[0045] For example, the performance of a storage device can also be measured by its power consumption. Power consumption is the electrical energy consumed by a storage device during operation and is an important indicator for measuring its energy efficiency. Lower power consumption not only helps reduce the operating costs of the device but also reduces its environmental impact.
[0046] For portable devices such as laptops and tablets, power consumption is a crucial consideration as it directly impacts battery life and portability. In large-scale deployment environments like data centers, reducing power consumption helps decrease energy consumption and operating costs.
[0047] The target performance requirement could be a high read / write speed requirement. For example, in high-definition video editing scenarios, the storage device needs to provide a read / write speed of at least 5GB / s to ensure that there are no stutters or delays when editing large video files.
[0048] The target performance requirement can also be a low power consumption requirement. For example, for portable laptops, while maintaining sufficient read and write speeds, it is desirable to keep the power consumption of the storage device at a low level to extend battery life. Specifically, it may be required that the power consumption of the storage device does not exceed X watts when running at full load (the specific value needs to be determined based on device specifications and actual application scenarios).
[0049] The target performance requirement can also be a comprehensive performance requirement. For example, enterprise-level servers need both high read and write speeds to handle a large number of concurrent requests and data transfers, and low power consumption to reduce operating costs and environmental impact. Therefore, the target performance may be a comprehensive indicator, requiring the finding of the optimal balance between read and write speeds and power consumption.
[0050] The types of storage devices in this embodiment include, for example, memory (RAM), solid-state drive (SSD), hard disk drive (HDD), and video memory.
[0051] In operation S220, based on the determined target performance, a target frequency scheme for the storage device corresponding to the target performance is determined. The target frequency scheme includes a first frequency scheme corresponding to the first performance and a second frequency scheme corresponding to the second performance. The first performance has a linear correlation with the frequency of the first frequency scheme, and the second performance has a linear correlation with the frequency of the second frequency scheme.
[0052] Based on the established target performance, a corresponding target frequency scheme for the storage device is further determined. This scheme comprises two parts: a first frequency scheme corresponding to the first performance and a second frequency scheme corresponding to the second performance. A clear linear correlation exists between each performance level and its corresponding frequency scheme. The performance of the storage device is directly controlled by adjusting the frequency to meet different performance requirements.
[0053] For example, a higher operating frequency range can be set, such as from XX MHz to YY MHz (the specific value needs to be determined based on the specifications and performance limits of the storage device).
[0054] The operating frequency of the storage device is dynamically adjusted based on the current application load and performance requirements. When high-speed data read and write are required, the frequency is adjusted to the upper limit or near the upper limit of the range; when the load is low, the frequency is appropriately reduced to save energy.
[0055] It is necessary to ensure the stability and reliability of storage devices under high-frequency operation to avoid the risk of data loss or damage.
[0056] For example, a relatively low but sufficient operating frequency range can be set, such as from ZZ MHz to WW MHz (the specific value needs to be determined based on the minimum performance requirements and power consumption characteristics of the storage device).
[0057] The system intelligently adjusts the operating frequency of the storage device based on the overall power consumption budget and current operating status of the electronic device. When the battery is low or prolonged operation is required, a low-frequency mode is prioritized to extend battery life.
[0058] While reducing power consumption, we should try to keep the read and write speeds of the storage device within an acceptable range to achieve the best balance between performance and power consumption.
[0059] It should be noted that in practical applications, the operating frequency of a storage device is not set in isolation, but is closely related to multiple aspects such as the overall system architecture, power management, and thermal design of the electronic device. Therefore, when determining the operating frequency of a storage device, multiple factors need to be considered comprehensively to achieve the best balance between overall performance, power consumption, and reliability.
[0060] In operation S230, based on the target frequency scheme and the current operating status of the electronic equipment, the frequency corresponding to the target performance requirements is determined from the target frequency scheme.
[0061] After determining the target frequency scheme, the most suitable frequency for the current needs is selected from the target frequency scheme, taking into account the current operating status of the electronic equipment (such as load, temperature, etc.). This ensures that the storage device can adapt to real-time changes in the electronic equipment while maintaining high efficiency, achieving the best balance between performance and power consumption.
[0062] The embodiments disclosed herein systematically solve the problem of determining the frequency of a storage device. First, it clarifies performance requirements, providing direction for subsequent frequency adjustments. Second, it develops corresponding frequency schemes based on performance requirements, establishing a direct link between performance and frequency. Finally, by combining the device's real-time operating status, it flexibly selects the most suitable frequency, achieving dynamic optimization of storage device performance. This method not only improves the efficiency of the storage device but also enhances its adaptability and stability.
[0063] Figure 3 A flowchart illustrating a method for determining target performance requirements according to an embodiment of the present disclosure is shown.
[0064] According to embodiments of this disclosure, such as Figure 3 As shown, in addition to the references above Figure 2In addition to the operations S210-S230 described, the method of this embodiment may also include operations S311-S314 to determine the target performance requirements of the electronic device's storage device. For the sake of brevity, the description of operations S210-S230 is omitted here, and subsequent related method embodiments will follow the same pattern and will not be described again.
[0065] This embodiment provides a method for determining the storage device frequency based on the currently running application, the operating status of the processing module, and user performance preferences. This method aims to dynamically adjust the operating frequency of the storage device according to actual needs, thereby optimizing system performance and reducing power consumption.
[0066] In operation S311, determine the currently running application.
[0067] The system first monitors and identifies currently running applications. It then analyzes these applications' performance requirements for the storage device, such as read / write speed and latency.
[0068] For example, a list of currently running applications can be obtained through the operating system or application programming interface (API). Application performance analysis libraries or tools can then be used to assess the storage performance requirements of each application.
[0069] For example, AI chips can also be used to intelligently identify the type of the current application. AI chips have powerful data processing and pattern recognition capabilities, and can accurately identify the type of the currently running application by analyzing multi-dimensional information such as the application's operating characteristics and resource usage.
[0070] In operation S312, the operating status of at least one processing module of the electronic device is determined.
[0071] Secondly, it can monitor key indicators such as the load and temperature of processing modules like the CPU and GPU, and analyze the impact of these indicators on storage device performance.
[0072] For example, system management tools or hardware monitoring software can be used to obtain the real-time status of the processing module. Based on preset thresholds and rules, the storage performance requirements of the processing module's operating status can be assessed.
[0073] In operation S313, in response to the user's operation, the user's performance selection for the storage device is determined.
[0074] Additionally, a user interface (UI) or settings options can be provided to allow users to select the performance mode of the storage device (such as high performance, energy saving, etc.). The operating frequency of the storage device is adjusted according to the user's selection.
[0075] For example, add storage performance settings options in system settings or applications. Determine the user's storage performance needs through user input or preset preferences.
[0076] In operation S314, the target performance requirement is determined based on at least one of the running application, running status, and performance selection.
[0077] Taking into account the current running applications, the operating status of processing modules, and user performance preferences, the target performance requirements of the storage device are determined. Based on these target performance requirements, a suitable operating frequency for the storage device is calculated and determined.
[0078] For example, an algorithm or strategy can be designed to translate running applications, running states, and performance choices into specific performance requirements. Based on these performance requirements, the most suitable frequency can be selected within the operating frequency range of the storage device.
[0079] Finally, based on the determined target performance requirements, adjust the operating frequency of the storage device through the hardware interface or driver. Monitor the adjusted performance to ensure that the requirements are met and the system operates stably.
[0080] For example, adjust the operating frequency of the storage device using hardware control interfaces (such as BIOS settings, driver APIs, etc.). Implement performance monitoring mechanisms to promptly identify and resolve potential performance issues.
[0081] This embodiment provides a flexible and efficient method for determining the frequency of a storage device by comprehensively considering the currently running application, the operating status of the processing module, and the user's performance preferences. This method can dynamically adjust the operating frequency of the storage device according to actual needs, thereby reducing power consumption while ensuring system performance. By providing a user interface and setting options, users can easily adjust storage performance according to their needs, improving the user experience. Furthermore, this method is scalable and customizable, adaptable to the needs of different electronic devices and application scenarios.
[0082] Figure 4 A flowchart illustrating a method for determining target performance requirements according to another embodiment of this disclosure is shown.
[0083] According to embodiments of this disclosure, such as Figure 4 As shown, for example, the target performance requirements of the storage device of the electronic device are determined by operating S4111 to S4114.
[0084] This embodiment further refines the process of determining the target performance requirements of electronic device storage devices, particularly by distinguishing between different types of running applications and their varying storage performance needs, to precisely adjust the operating frequency of the storage device. This method aims to improve the utilization of system resources while ensuring that all types of applications receive optimal storage performance support.
[0085] In operation S4111, an application list is obtained, which includes a first type of application and a second type of application. The first type of application has a first performance requirement, and the second type of application has a second performance requirement.
[0086] The system first maintains a list of applications, which details the various types of applications and their performance requirements for storage devices. The application list includes at least two types of applications, each with specific performance requirements.
[0087] The first type of application may have a primary performance requirement such as high read / write speed and low latency; while the second type of application may place more emphasis on secondary performance requirements such as storage capacity and stability.
[0088] For example, an application list can be built and maintained through system configuration, metadata collection during application installation, or user-defined settings. The application list can be stored in a system database or configuration file for later retrieval.
[0089] In operation S4112, the currently running application is matched with the application list to determine whether the currently running application is one of the first type of application or the second type of application.
[0090] The system monitors currently running applications in real time and obtains their application identifiers or names.
[0091] For example, you can use APIs or tools provided by the operating system, such as Task Manager or Process Monitor, to monitor currently running applications.
[0092] The currently running application is matched against the application list to determine whether it belongs to the first or second type of application. Based on the matching results, the target performance requirements of the currently running application on the storage device are determined.
[0093] For example, matching an application to a list of applications can be achieved through string comparison, hash value matching, or database queries. Based on the matching results, performance requirement information for the corresponding type can be retrieved from the application list.
[0094] When operating S4113, if the currently running application is a type 1 application, the target performance requirement is determined to be a requirement for first-level performance.
[0095] When operating S4114, if the currently running application is a second type of application, the target performance requirement is determined to be a requirement for second performance.
[0096] Based on the determined target performance requirements, formulate a strategy for adjusting the operating frequency of the storage device.
[0097] If the currently running application is a Type 1 application, the operating frequency of the storage device is adjusted to meet the primary performance requirements such as high read / write speed and low latency; if it is a Type 2 application, the frequency is adjusted to optimize the secondary performance requirements such as storage capacity and stability.
[0098] For example, a frequency adjustment algorithm or strategy can be designed to calculate and determine the appropriate operating frequency of the storage device based on different performance requirements. The operating frequency of the storage device can then be adjusted using hardware control interfaces (such as BIOS settings, driver APIs, etc.).
[0099] Adjust the operating frequency of the storage device according to the established frequency adjustment strategy. Monitor the performance of the adjusted storage device to ensure that application requirements are met and the system operates stably.
[0100] For example, implement performance monitoring mechanisms, such as using performance testing tools and system log analysis, to evaluate the performance of storage devices. Based on the monitoring results, adjust frequency adjustment strategies or address potential performance issues in a timely manner.
[0101] This embodiment provides a more refined method for determining storage device frequency by differentiating between different types of running applications and their varying storage performance requirements. The method first obtains a list of applications and their performance requirements, then monitors and matches currently running applications in real time, and finally formulates and implements a frequency adjustment strategy based on the matching results. This method ensures that all types of applications receive storage performance support best suited to their needs, thereby improving system resource utilization and overall performance.
[0102] Figure 5 A flowchart illustrating a method for determining target performance requirements according to yet another embodiment of this disclosure is shown.
[0103] According to embodiments of this disclosure, such as Figure 5 As shown, for example, the target performance requirements of the storage device of the electronic device are determined by operating S5121 to S5125.
[0104] This embodiment further incorporates the status information of processing modules (such as the CPU), particularly changes in the frequency and power consumption of the processing modules, to determine the target performance requirements of the electronic device's storage device. By monitoring the frequency fluctuations and power consumption levels of the processing modules within a preset time period, the storage performance requirements of the currently running applications can be determined more accurately, thereby dynamically adjusting the operating frequency of the storage device to meet the performance needs of different application scenarios.
[0105] In operation S5121, the state of the processing module corresponding to the currently running application is determined. The state of the processing module includes the processing module frequency and the processing module power consumption.
[0106] Real-time monitoring of the frequency and power consumption status of processing modules (such as the CPU) in the system. Recording frequency fluctuations and power consumption data of the processing modules within a preset time period.
[0107] For example, performance monitoring tools provided by the operating system or specialized hardware monitoring software can be used to obtain real-time frequency and power consumption data of the processing module.
[0108] When operating the S5122, determine the target performance requirements based on at least one of the following.
[0109] In operation S5123, if the fluctuation range of the processing module frequency within a preset time is greater than the first preset threshold, the target performance requirement is determined as the first performance requirement.
[0110] In operation S5124, if the processing module frequency is higher than the second preset threshold within a preset time, the target performance requirement is determined to be the second performance requirement.
[0111] When operating S5125, if the power consumption of the processing module exceeds a third preset threshold within a preset time, the target performance requirement is determined to be the second performance requirement.
[0112] Set a first preset threshold, a second preset threshold, and a third preset threshold. These thresholds are used to determine the fluctuation range of the processing module frequency, the high-frequency state, and the power consumption level, respectively.
[0113] Based on the frequency fluctuations and power consumption data of the processing module within a preset time period, the data is compared with a preset threshold to determine the performance requirements of the currently running application on the storage device.
[0114] For example, these thresholds can be preset in the system configuration, or users can be allowed to customize them according to their actual needs. Real-time data comparison and conditional judgment can be implemented through programming logic or algorithms.
[0115] Then, based on the results of the condition judgment, determine the target performance requirements of the currently running application for the storage device.
[0116] If the fluctuation range of the processing module frequency within a preset time is greater than the first preset threshold, then the target performance requirement is determined to be the requirement for the first performance (such as stability and low latency).
[0117] If the processing module frequency exceeds the second preset threshold within a preset time, or the power consumption exceeds the third preset threshold within a preset time, then the target performance requirement is determined to be the requirement for the second performance (such as high throughput and large capacity).
[0118] For example, design a logical judgment mechanism to output the corresponding performance requirement identifier based on the result of the condition judgment.
[0119] Finally, adjust the operating frequency of the storage device based on the determined target performance requirements.
[0120] If the target performance requirement is the primary performance requirement, then reduce the operating frequency of the storage device to reduce power consumption and interference; if it is the secondary performance requirement, then increase the operating frequency of the storage device to improve data transfer speed and capacity.
[0121] For example, hardware control interfaces (such as BIOS settings, driver APIs, etc.) can be used to adjust the operating frequency of the storage device. During the adjustment process, the performance curve and power consumption characteristics of the storage device should be considered to ensure that the adjusted frequency meets performance requirements while maintaining system stability.
[0122] It can also monitor the performance of the adjusted storage devices and the system's operating status. If performance is found to be unsatisfactory or the system is unstable, feedback and adjustments will be made based on the monitoring results.
[0123] For example, implement performance monitoring mechanisms, such as using performance testing tools and system log analysis, to evaluate the performance of storage devices. Adjust frequency tuning strategies or address potential performance issues promptly based on the monitoring results.
[0124] This embodiment determines the target performance requirements of the electronic device's storage device by monitoring the frequency fluctuations and power consumption levels of the processing module (such as the CPU) and combining this with preset thresholds and conditional judgment mechanisms. This method can more accurately reflect the actual storage performance requirements of the currently running application, thereby dynamically adjusting the operating frequency of the storage device to meet the performance requirements of different application scenarios.
[0125] According to embodiments of this disclosure, the first performance requirement includes the requirement for the response speed of the storage device, and the second performance requirement includes the requirement for the read / write data bandwidth of the storage device.
[0126] This embodiment refines the performance requirements of storage devices (i.e., the first performance requirement is response speed, and the second performance requirement is read / write data bandwidth), and proposes a more specific method for determining the frequency of storage devices. This method allows for more precise and dynamic adjustment of the operating frequency of the storage device based on the current application scenario's storage performance needs, thereby optimizing overall system performance.
[0127] First, identify and determine the current working scenario of the electronic device, such as video playback, game running, data backup, etc.
[0128] For example, the current work scenario can be identified through system monitoring, user input, or predefined work patterns.
[0129] Then, based on the current working scenario, analyze and determine the specific requirements for the primary performance (response speed) and secondary performance (read / write data bandwidth) of the storage device.
[0130] For example, a mapping table between different working scenarios and storage performance requirements can be preset, and the performance requirements for the current scenario can be obtained by looking up the table.
[0131] Then monitor the current operating status of the storage device in real time, including parameters such as current operating frequency, response time, and read / write bandwidth.
[0132] For example, system management tools or dedicated monitoring software can be used to obtain real-time status data of storage devices.
[0133] Then, based on the storage performance requirements obtained from the analysis and the current state of the storage device, a suitable target operating frequency range is determined.
[0134] For example, by using algorithms or table lookups, a frequency range that can both meet performance requirements and maintain system stability can be determined based on performance requirements and the performance curve of the storage device.
[0135] Finally, the operating frequency of the storage device is adjusted to a specific value within the target frequency range.
[0136] For example, the operating frequency of the storage device can be adjusted through system BIOS settings, driver interfaces, or dedicated software tools.
[0137] After adjusting the operating frequency of the storage device, it is also possible to verify whether the performance of the adjusted storage device meets the requirements, and to make necessary optimization adjustments based on the actual situation.
[0138] For example, performance testing tools can be used to test the performance of storage devices, and frequency settings or other related configurations can be adjusted or optimized based on the test results.
[0139] This embodiment proposes a method for dynamically adjusting the operating frequency of a storage device by combining the current working scenario with a detailed classification of storage device performance requirements (response speed and read / write bandwidth). This method achieves precise adjustment of the storage device's operating frequency by real-time monitoring of the storage device's status, analyzing performance requirements, and determining the target frequency range. This method can significantly improve the performance utilization of the storage device, meet the performance requirements of different application scenarios, and thus improve the overall system performance.
[0140] Figure 6 A flowchart illustrating a method for determining a target frequency scheme according to an embodiment of the present disclosure is shown.
[0141] According to embodiments of this disclosure, such as Figure 6As shown, for example, by operating S621~S626, a target frequency scheme for the memory device corresponding to the target performance is determined based on the determined target performance.
[0142] In operation S621, a target frequency scheme is selected from multiple pre-set first frequency schemes based on the first performance.
[0143] In operation S622, a target frequency scheme is selected from multiple pre-set second frequency schemes based on the second performance. The first and second frequency schemes are obtained by combining multiple target frequency values or by combining multiple target frequency bands.
[0144] In operation S623, multiple target frequency values and multiple target frequency bands are determined through the following operations.
[0145] In operation S624, the operating frequency of the storage device is divided to obtain multiple initial frequency bands.
[0146] In operation S625, a frequency value is taken from each initial frequency band and combined to obtain multiple target frequency values.
[0147] In operation S626, at least some of the initial frequency bands are combined to obtain multiple target frequency bands.
[0148] In this embodiment, the process of determining the frequency of the storage device will be further refined, especially how to independently select the optimal frequency scheme for different types of performance requirements (such as memory latency and memory bandwidth).
[0149] First, determine the type of performance requirement the storage device will be used for, i.e., whether it focuses on memory latency (such as gaming, office work, small AI models (such as models with computing power less than 11 tops)) or memory bandwidth (such as NAS (Network Attached Storage), large AI models).
[0150] Based on the specific requirements of the application scenario, set clear target performance parameters, such as the maximum acceptable latency or the minimum required bandwidth.
[0151] For memory latency-sensitive applications, multiple primary frequency schemes are pre-designed and tested. These schemes consist of different combinations of target frequency values or bands, designed to optimize the response speed of the storage device.
[0152] For applications with high memory bandwidth requirements, multiple secondary frequency solutions were also pre-designed and tested. These solutions aim to improve data transmission efficiency and meet the needs of large-scale data processing.
[0153] Based on the set memory latency target, select frequency schemes from the first frequency scheme library that can meet or exceed the target.
[0154] If multiple options are available, further evaluate the stability and energy efficiency of each option in practical applications, and select the optimal option.
[0155] Similarly, based on the set memory bandwidth target, a suitable scheme is selected from the second frequency scheme library.
[0156] Similarly, considering stability and energy efficiency ratio, the final frequency scheme to be adopted is determined.
[0157] Apply the selected frequency scheme (whether it's the target frequency value or a combination of frequency bands) to the storage device. Perform performance tests on the storage device in a real-world operating environment to verify that the selected frequency scheme achieves the expected performance goals.
[0158] Based on the test results, the frequency scheme may be fine-tuned if necessary to ensure that the storage device operates in optimal condition.
[0159] By independently designing and selecting the optimal frequency scheme for memory latency and memory bandwidth-sensitive application scenarios, this study demonstrates the flexibility and efficiency of the storage device frequency determination method. This approach not only meets the performance requirements of different application scenarios but also ensures the effectiveness and reliability of the frequency schemes through a pre-built frequency scheme library and a rigorous evaluation and selection process.
[0160] Figure 7 A flowchart illustrating a method for determining the frequency of a storage device according to an embodiment of the present disclosure is shown schematically.
[0161] According to embodiments of this disclosure, such as Figure 7 As shown, for example, by operating at least one of S731 to S738, a frequency corresponding to the target performance requirement is determined from the target frequency scheme based on the target frequency scheme and the current operating state of the electronic device.
[0162] In this embodiment, the process of determining the frequency of the storage device is further refined, especially in how to dynamically select the most suitable frequency or band when considering the current operating state of the electronic device and the target performance requirements.
[0163] Determine whether the storage device prioritizes memory latency or memory bandwidth based on its application scenario (such as gaming, office work, NAS, AI models, etc.).
[0164] Based on performance requirements, the corresponding frequency scheme is selected from either the pre-built first frequency scheme library or the second frequency scheme library.
[0165] By using sensors or system monitoring tools, various operating parameters of electronic devices can be obtained in real time, including but not limited to CPU utilization, memory usage, current latency of storage devices, and read / write time.
[0166] In operation S731, when the target frequency scheme is the first frequency scheme, the current latency of the storage device is determined.
[0167] In operation S732, based on the current delay, the frequency corresponding to the storage device is determined to be one of a plurality of first target frequency values in the first frequency scheme.
[0168] In operation S733, based on the current delay, the frequency band corresponding to the storage device is determined to be one of the multiple first target frequency bands in the first frequency scheme.
[0169] In operation S734, based on the current delay, the frequency corresponding to the storage device is adaptively determined within the first target frequency band.
[0170] For the first frequency scheme (memory latency sensitive), the current latency of the storage device is measured in real time.
[0171] According to preset rules or algorithms, the current delay is compared with multiple first target frequency values in the first frequency scheme, and the closest or best matching frequency value is selected.
[0172] Alternatively, the current latency can be compared with multiple first target frequency bands in the first frequency scheme to determine which frequency band the storage device should currently be in. Within the selected frequency band, the specific frequency is adaptively adjusted based on subtle changes in the current latency to achieve optimal performance.
[0173] When operating S735, if the target frequency scheme is the second frequency scheme, determine the current read / write time of the storage device.
[0174] In operation S736, based on the current read / write time, the frequency corresponding to the storage device is determined to be one of the multiple second target frequency values in the second frequency scheme.
[0175] During operation S737, based on the current read / write time, the frequency band corresponding to the storage device is determined to be one of the multiple second target frequency bands in the second frequency scheme.
[0176] During operation of S738, the frequency corresponding to the storage device is adaptively determined within the second target frequency band based on the current read / write time.
[0177] For the second frequency scheme (memory bandwidth requirements), the current read / write time of the storage device is measured in real time.
[0178] Similarly, based on the current read / write time, the optimal second target frequency value is selected from multiple second frequency schemes.
[0179] Alternatively, determine the frequency band corresponding to the current read / write latency, i.e., which second target frequency band the storage device should be in. Within the selected frequency band, adaptively adjust the frequency based on the dynamic changes in read / write latency to optimize data transmission efficiency.
[0180] Configure the selected frequency or band on the storage device. Verify the storage device's performance in practical applications to ensure it meets requirements, including latency, bandwidth, and stability. Based on the verification results, adjust and optimize the frequency selection logic or frequency scheme if necessary.
[0181] In addition, regardless of whether it is the first frequency scheme or the second frequency scheme, when the current state of the electronic device changes, causing the originally determined frequency to no longer match the current performance requirements, a more flexible and feedback-based frequency adjustment strategy can be adopted.
[0182] For example, continue to monitor various operating parameters of electronic devices in real time through sensors or system monitoring tools, including but not limited to CPU utilization, memory usage, current latency of storage devices, read / write time, and system power consumption.
[0183] The current state is compared with the previous stable state to identify any significant changes, such as increased latency, longer read / write times, or abnormal power consumption.
[0184] Based on the specific circumstances of the state change and the target performance requirements, a preliminary judgment is made as to whether the frequency needs to be increased (to improve performance) or decreased (to reduce power consumption or improve stability). Based on the above judgment, the frequency of the storage device is directly adjusted up or down by one level. This frequency adjustment range can be a preset fixed value (such as an adjacent target frequency value or target frequency band), or it can be dynamically calculated based on the current state and performance requirements.
[0185] Immediately after frequency adjustment, monitor the power consumption of the storage device and related components (such as CPU and memory). Simultaneously, verify that the adjusted storage device performance meets requirements, including latency, bandwidth, and stability. Compare the monitored power consumption and performance data with the expected targets to evaluate the effectiveness of the frequency adjustment.
[0186] If the adjustment does not achieve the expected results (such as excessive power consumption with little performance improvement, or improved performance but decreased stability), the frequency will be adjusted again based on the feedback results. This may involve further increasing or decreasing the frequency, or selecting a frequency within a different frequency band.
[0187] If the adjustment is effective, achieving the expected balance between performance and power consumption, then keep the current frequency setting unchanged.
[0188] The above adjustment and optimization process can be an iterative process, continuously fine-tuning the frequency settings according to actual needs and changes in system status to achieve the best balance between performance and power consumption.
[0189] By combining the current operating status of the electronic device with target performance requirements, dynamic selection and adaptive adjustment of the storage device frequency are achieved. This method not only improves the performance adaptability of the storage device but also ensures that the storage device always operates in an optimal state through real-time monitoring and feedback mechanisms. Furthermore, precise frequency value selection, frequency band allocation, and adaptive adjustment strategies further enhance the performance stability and efficiency of the storage device.
[0190] Figure 8A A flowchart illustrating a method for adjusting the performance of a storage device to be linearly related to its frequency, according to an embodiment of the present disclosure, is shown. Figure 8B The diagram illustrates the relationship between memory latency and memory frequency under relevant scenarios.
[0191] According to embodiments of this disclosure, such as Figure 8A As shown, for example, by operating S821~S823, the performance of the storage device is adjusted to be linearly related to the frequency when the target performance is the first performance.
[0192] like Figure 8B As shown, in some cases, memory latency and memory frequency are not linearly related. There are multiple frequencies corresponding to the same latency. For example, with the same latency G2, the memory frequency can be in the first frequency range and the second frequency range respectively; with the same latency G4, the memory frequency can be in the first frequency range, the second frequency range and the third frequency range respectively. This will affect the latency performance when the frequency is increased.
[0193] In this embodiment, the method of adjusting the operating frequency of the storage device is further refined and optimized to ensure a more ideal linear relationship between its performance and frequency.
[0194] In operation S821, one or more first frequency division points are determined, and the response speed of the memory device corresponding to the first frequency division point is greater than the response speed of the memory device corresponding to the frequency in a local range centered on the corresponding frequency division point.
[0195] First, a more detailed scan of the frequency range under the target performance (i.e., primary performance) is performed. By fine-tuning the frequency values, more data points about the memory device's response speed are collected.
[0196] Based on refined data points, the critical points corresponding to the primary performance and showing a significant improvement in response speed are precisely identified, namely the first frequency segmentation points. The response speed of the memory device at these points is significantly higher than that at other points within its local frequency range.
[0197] In operation S822, a second frequency division point is determined that has the same response speed as the memory device corresponding to the first frequency division point, and the frequency corresponding to the second frequency division point is higher than the frequency corresponding to the first frequency division point.
[0198] Within a frequency range higher than the first frequency division point, a search process is initiated to find a second frequency division point with a response speed equal to that of the memory device at the first frequency division point. This step requires precise matching of performance parameters to ensure that there is no significant difference in response speed between the two.
[0199] Multiple verification tests were conducted on the identified potential second frequency split point to ensure that it could maintain the same response speed as the first frequency split point under different conditions.
[0200] In operation S823, the frequency band between the first frequency division point and the second frequency division point is excluded from the target frequency scheme.
[0201] The frequency band range between the first and second frequency division points is clearly defined. The frequencies within this band are considered non-optimal regions because they do not exhibit an ideal linear relationship.
[0202] In the final target frequency scheme, this nonlinear frequency band was explicitly excluded to ensure that the performance of the storage device can maintain a better linear relationship with the frequency when it operates in the remaining frequency band.
[0203] Based on the optimized frequency scheme, adjust the frequency controller settings of the storage device to ensure that the storage device can automatically or manually switch to the optimal operating frequency range during operation. Implement a continuous performance monitoring mechanism to periodically check and adjust the frequency scheme to accommodate performance drift that may occur due to changes in storage device performance over time and usage conditions.
[0204] By refining frequency scanning, accurately identifying and matching frequency segmentation points, eliminating nonlinear frequency bands, and implementing optimized frequency schemes, the linear relationship between storage device performance and frequency is further improved. This approach not only helps improve the overall performance stability of the storage device but also effectively extends its lifespan and reduces performance degradation and potential failure risks caused by operating at suboptimal frequencies.
[0205] Based on the above method, this disclosure also provides a frequency determination apparatus for a storage device. The following will be combined with... Figure 9 The frequency determination device for the storage device is described in detail.
[0206] Figure 9 A schematic block diagram of a frequency determination device for a storage device according to an embodiment of the present disclosure is shown.
[0207] like Figure 9 As shown, the frequency determination device 900 of the storage device in this embodiment includes, for example, a first determination module 910, a second determination module 920, and a third determination module 930. This device 900 can perform the functions described above. Figures 2-8B The described method enables adaptive adjustment of the storage device frequency.
[0208] Specifically, the first determining module 910 is used to determine the target performance requirements of the storage device of the electronic device. The performance of the storage device includes a first performance and a second performance, and the target performance includes at least one of the first performance and the second performance. In one embodiment, the first determining module 910 may be used to perform the operation S210 described above, which will not be repeated here.
[0209] The second determining module 920 is used to determine a target frequency scheme for the storage device corresponding to the determined target performance. The target frequency scheme includes a first frequency scheme corresponding to the first performance and a second frequency scheme corresponding to the second performance. The first performance and the frequency of the first frequency scheme have a linear correlation, and the second performance and the frequency of the second frequency scheme have a linear correlation. In one embodiment, the second determining module 920 can be used to perform the operation S220 described above, which will not be repeated here.
[0210] The third determining module 930 is used to determine the frequency corresponding to the target performance requirements from the target frequency scheme based on the target frequency scheme and the current operating state of the electronic device. In one embodiment, the third determining module 930 can be used to perform the operation S230 described above, which will not be repeated here.
[0211] It is understood that the first determining module 910, the second determining module 920, and the third determining module 930 can be implemented in a single module, or any one of these modules can be split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules can be combined with at least part of the functionality of other modules and implemented in a single module. According to embodiments of this disclosure, at least one of the first determining module 910, the second determining module 920, and the third determining module 930 can be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or can be implemented in hardware or firmware in any other reasonable manner of integrating or packaging circuitry, or in a suitable combination of software, hardware, and firmware implementations. Alternatively, at least one of the first determining module 910, the second determining module 920, and the third determining module 930 can be at least partially implemented as a computer program module, which, when run by a computer, can execute the functions of the corresponding module.
[0212] Figure 10 A block diagram schematically illustrates an electronic device suitable for implementing a frequency determination method for a storage device according to an embodiment of the present disclosure.
[0213] like Figure 10 As shown, an electronic device 1000 according to an embodiment of the present disclosure includes a processor 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage portion 1008 into a random access memory (RAM) 1003. The processor 1001 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 1001 may also include onboard memory for caching purposes. The processor 1001 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0214] RAM 1003 stores various programs and data required for the operation of electronic device 1000. Processor 1001, ROM 1002, and RAM 1003 are interconnected via bus 1004. Processor 1001 performs various operations of the method flow according to embodiments of the present disclosure by executing programs in ROM 1002 and / or RAM 1003. It should be noted that the programs may also be stored in one or more memories other than ROM 1002 and RAM 1003. Processor 1001 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in said one or more memories.
[0215] According to embodiments of this disclosure, the electronic device 1000 may further include an input / output (I / O) interface 1005, which is also connected to a bus 1004. The electronic device 1000 may also include one or more of the following components connected to the I / O interface 1005: an input section 1006 including a keyboard, mouse, etc.; an output section 1007 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a LAN card, modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to the I / O interface 1005 as needed. A removable medium 1011, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 1010 as needed so that computer programs read from it can be installed into the storage section 1008 as needed.
[0216] This disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs that, when executed, implement the method according to the embodiments of this disclosure.
[0217] According to embodiments of this disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, such as including, but not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this disclosure, the computer-readable storage medium may include ROM 1002 and / or RAM 1003 and / or one or more memories other than ROM 1002 and RAM 1003 described above.
[0218] Embodiments of this disclosure also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code is used to cause the computer system to implement the methods provided in the embodiments of this disclosure.
[0219] When the computer program is executed by the processor 1001, it performs the functions defined in the system / apparatus of this disclosure embodiments. According to embodiments of this disclosure, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0220] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and may be downloaded and installed via the communication section 1009, and / or installed from a removable medium 1011. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0221] In such an embodiment, the computer program can be downloaded and installed from a network via communication section 1009, and / or installed from removable medium 1011. When the computer program is executed by processor 1001, it performs the functions defined in the system of this disclosure embodiment. According to embodiments of this disclosure, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0222] According to embodiments of this disclosure, program code for executing the computer programs provided in embodiments of this disclosure can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C", or similar programming languages. The program code can execute entirely on a user's computing device, partially on a user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0223] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0224] Those skilled in the art will understand that the features described in the various embodiments and / or claims of this disclosure can be combined or combined in various ways, even if such combinations or combinations are not explicitly described in this disclosure. In particular, the features described in the various embodiments and / or claims of this disclosure can be combined or combined in various ways without departing from the spirit and teachings of this disclosure. All such combinations and / or combinations fall within the scope of this disclosure.
[0225] The embodiments of this disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of this disclosure. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. The scope of this disclosure is defined by the appended claims and their equivalents. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of this disclosure, and all such substitutions and modifications should fall within the scope of this disclosure.
Claims
1. A method for determining the frequency of a storage device, comprising: Determine the target performance requirements for the storage device of an electronic device, wherein the performance of the storage device includes a first performance and a second performance, and the target performance includes at least one of the first performance and the second performance; Based on the determined target performance, a target frequency scheme for the storage device corresponding to the target performance is determined. The target frequency scheme includes a first frequency scheme corresponding to the first performance and a second frequency scheme corresponding to the second performance. The first performance has a linear correlation with the frequency of the first frequency scheme, and the second performance has a linear correlation with the frequency of the second frequency scheme. Based on the target frequency scheme and the current operating state of the electronic device, determine the frequency corresponding to the target performance requirements from the target frequency scheme.
2. The method according to claim 1, wherein, Determining the target performance requirements for the storage device of the electronic device includes: Determine the currently running application; Determine the operating status of at least one processing module of the electronic device; In response to user actions, determine the user's performance selection for the storage device; The target performance requirement is determined based on at least one of the running application, the running status, and the performance selection.
3. The method according to claim 2, wherein, Determining the target performance requirements for the storage device of the electronic device includes: Obtain an application list, which includes a first type of application and a second type of application, wherein the first type of application has a requirement for the first performance and the second type of application has a requirement for the second performance; The currently running application is matched with the application list to determine whether the currently running application is one of the first type of application or the second type of application; If the currently running application is the first type of application, the target performance requirement is determined to be the requirement for the first performance. If the currently running application is the second type of application, the target performance requirement is determined to be the requirement for the second performance.
4. The method according to claim 2, wherein, Determining the target performance requirements for the storage device of the electronic device includes: Determine the state of the processing module corresponding to the currently running application, the state of the processing module including the processing module frequency and the processing module power consumption; The target performance requirement is determined based on at least one of the following: If the fluctuation range of the processing module frequency within a preset time is greater than a first preset threshold, the target performance requirement is determined to be the requirement for the first performance. If the frequency of the processing module is higher than the second preset threshold within the preset time, the target performance requirement is determined to be the requirement for the second performance. If the power consumption of the processing module exceeds a third preset threshold within the preset time, the target performance requirement is determined to be the requirement for the second performance.
5. The method according to claim 1, wherein, The first performance requirement includes the response speed requirement of the storage device, and the second performance requirement includes the read / write bandwidth requirement of the storage device.
6. The method according to claim 1, wherein, The step of determining a target frequency scheme for the storage device corresponding to the determined target performance includes: Based on the first performance, the target frequency scheme is selected from a plurality of pre-set first frequency schemes; Based on the second performance, the target frequency scheme is selected from a plurality of pre-set second frequency schemes; The first frequency scheme and the second frequency scheme are obtained by combining multiple target frequency values or by combining multiple target frequency bands; The plurality of target frequency values and the plurality of target frequency bands are determined by the following operations: The operating frequency of the storage device is divided to obtain multiple initial frequency bands; Each frequency value is taken from each of the initial frequency bands and combined to obtain the plurality of target frequency values; At least some of the initial frequency bands are combined to obtain the multiple target frequency bands.
7. The method according to claim 6, wherein, The step of determining the frequency corresponding to the target performance requirement from the target frequency scheme based on the target frequency scheme and the current operating state of the electronic device includes at least one of the following: If the target frequency scheme is the first frequency scheme, determine the current latency of the storage device; Based on the current delay, the frequency corresponding to the storage device is determined to be one of a plurality of first target frequency values in the first frequency scheme; Based on the current delay, the frequency band corresponding to the storage device is determined to be one of the multiple first target frequency bands in the first frequency scheme; Based on the current delay, an adaptive frequency corresponding to the storage device is determined within the first target frequency band; When the target frequency scheme is the second frequency scheme, determine the current read / write time of the storage device; Based on the current read / write time, the frequency corresponding to the storage device is determined to be one of the multiple second target frequency values in the second frequency scheme; Based on the current read / write time, the frequency band corresponding to the storage device is determined to be one of the multiple second target frequency bands in the second frequency scheme; Based on the current read / write time, the frequency corresponding to the storage device is adaptively determined within the second target frequency band.
8. The method according to claim 5, wherein, When the target performance is the first performance, the method further includes: One or more first frequency division points are determined, and the response speed of the memory device corresponding to the first frequency division point is greater than the response speed of the memory device corresponding to the frequency in a local range centered on the corresponding frequency division point. A second frequency segmentation point is determined that has the same response speed as the storage device corresponding to the first frequency segmentation point, wherein the frequency corresponding to the second frequency segmentation point is higher than the frequency corresponding to the first frequency segmentation point. The frequency band between the first frequency segmentation point and the second frequency segmentation point is excluded from the target frequency scheme.
9. A frequency determination device for a storage device, comprising: A first determining module is configured to determine the target performance requirements for the storage device of an electronic device, wherein the performance of the storage device includes a first performance and a second performance, and the target performance includes at least one of the first performance and the second performance. The second determining module is used to determine a target frequency scheme for a storage device corresponding to the determined target performance based on the determined target performance. The target frequency scheme includes a first frequency scheme corresponding to the first performance and a second frequency scheme corresponding to the second performance. The first performance has a linear correlation with the frequency of the first frequency scheme, and the second performance has a linear correlation with the frequency of the second frequency scheme. The third determining module is used to determine, based on the target frequency scheme and the current operating state of the electronic device, a frequency corresponding to the target performance requirement from the target frequency scheme.
10. An electronic device, comprising: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors perform the frequency determination method for the storage device according to any one of claims 1 to 8.
Citation Information
Patent Citations
Adaptive memory system
CN114373488A
Memory power consumption optimization method and server
CN117539340A