CN117666936A - Migration bandwidth adjustment method, device and system of storage medium and chip - Google Patents

Migration bandwidth adjustment method, device and system of storage medium and chip Download PDF

Info

Publication number
CN117666936A
CN117666936A CN202211066383.3A CN202211066383A CN117666936A CN 117666936 A CN117666936 A CN 117666936A CN 202211066383 A CN202211066383 A CN 202211066383A CN 117666936 A CN117666936 A CN 117666936A
Authority
CN
China
Prior art keywords
storage medium
migration
bandwidth
access
delay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211066383.3A
Other languages
Chinese (zh)
Inventor
熊鹰
杨瑞
黄磊
杨春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211066383.3A priority Critical patent/CN117666936A/en
Priority to PCT/CN2023/103715 priority patent/WO2024045846A1/en
Publication of CN117666936A publication Critical patent/CN117666936A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Abstract

A migration bandwidth adjusting method, device, system and chip of storage medium relate to the technical field of storage. According to the method, access time delay of the application program for accessing the storage medium is acquired, time delay change information is acquired according to the acquired access time delay, and then migration bandwidth of the storage medium is adjusted according to the change rule of the application access time delay of the storage medium indicated by the time delay change information, so that the storage medium performs data migration through the adjusted migration bandwidth, the influence of the fixed migration bandwidth on the bandwidth adopted by the application program for accessing the storage medium is reduced, and the efficiency of the application program for accessing the storage medium is further improved.

Description

Migration bandwidth adjustment method, device and system of storage medium and chip
Technical Field
The present invention relates to the field of storage technologies, and in particular, to a method, an apparatus, a system, and a chip for adjusting migration bandwidth of a storage medium.
Background
With the rapid development of computer software and hardware technology, higher requirements are put forward on large-scale memory computation, and the requirements of high-performance memory access and low power consumption of a computer system can be realized by adopting a hybrid memory architecture of a dynamic random access memory (dynamic random access memory, DRAM)/nonvolatile memory (NVM).
Currently, electronic devices store data in the DRAM with an access frequency greater than a frequency threshold (i.e., cold data) in the NVM and store data in the NVM with an access frequency greater than or equal to the frequency threshold (i.e., hot data) in the DRAM through data migration so that subsequent electronic devices can access the hot data in the DRAM.
However, for any storage medium in DRAM or NVM, the electronic device employs a fixed migration bandwidth to perform data migration on the storage medium, and during the data migration, the application program may also access the storage medium. Because the bandwidth provided by the storage medium is limited, the fixed migration bandwidth affects the bandwidth occupied by the application accessing the storage medium, thereby affecting the efficiency of the application accessing the storage medium, and therefore, a method for adjusting the migration bandwidth of the storage medium is needed.
Disclosure of Invention
The application provides a method, a device, a system and a chip for adjusting migration bandwidth of a storage medium, and the efficiency of an application program accessing the storage medium is improved by adjusting the migration bandwidth of the storage medium.
In a first aspect, a method for adjusting migration bandwidth of a storage medium is provided, where the method is applied to a hybrid memory system, and the method includes the following steps: firstly, access time delay of an application program for accessing a first storage medium in a hybrid memory system is acquired, then time delay change information of the first storage medium is determined according to the acquired access time delay, and finally, the migration bandwidth of the first storage medium is adjusted according to the change rule of the application access time delay of the first storage medium indicated by the time delay change information, wherein the first storage medium is one storage medium in the hybrid memory system, the application access time delay is the time occupied when the first storage medium is accessed by the application program, and the migration bandwidth indicates the bandwidth adopted when data migration is carried out on the first storage medium.
According to the method, access time delay of the application program for accessing the storage medium is acquired, time delay change information is acquired according to the acquired access time delay, and then the migration bandwidth of the storage medium is adjusted according to the change rule of the application access time delay of the storage medium indicated by the time delay change information, so that the storage medium performs data migration through the adjusted migration bandwidth, the influence of the fixed migration bandwidth on the bandwidth adopted by the application program for accessing the storage medium is reduced, and the efficiency of the application program for accessing the storage medium is further improved.
In one possible implementation manner, the application program corresponds to at least one first delay threshold, the first delay threshold is smaller than the maximum access delay allowed by the application program, and the first delay threshold corresponds to a first bandwidth adjustment parameter, on the basis, the process of adjusting the migration bandwidth of the first storage medium according to the change rule may be: if the change rule is that the application access time delay increases gradually and the acquired access time delay is greater than or equal to a first time delay threshold value, reducing the migration bandwidth of the first storage medium according to a first bandwidth adjustment parameter corresponding to the first time delay threshold value.
Based on the possible implementation manner, in the case that the data migration of the first storage medium and the access of the application program to the first storage medium are performed simultaneously, the incremental increase of the application access time delay may be caused by the migration bandwidth, so if the change rule is the incremental increase of the application access time delay, the migration bandwidth of the first storage medium is reduced, and accordingly, the access bandwidth of the application program to the first storage medium is increased, so that the influence of the migration bandwidth on the application access time delay is reduced, the access time delay of the application program is reduced, and the efficiency of the application program to the first storage medium is improved.
In another possible implementation manner, the application program corresponds to at least one second delay threshold, the second delay threshold is smaller than the maximum access delay allowed by the application program, the second delay threshold corresponds to a second bandwidth adjustment parameter, and on the basis, the process of adjusting the migration bandwidth of the first storage medium according to the change rule may be: if the change rule is that the application access time delay is decreased, and the acquired access time delay is smaller than or equal to a second time delay threshold, increasing the migration bandwidth of the first storage medium according to a second bandwidth adjustment parameter corresponding to the second time delay threshold.
Based on the possible implementation manner, under the condition that the data migration of the first storage medium and the access of the application program to the first storage medium are performed simultaneously, the application access time delay is reduced, which means that the access time delay of the application program is reduced at the moment, therefore, if the change rule indicates that the application access time delay is reduced, the migration bandwidth of the first storage medium is increased, and the efficiency of the data migration of the first storage medium can be improved under the condition that the application program is ensured to access the first storage medium with small access time delay.
In another possible implementation manner, in a case where the first storage medium supports access of the plurality of applications, for any one of the first latency threshold or the second latency threshold, the any one latency threshold is smaller than a minimum latency of respective maximum access latencies allowed by the plurality of applications; or if a target application program for providing the target service exists in the plurality of application programs, any time delay threshold value is smaller than the maximum access time delay allowed by the target application program.
Based on the possible implementation manner, when any delay threshold is smaller than the minimum delay in the maximum access delays allowed by the application programs, the migration bandwidth of the first storage medium is adjusted according to any delay, so that the application access delay of the first storage medium is prevented from reaching the minimum delay, the requirement of the application programs on the access delay is met, and the application program is prevented from collapsing. And under the condition that any time delay threshold is smaller than the maximum access time delay allowed by the target application program, adjusting the migration bandwidth of the first storage medium according to the any time delay, so that the application access time delay of the first storage medium can meet the requirement of the target service.
In another possible implementation, before the access delay of the application program to the first storage medium is obtained, the method further comprises the steps of: and if the application program meets the migration bandwidth adjustment condition, executing the step of acquiring the access time delay of the application program for accessing the first storage medium.
Based on the possible implementation manner, the access time delay of the application program is obtained only when the application program meets the migration bandwidth adjustment condition, and then the migration bandwidth of the first storage medium is adjusted through the access time delay of the application program, so that the workload is reduced, and the consumption of computing resources is reduced.
In another possible implementation, the application meeting the migration bandwidth adjustment condition includes at least one of: receiving a migration bandwidth adjustment request of the terminal, wherein the migration bandwidth adjustment request indicates to adjust the migration bandwidth according to the access time delay of the application program; the application program is provided with a target service; the migration process of the first storage medium accessed by the application program is already running, and the migration process is used for carrying out data migration on the first storage medium; the application program is provided with a target service; the migration process of the first storage medium accessed by the application program is already running, and the migration process is used for carrying out data migration on the first storage medium.
Based on the possible implementation manner, when the application program meets the migration bandwidth adjustment condition, the access time delay of the application program is acquired only when the migration bandwidth adjustment request of the terminal is received or the application program is provided with the target service, and then the migration bandwidth of the first storage medium is adjusted through the access time delay of the application program, so that the influence of the migration bandwidth on the access time delay of the application program is reduced, the efficiency of the application program for accessing the first storage medium is further improved, and the requirement of the terminal or the target service on the access time delay of the application program can be guaranteed. The migration process can be a migration read process or a migration write process, and under the condition that the application program meets the migration bandwidth adjustment conditions including that the migration process of the first storage medium accessed by the application program is already running, unified management of the migration read bandwidth and the migration write bandwidth of the first storage medium is realized, the management mode is simple, a set of management mechanism is not required to be designed for respectively managing the migration read bandwidth and the migration write bandwidth of the first storage medium, and asymmetric management of the migration read bandwidth and the migration write bandwidth of the same storage medium is avoided.
In another possible implementation, the access latency includes at least one of a read latency and a write latency, the read latency being a latency of an application reading data from the first storage medium and the write latency being a latency of the application writing data to the first storage medium.
In another possible implementation, the process of obtaining the access delay of the application program to access the first storage medium may be: if the read-write proportion of the application program to the first storage medium is greater than or equal to the target proportion, acquiring the read delay of the application program; and if the write-read ratio of the application program to the first storage medium is greater than or equal to the target ratio, acquiring the write delay of the application program.
Based on the possible implementation manner, according to the read-write proportion of the application program to the first storage medium, the read time delay or the write implementation of the application program is selected, and the two access time delays of the write time delay and the read time delay of the application program are not required to be acquired, so that the workload is reduced.
In another possible implementation, the migration bandwidth is a migration read bandwidth or a migration write bandwidth, where the migration read bandwidth is a bandwidth used when reading data from the first storage medium during data migration, and the migration write bandwidth is a bandwidth used when writing data from the second storage medium to the first storage medium during data migration.
In another possible implementation, if the first storage medium and the second storage medium are located on the same computing device, the first storage medium and the second storage medium are different in kind; if the first storage medium and the second storage medium are located on different computing devices, the types of the first storage medium and the second storage medium may be different or the same.
In a second aspect, there is provided a migration bandwidth adjustment apparatus for a storage medium, the apparatus including respective modules for performing the migration bandwidth adjustment method of the first aspect or any one of the possible implementations of the first aspect.
In a third aspect, a hybrid memory system is provided, the hybrid memory system comprising a controller for performing the migration bandwidth adjustment method of the first aspect or any one of the possible implementations of the first aspect.
In a fourth aspect, a chip is provided, where the chip is applied to a hybrid memory system, and the chip is configured to perform the migration bandwidth adjustment method in the first aspect or any one of possible implementation manners of the first aspect.
In a fifth aspect, a computer readable storage medium is provided, where at least one program code is stored, where the program code is read by a controller of a hybrid memory system, so that a computing device where the controller is located performs operations as performed by the migration bandwidth adjustment method of the storage medium.
In a sixth aspect, a computer program product or computer program is provided, the computer program product or computer program comprising a program code stored in a computer readable storage medium, the program code being read from the computer readable storage medium by a controller of a hybrid memory system, the program code being executed by the controller to cause a computing device in which the controller is located to perform the method provided in the first aspect or in the various possible implementations of the first aspect.
Further combinations of the present application may be made to provide further implementations based on the implementations provided in the above aspects.
Drawings
FIG. 1 is a schematic diagram of a hybrid memory system 100 according to the present application;
FIG. 2 is a schematic diagram of a computing device 200 employing a hybrid memory system 100 provided herein;
FIG. 3 is a schematic diagram of a computing device cluster 300 employing a hybrid memory system 100 provided herein;
FIG. 4 is a flowchart of a method for adjusting migration bandwidth of a storage medium provided in the present application;
FIG. 5 is a flow chart of a method for adjusting a migration bandwidth based on a condition for adjusting a migration bandwidth provided in the present application;
FIG. 6 is a flowchart of a migration bandwidth adjustment method based on average access latency of an application program;
FIG. 7 is a flow chart of a migration bandwidth adjustment in a hybrid memory system provided in the present application;
fig. 8 is a schematic structural diagram of a migration bandwidth adjustment apparatus 800 for a storage medium provided in the present application;
fig. 9 is a schematic structural diagram of a chip 900 provided in the present application.
Detailed Description
In order to adjust the migration bandwidth of a storage medium, the application provides a migration bandwidth adjusting method, which adjusts the migration bandwidth of the storage medium according to the change rule of the application access time delay of the storage medium in a hybrid memory system. Embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Fig. 1 is a schematic system architecture diagram of a hybrid memory system 100 provided in the present application, referring to fig. 1, the hybrid memory system 100 includes at least one processor (central processing unit, CPU) 11 and at least two storage media 12. In fig. 1, a hybrid memory system 100 is shown that includes two storage media 12, a DRAM and an NVM, such as a phase change memory (phase change memory, PCM), a magnetic random access memory (magnetic random access memory, MRAM), and the like. In other embodiments, the hybrid memory system 100 may also include other types of storage media besides NVM or DRAM, such as double data Rate SDRAM (DDR), static random-access memory (SRAM), and high-speed bandwidth memory (high bandwidth memory, HBM), etc., where the number of CPUs 11, the number of storage media 12, and the type of the hybrid memory system 100 are not limited.
The storage medium 12 provides a storage space for storing data, and the storage medium 12 may be a memory of the CPU11 or may be an external memory (such as a local disk) of the CPU 11.
The storage medium 12 supports access by the CPU11 in the hybrid memory system 100. For example, during the execution of an application program by a certain CPU11, the CPU11 accesses a storage space in any one of the storage media 12 (i.e., the storage medium is accessed by the application program) according to the application program being executed, to read data in the storage space or write data into the storage space.
The hybrid memory system 100 further includes a controller 13, where the controller 13 is configured to access data in the storage media 12, and implement a data migration function through data interaction between any two storage media 12, where data exchange refers to data in one storage media 12 being storable to another storage media 12, and data in another storage media 12 being storable to such storage media 12.
In addition, the controller 13 is further configured to adjust a migration bandwidth of the storage medium 12, where the migration bandwidth indicates a bandwidth used when performing data migration on the storage medium 12 accessed by the application program. For example, for any one of the storage media 12, the controller 13 adjusts the migration bandwidth of the storage media 12 accessed by the application program according to the access delay of the application program to access the storage media 12.
As shown in fig. 1, the controller 13 includes a monitor (monitor) 131, an adapter (adapter) 132, and a migration engine (migration engine) 133. Wherein the monitor 131 is configured to monitor access latency of the application 121 to the storage medium 12. For example, a certain CPU11 sends an access request to a certain storage medium 12 according to an operating application program to access a storage space of the storage medium 12, after which the storage medium 12 returns an access response to the CPU11 according to the received access request, and the monitor 131 obtains an access delay of the application program for accessing the storage medium 12 at this time according to the time when the CPU11 sends the access request and the time when the access response is received.
Among them, the access request sent by the CPU11 is also called a host request (host request), and the access response received by the CPU11 is also called a host response (host response). The access request is a data read request or a data write request, and the access response is a data read response or a data write response. When the access request is a data read request, the access response of the access request is a data read response, and when the access request is a data write request, the access response of the access request is a data write response. The data read request indicates data read from the storage medium and the data read response indicates data read from the storage medium. The data write request indicates writing data to the storage medium and the data write response indicates whether writing data to the storage medium was successful.
The adapter 132 is configured to obtain an access delay or an average access delay of the application from the monitor 131, and adjust a migration bandwidth of the storage medium 12 accessed by the application according to the obtained access delay or average access delay.
The migration engine 133 is configured to perform data migration on the storage medium 12 according to the adjusted migration bandwidth during data migration on the storage medium 12. Wherein the migration engine 133 processes in migrating data in one storage medium 12 (referred to as a source storage medium) to another storage medium 12 (referred to as a destination storage medium) include a migration read process in which the migration engine 133 sends a migration read request to the source storage medium, wherein the migration read request indicates that data to be migrated is read from the source storage medium, and a migration write process. The source storage medium then returns a migration read response to the migration engine 133 according to the migration read request, where the migration read response carries the data to be migrated read from the source storage medium. After receiving the migration read response, the migration engine 133 enters a migration writing process, and sends a migration writing request to the destination storage medium according to the migration read response, wherein the migration writing request indicates writing data to be migrated to the destination storage medium. And then, the destination storage medium writes the data to be migrated carried by the migration write request into the destination storage medium, and returns a migration write response to the migration engine 133, wherein the migration write response indicates whether the writing of the data to be migrated into the destination storage medium is successful or indicates whether the data migration is completed. For ease of description, both the migration read request and the migration write request are referred to herein as migration requests, the migration read response being the migration response of the migration read request, and the migration write response being the migration response of the migration write request.
It should be appreciated that the migration read request and the migration write request are subdivisions of the data migration process, and that in implementations, the system may use one migration request, which triggers the migration read request and the migration write request, respectively.
In addition, monitor 131 and migration engine 133 are optional components in controller 13, and in other embodiments, monitor 131 and migration engine 133 are not located in controller 13, but are located at a location outside of controller 13. For example, monitor 131 and migration engine 133 are located within hybrid memory system 100 and outside of controller 13, or outside of hybrid memory system 100.
Hybrid memory system 100 also includes a scheduler 14, scheduler 14 for scheduling access requests by CPU11 and migration requests by migration engine 133 (migration request). Wherein the migration request indicates that data in one storage medium 12 is to be migrated to another storage medium 12. For example, the access request of the CPU11 and the migration request of the migration engine 133 are both sent to the director 13, and the scheduler 14 schedules the received access request and migration request in accordance with the first-in first-out (first input first output, FIFO) principle in the case where the data to be migrated indicated by the migration request is located in the memory space accessed by the access request. Taking the example that the scheduler 14 receives the access request first and then receives the migration request, the scheduler 14 sends the access request to the storage medium 12 first, then sends the access response returned by the storage medium 12 to the CPU11, then the scheduler 14 sends the migration request to the storage medium 12, then the scheduler 14 receives the migration response returned by the storage medium 12 according to the migration request (migration response), and the scheduler 14 sends the migration response to the migration engine 133.
At least one CPU11 and scheduler 14 are optional components in hybrid memory system 100. In some embodiments, at least one CPU11 and scheduler 14 are not included in hybrid memory system 100, but rather are included in the device in which hybrid memory system 100 resides and are independent of hybrid memory system 100.
Hybrid memory system 100 may be deployed on a single computing device or on a cluster of computing devices, and both of these deployment approaches for hybrid memory system 100 are described in detail below in conjunction with fig. 2 and 3, respectively.
Fig. 2 is a schematic diagram of a computing device 200 applying a hybrid memory system 100 provided herein, and referring to fig. 2, the computing device 200 includes the hybrid memory system 100, where the computing device 200 is a server or a terminal device, and the server is, for example, a cloud server, a central server, an edge server, a remote server in a remote data center, or a local server in a local data center, etc. Terminal devices such as desktop, notebook or smart phones, etc.
In the case where hybrid memory system 100 is deployed on computing device 200, at least two storage mediums 12 in hybrid memory system 100 respectively belong to different categories. It is understood that the hybrid memory system 100 includes at least two storage mediums 12, and the at least two storage mediums 12 are local storage nodes of the CPU11 in the hybrid memory system 100. The performance of the different kinds of storage media 12 may be different, by performing data migration between the different kinds of storage media, to ensure the access efficiency of the CPU at the local storage node.
It will be appreciated that fig. 1 and fig. 2 are different in that fig. 1 illustrates a system architecture of a hybrid memory system, and fig. 2 illustrates an application scenario of the system architecture illustrated in fig. 1. In addition, the storage medium 12 in the hybrid memory system shown in fig. 1 may have the same kind, and the kind of storage medium in the hybrid memory system in the application scenario shown in fig. 2 is different.
Fig. 3 is a schematic diagram of a computing device cluster 300 using a hybrid memory system 100 provided in the present application, referring to fig. 3, the computing device cluster 300 includes a plurality of computing devices 301 and at least one hybrid memory system 100 (such as 100a, 100b and 100c in fig. 3), where the plurality of computing devices 301 are connected by a wireless or wired manner. The cluster of computing devices 300 is a data center, or a cloud computing center for providing cloud services, and the computing devices 301 are servers, such as cloud servers, center servers, edge servers, remote servers in a remote data center, or local servers in a local data center, etc.
In the computing device cluster 300, the storage media 12 in the same hybrid memory system 100 may be located in different computing devices 301, or may be located in the same storage medium, the CPUs 11 in the same hybrid memory system 100 may be located in the same computing device 301, or may be located in different computing devices 301, and the CPUs 11 and the storage media 12 in the same hybrid memory system 100 may be located in different computing devices 301.
Taking hybrid memory system 100a of fig. 3 as an example, storage medium 12 and CPU11 in hybrid memory system 100a are located in two computing devices 301, respectively. Taking the hybrid memory system 100b of fig. 3 as an example, the storage medium 12 in the hybrid memory system 100b is located in two computing devices 301, and the CPU11 in the hybrid memory system 100b is also located in the two computing devices 301, respectively. Taking the hybrid memory system 100c of fig. 3 as an example, the storage medium 12 in the hybrid memory system 100c is located in two computing devices 301, and the CPU11 in the hybrid memory system 100c is located in another computing device 301.
The storage medium 12 in the hybrid memory system 100 and the CPU11 located in the same computing device 301 is a local storage node of the CPU11, and the storage medium 12 in the hybrid memory system 100 and the CPU11 located in a different computing device 301 is a remote storage node of the CPU 11. Under the condition that data in a remote storage node is migrated to a local storage node, the CPU is convenient to access the data from the local storage node, and the data access efficiency of the CPU is improved.
In the computing device cluster 300, at least one storage medium 12 in the same computing device 301 is provided, and if the storage media 12 in the hybrid memory system 100 are located in different computing devices 301, at least two storage media 12 in the hybrid memory system 100 may be different types of storage media or may be the same type of storage media.
In other embodiments, computing device 301 may be similar to computing device 200 of FIG. 2, with hybrid memory system 100 deployed within computing device 301.
It should be understood that fig. 1 and fig. 3 are different in that fig. 1 illustrates a system architecture of the hybrid memory system 100, and fig. 3 illustrates another application scenario of the system architecture illustrated in fig. 1. The difference between fig. 2 and 3 is that the hybrid memory system 100 shown in fig. 2 is located within the same computing device, whereas the hybrid memory system 100 shown in fig. 3 is cross-computing device. In addition, the types of storage media 12 in the hybrid memory system shown in fig. 2 are different, whereas the types of storage media 12 in different computing devices in the hybrid memory system shown in fig. 3 may be the same.
For any of the hybrid memory systems described in fig. 1-3, any of the storage media in the hybrid memory system may be the memory of the computing device in which the any of the storage media resides.
For controller 13 of hybrid memory system 100, both fig. 2 and 3 illustrate controller 13 as a component within a computing device. When the controller 13 is used as a component in a computing device, the controller 13 may be mounted on the CPU11 in the hybrid memory system 100 as a regulating component of the hybrid memory system 100, or the controller 13 may also be mounted on the storage medium 12 in the hybrid memory system 100 as a memory controller of the storage medium 12, where the mounting manner of the controller 13 in the computing device is not limited in this embodiment of the present application.
Fig. 1-3 each illustrate that controller 13 is located in hybrid memory system 100, and in some embodiments, controller 13 is independent of hybrid memory system 100. Here, in the embodiment of the present application, whether the controller 13 belongs to the hybrid memory system 100 is not limited, and the controller 13 may be capable of adjusting the migration bandwidth of the storage medium 12 in the hybrid memory system 100.
With reference to fig. 1, the controller 13 is implemented in software, hardware, or a combination of software and hardware. Wherein monitor 131, adapter 132, and migration engine 133 may all be implemented by software or hardware. Illustratively, the implementation of adapter 132 is described next as an example of adapter 132. Similarly, the implementation of monitor 131 and migration engine 133 may refer to the implementation of adapter 132.
Adapter 132 as an example of a software functional unit, adapter 132 includes code that runs on a computing instance. Wherein the computing instance includes at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-described computing examples may be one or more. For example, adapter 132 includes code that runs on multiple hosts/virtual machines/containers. In addition, multiple hosts/virtual machines/containers for running the code may be distributed in the same region (region), or may be distributed in different regions. Further, multiple hosts/virtual machines/containers for running the code may be distributed in the same availability zone (availability zone, AZ) or may be distributed in different AZs, each AZ comprising a data center or multiple geographically close data centers. Wherein typically a region may comprise a plurality of AZs.
Also, multiple hosts/virtual machines/containers for running the code may be distributed in the same virtual private cloud (virtual private cloud, VPC) or in multiple VPCs. In general, one VPC is disposed in one region, and a communication gateway is disposed in each VPC for implementing inter-connection between VPCs in the same region and between VPCs in different regions.
Adapter 132 as an example of a hardware functional unit, adapter 132 may include at least one computing device, such as a server, or the like. Alternatively, the adapter 132 may be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (programmable logic device, PLD), or the like. The PLD may be implemented as a complex program logic device (complex programmable logical device, CPLD), a field-programmable gate array (FPGA), a general-purpose array logic (generic array logic, GAL), or any combination thereof.
The multiple computing devices included in adapter 132 may be distributed in the same region or in different regions. The plurality of computing devices included in adapter 132 may be distributed among the same AZ or among different AZs. Likewise, the multiple computing devices included in adapter 132 may be distributed across the same VPC or across multiple VPCs. Wherein the plurality of computing devices may be any combination of computing devices such as servers, ASIC, PLD, CPLD, FPGA, and GAL.
Next, a process of adjusting the migration bandwidth of the storage medium by the controller in the hybrid memory system based on the access delay of the application program will be further described. Referring to fig. 4, a flowchart of a method for adjusting migration bandwidth of a storage medium is provided, and the method is applied to a hybrid memory system, and the method is executed by a controller of the hybrid memory system.
In step 401, the controller obtains an access delay of an application program to access a first storage medium, where the first storage medium is one storage medium in the hybrid memory system.
The hybrid memory system is any of the hybrid memory systems described in fig. 1-3. The application program is any application program running on any processor in a certain computing device, taking the deployment of the hybrid memory system in the computing device as an example, and the first storage medium is any storage medium in the hybrid memory system deployed in the computing device. The storage space in the first storage medium has been allocated to the application program, and thus the application program has the right to access the first storage medium, which application program is able to access the first storage medium.
The access delay of an application program for accessing the first storage medium is simply referred to as the access delay of the application program, where the access delay is the time taken by the application program to complete a single access to the first storage medium. The manner in which the application accesses the first storage medium includes manner A1 or manner A2, where manner A1 is: the application reads data from the first storage medium in a manner A2: the application writes data to the first storage medium. Accordingly, the access latency is a read latency or a write latency, wherein the read latency is a latency of the application program reading data from the first storage medium. The write latency is a latency of the application writing data to the first storage medium.
In this embodiment of the present application, the access delay of the application is a parameter used by the controller to adjust the migration bandwidth of the first storage medium, so before the controller adjusts the migration bandwidth of the first storage medium, the access delay of the application is acquired first, where the acquired access delay includes at least one of a read delay and a write delay.
And under the condition that the default read delay is a parameter used for adjusting the migration bandwidth, the controller acquires the read delay of the application program for accessing the first storage medium. In the case where the default write latency is a parameter used to adjust the migration bandwidth, the controller obtains the write latency of the application to access the first storage medium. And under the condition that the default read delay and write delay are parameters used for adjusting the migration bandwidth, the controller acquires the read delay and write delay of the application program for accessing the first storage medium.
In another possible implementation manner, the parameter used by the controller to adjust the migration bandwidth is a read delay or a write delay, which is determined by a read-write ratio of the application program to the first storage medium and a write-read ratio, where the read-write ratio is a ratio of a number of times the application program reads data from the first storage medium to a number of times the application program writes data to the first storage medium during the running process of the application program. The write-read ratio is the inverse of the read-write ratio.
For example, if the read-write ratio of the application program to the first storage medium is greater than or equal to the target ratio, the controller obtains the write delay of the application program for accessing the first storage medium; if the write-read ratio of the application program to the first storage medium is greater than or equal to the target ratio, the controller obtains the write delay of the application program for accessing the first storage medium. The target proportion may be set according to an actual application scenario, for example, the target proportion is 7:3, where the value range of the target proportion is not limited in the embodiment of the present application.
The controller selects to acquire the read time delay or the write time delay of the application program according to the read-write proportion of the application program to the first storage medium, and the controller is not required to acquire the two access time delays, namely the write time delay and the read time delay of the application program, so that the workload of the controller is reduced. In addition, if the read-write ratio of the application program to the first storage medium is greater than or equal to the target ratio, the application program is described as frequently reading data from the first storage medium, the read delay of the application program can accurately reflect the delay condition of the application program accessing the first storage medium, and accordingly, the controller can accurately adjust the migration bandwidth of the first storage medium according to the read delay of the application program. If the write-read ratio of the application program to the first storage medium is greater than or equal to the target ratio, the application program is described as writing data to the first storage medium frequently, the write delay of the application program can accurately reflect the delay condition of the application program accessing the first storage medium, and accordingly, the controller can accurately adjust the migration bandwidth of the first storage medium according to the write delay of the application program.
As can be seen from the above description, the read delay and the write delay of the application program are both access delays of the application program to access the first storage medium, and the controller obtains the access delays of the application program to access the first storage medium in any one of the following modes B1 and B2.
And in the mode B1, the controller monitors the access time delay of the application program to access the first storage medium to obtain a monitoring result, wherein the monitoring result comprises at least one access time delay of the application program.
For example, during execution of the application, the processor sends an access request to the first storage medium, the access request including a first timestamp indicating a time of sending the access request. The first storage medium then receives the access request, and the first storage medium returns an access response to the processor in accordance with the access request. The processor then receives the access response and indicates a time of receipt of the access response by the second timestamp. The controller obtains the first timestamp and the second timestamp from the processor, and takes the difference between the second timestamp and the first timestamp as an access delay. The controller continuously monitors access latency of the application to the first storage medium, thereby enabling access to the plurality of access latencies.
The following describes a process of returning an access response to the processor by the first storage medium according to the access request:
if the access request is a data read request, the first storage medium queries the storage space to be read in the first storage medium according to the physical address of the storage space to be read carried by the data read request, generates a data read response according to the first data in the queried storage space, and sends the data read response to the processor, wherein the data read response comprises the first data, namely the data requested to be read by the data read request. Based on the data read request, the access delay monitored by the controller is a read delay.
If the access request is a data writing request, the data writing request comprises second data, the second data is data to be written, the first storage medium queries a storage space to be written in the first storage medium according to the data writing request, writes the second data into the queried storage space, and then sends the data writing response to the processor, and based on the data writing request, the access time delay monitored by the controller is writing time delay.
In one possible implementation, the controller includes a monitor, which is a functional module in the controller for monitoring access latency of the application program, and mode B1 is performed by the monitor in the controller. Taking the controller 13 in fig. 1 as an example, the mode B1 is performed by the monitor 131. Wherein, each device in the controller can be realized by software or hardware, so that the controller can be realized by the software, the hardware or the combination of the software and the hardware. Taking the monitor in the controller as an example, the monitor may be implemented by software or hardware, and the monitor may be implemented by reference to the implementation of the adapter 132 described above.
In addition, the monitor is an optional functional module in the controller, in other embodiments, the controller does not include the monitor, where the controller does not have a function of monitoring the access delay of the application program, and the controller may acquire the access delay of the application program in a manner B2 described below.
And B2, the monitoring unit monitors the access time delay of the application program to the first storage medium, and the controller acquires the monitoring result from the monitoring unit.
The monitoring unit is a functional module for monitoring access delay of the application program outside the controller, and may be implemented by software or hardware, and the implementation of the monitoring unit may refer to the implementation of the adapter 132 described above. In addition, a process in which the monitoring unit monitors access delay of the application program to the first storage medium may refer to the mode B1.
After the access time delay of the application program is acquired, the controller adjusts the migration bandwidth of the first storage medium according to the access time delay of the application program. Such as steps 402 and 403 described below.
Step 402, the controller determines delay variation information according to the acquired access delay, where the delay variation information indicates a variation rule of an application access delay of the first storage medium, and the application access delay is a time occupied when the first storage medium is accessed by an application program.
Wherein the change rule comprises an increase or decrease in the application access latency, and accordingly, in some embodiments, the latency change information comprises a first rule identification or a second rule identification, wherein the first rule identification indicates an increase in the application access latency and the second rule identification indicates a decrease in the application access latency. The first rule identifier and the second rule identifier are different in representation mode, for example, the first rule identifier is 1, the second rule identifier is 0, or the first rule identifier is 0, and the second rule identifier is 1.
In one possible implementation, the controller obtains one monitoring result every time a target duration passes, and for convenience of description, the monitoring result obtained at the current target duration is referred to as a first monitoring result, and the monitoring result obtained at the last target duration of the current target duration is referred to as a second monitoring result. And determining time delay change information by the controller according to the first monitoring result in the current target time length and the second monitoring result in the last target time length after each target time length.
For example, the controller composes the access delay sequence from the access delay in the first monitoring result and the second monitoring result, if the value of the access delay in the access delay sequence increases in turn, which means that the change rule of the access delay of the application is increasing, the controller generates delay change information including the first rule identifier, and if the value of the access delay in the access delay sequence decreases in turn, which means that the change rule of the access delay of the application is decreasing, the application generates delay change information including the second rule identifier.
Step 403, the controller adjusts the migration bandwidth of the first storage medium according to the change rule, where the migration bandwidth indicates a bandwidth adopted when data migration is performed on the first storage medium.
The migration bandwidth is a migration read bandwidth or a migration write bandwidth, the migration read bandwidth is a bandwidth used when data in the first storage medium is read in a data migration process, and the migration write bandwidth is a bandwidth used when data in the second storage medium is written in the first storage medium in a data migration process. The second storage medium is any storage medium in the hybrid memory system other than the first storage medium. Taking the example of a hybrid memory system deployed on a computing device, the second storage medium and the first storage medium are of different types.
The migration process of the first storage medium is used for realizing data migration between the first storage medium and the second storage medium. The migration process comprises a migration read process or a migration write process, wherein the migration read process is used for realizing a migration read process in a data migration process, for example, the migration read process reads a migration read request from the first storage medium to be migrated. The migration read-write process is used for realizing a migration write process in the data migration process, for example, the migration write process writes data to be migrated, which is read from the first storage medium, into the second storage medium by generating a migration write request.
And if the migration reading process of the first storage medium is already running, the controller adjusts the migration reading bandwidth of the first storage medium based on the change rule. If the migration writing process of the first storage medium is already running, the controller adjusts the migration writing bandwidth of the first storage medium based on the change rule, so that the controller can adjust the migration reading bandwidth of the first storage medium and also can adjust the migration writing bandwidth of the first storage medium according to the access time delay of the application program, unified management of the migration reading bandwidth and the migration writing bandwidth of the first storage medium is realized, the management mode is simple, a set of management mechanism is not required to be designed for managing the migration reading bandwidth and the migration writing bandwidth of the first storage medium respectively, and asymmetric management of the migration reading bandwidth and the migration writing bandwidth of the same storage medium is avoided.
For any one of the migration read bandwidth and the migration write bandwidth, in combination with the following mode C1 and mode C2, the process of adjusting the migration read bandwidth of the first storage medium by the controller based on the change rule is described as follows:
in the mode C1, if the change rule is that the application access delay increases, the controller reduces the migration bandwidth.
In the case that the data migration of the first storage medium and the access of the application program to the first storage medium are performed simultaneously, the incremental increase of the application access delay may be caused by the incremental increase of the migration bandwidth, so if the change rule is that the application access delay is incremental, the controller reduces the migration bandwidth, and accordingly, the access bandwidth of the application program to the first storage medium is increased, so as to reduce the influence of the migration bandwidth on the application access delay, thereby reducing the access delay of the application program and improving the efficiency of the application program to access the first storage medium.
In one possible implementation, the controller reduces the migration bandwidth based on the maximum access latency allowed by the application. The maximum access delay allowed by the application program refers to the maximum access delay allowed by the application program to access the storage medium.
For example, the application corresponds to at least one first latency threshold that is less than a maximum access latency allowed by the application, and the first latency threshold corresponds to a first bandwidth adjustment parameter. If the change rule is that the application access time delay is increased, and the acquired access time delay is greater than or equal to the first time delay threshold, the controller reduces the migration bandwidth according to a first bandwidth adjustment parameter corresponding to the first time delay threshold. The access delay acquired here may be the latest acquired access delay, e.g. the last access delay in the sequence of access delays.
In the case that the application program corresponds to a plurality of first delay thresholds, the plurality of first delay thresholds may correspond to the same first bandwidth adjustment parameter, or may correspond to different first bandwidth adjustment parameters. In the case that the plurality of first delay thresholds correspond to different first bandwidth adjustment parameters, there are a plurality of different first bandwidth adjustment parameters, and each of the first delay thresholds corresponds to one of the plurality of first bandwidth adjustment parameters. For example, the first bandwidth adjustment parameters corresponding to the plurality of first delay thresholds are sequentially increased or sequentially decreased in order of decreasing the plurality of first delay thresholds.
If the change rule is that the application access time delay is increased, the last access time delay in the access time delay sequence is larger than or equal to the largest first time delay threshold value in the plurality of first time delay threshold values, and the controller reduces the migration bandwidth according to the first bandwidth adjustment parameter corresponding to the largest first time delay threshold value.
In one possible implementation, the controller forms the plurality of first latency thresholds into a first latency threshold sequence, and reduces the migration bandwidth according to a position of the first latency threshold in the first latency threshold sequence. For example, in the case that the plurality of first delay thresholds form a first delay threshold sequence in order from small to large, if the change rule is that the application access delay is increased, the last access delay in the access delay sequence is greater than or equal to any one of the first delay thresholds, and the last access delay is smaller than the next first delay threshold of the any one of the first delay thresholds in the first delay threshold sequence, the controller reduces the migration bandwidth according to a first bandwidth adjustment parameter corresponding to the any one of the first delay thresholds.
For another example, in the case that the plurality of first latency thresholds form a first latency threshold sequence in order from large to small, if the change rule is that the application access latency is increased, a last access latency in the access latency sequence is greater than or equal to any one of the first latency thresholds, and the last access latency is less than a previous first latency threshold of the any one of the first latency thresholds in the first latency threshold sequence, the controller reduces the migration bandwidth based on a first bandwidth adjustment parameter corresponding to the any one of the first latency thresholds.
Taking a set of associated first latency thresholds and first bandwidth adjustment parameters as an example, how to reduce migration bandwidth is described in detail below:
when the first bandwidth adjustment parameter is a first adjustment ratio or a first adjustment amplitude, and when the first bandwidth is adjusted to be an adjustment ratio, the controller reduces the migration bandwidth of the adjustment ratio based on the current migration bandwidth. In the case where the first bandwidth is adjusted to the first adjustment magnitude, the controller decreases the first adjustment magnitude based on the current migration bandwidth.
And C2, if the change rule is that the access time delay of the application is reduced, the controller increases the migration bandwidth.
When the data migration of the first storage medium and the access of the application program to the first storage medium are performed simultaneously, the application access time delay is decreased, which means that the access time delay of the application program is decreased at this time, so that if the change rule indicates that the application access time delay is decreased, the controller increases the migration bandwidth, thereby improving the efficiency of the data migration of the first storage medium under the condition that the application program is ensured to access the first storage medium with a small access time delay.
In one possible implementation, the controller increases the migration bandwidth based on the maximum access latency allowed by the application. For example, the application program corresponds to at least one second latency threshold that is less than the maximum access latency allowed by the application program, and the second latency threshold is associated with a second bandwidth adjustment parameter. Illustratively, the at least one second latency threshold is less than a minimum latency threshold of the at least one first latency threshold.
If the change rule is that the access time delay of the application is decreased, and the acquired access time delay is smaller than or equal to the second time delay threshold, the controller increases the migration bandwidth according to a second bandwidth adjustment parameter corresponding to the second time delay threshold. The access delay acquired here may be the latest acquired access delay, e.g. the last access delay in the sequence of access delays.
In the case that the application program corresponds to a plurality of second delay thresholds, the plurality of second delay thresholds may correspond to the same second bandwidth adjustment parameter, or may correspond to different second bandwidth adjustment parameters. In the case that the plurality of second delay thresholds correspond to different second bandwidth adjustment parameters, there are a plurality of different second bandwidth adjustment parameters, and each second delay threshold corresponds to one of the plurality of second bandwidth adjustment parameters. For example, the second bandwidth adjustment parameters corresponding to the plurality of second delay thresholds are sequentially increased or sequentially decreased in order of decreasing the plurality of second delay thresholds.
If the change rule is that the access time delay of the application is decreased, the last access time delay in the access time delay sequence is smaller than or equal to the smallest second time delay threshold value in the plurality of second time delay threshold values, and the controller increases the migration bandwidth according to the second bandwidth adjustment parameter corresponding to the smallest second time delay threshold value.
In one possible implementation, the controller forms a plurality of second latency thresholds into a second latency threshold sequence, and increases the migration bandwidth according to the positions of the second latency thresholds in the second latency threshold sequence.
For example, in the case that the plurality of second delay thresholds form a second delay threshold sequence in order from small to large, if the change rule is that the application access delay is decreasing, the last access delay in the access delay sequence is smaller than or equal to any one second delay threshold, and the last access delay is greater than the previous second delay threshold of any one first delay threshold in the second delay threshold sequence, the controller increases the migration bandwidth according to a second bandwidth adjustment parameter corresponding to any one second delay threshold.
For another example, in the case that the plurality of second delay thresholds form a second delay threshold sequence in order from large to small, if the change rule is that the application access delay is decreasing, a last access delay in the access delay sequence is smaller than or equal to any second delay threshold, and the last access delay is greater than a second delay threshold after any first delay threshold in the first delay threshold sequence, the controller increases the migration bandwidth based on a second bandwidth adjustment parameter corresponding to the any second delay threshold.
Taking a set of associated second delay threshold and second bandwidth adjustment parameters as an example, how to increase the migration bandwidth is described in detail below:
When the second bandwidth adjustment parameter is a second adjustment ratio or a second adjustment amplitude, and the second bandwidth is adjusted to be the adjustment ratio, the controller increases the migration bandwidth of the adjustment ratio based on the current migration bandwidth. In the case where the second bandwidth is adjusted to a second adjustment magnitude, the controller increases the second adjustment magnitude based on the current migration bandwidth.
And after each target time length passes, the controller determines time delay change information once, and adjusts the migration bandwidth of the first storage medium according to the change rule indicated by the time delay change information, so that the dynamic adjustment of the migration bandwidth of the first storage medium is realized. Under the condition that the application program corresponds to a plurality of first delay thresholds and a plurality of second delay thresholds, when the application access time delay of the first storage medium is increased to a first delay threshold, the controller reduces the migration bandwidth of the first storage medium according to a first adjustment parameter corresponding to the first delay threshold, when the application access time delay is decreased to a second delay threshold, the controller increases the migration bandwidth of the first storage medium according to a second adjustment parameter corresponding to the second delay threshold, so that the migration bandwidth of the first storage medium is adjusted in a refined and stable manner, and the access time delay of the application program is prevented from changing greatly, and the application program does not perceive the change of the access time delay.
In one possible implementation, the controller includes an adapter, and this step 403 is performed by the adapter in the controller. Taking the controller 13 of fig. 1 as an example, this step 403 is performed by the adapter 132 in the controller 13. The adapter 132 sends the adjusted migration bandwidth to the migration engine, and the migration engine uses the adjusted migration bandwidth to perform data migration on the first storage medium.
In addition, when the migration rule is not the increment or decrement of the application access delay, but is basically unchanged, which indicates that the application delay is stable in the adjacent target duration, the controller does not need to execute the step 403. The controller can also continuously acquire the access time delay of the application program, and execute the processes of the steps 402-403 every time a target duration passes, so as to dynamically adjust the migration bandwidth.
The access time delay of the application program for accessing the storage medium is acquired, time delay change information is acquired according to the acquired access time delay, and then the migration bandwidth of the storage medium is adjusted according to the change rule of the application access time delay of the storage medium indicated by the time delay change information, so that the storage medium performs data migration through the adjusted migration bandwidth, the influence of the fixed migration bandwidth on the bandwidth adopted by the application program for accessing the storage medium is reduced, and the efficiency of the application program for accessing the storage medium is further improved.
For the process of the controller obtaining the access delay of the application program, in the embodiment shown in fig. 4, the controller obtains the access delay of the application program in real time, whereas in the embodiment shown in fig. 5, for example, the controller obtains the access delay of the application program when the application program satisfies the migration bandwidth adjustment condition. Fig. 5 is a flowchart of a migration bandwidth adjustment method based on a migration bandwidth adjustment condition, where the method is applied to a hybrid memory system, and the method is executed by a controller of the hybrid memory system.
In step 501, if the application program meets the migration bandwidth adjustment condition, the controller obtains an access delay of the application program for accessing a first storage medium, where the first storage medium is one storage medium in the hybrid memory system.
Wherein the application meeting the migration bandwidth adjustment condition includes at least one of the following cases 1 to 3:
case 1: and receiving a migration bandwidth adjustment request of the terminal, wherein the migration bandwidth adjustment request indicates to adjust the migration bandwidth of the first storage medium according to the access time delay of the application program.
Case 2: the application is provided with a target service.
Case 3: a migration process of the first storage medium accessed by the application program is already running, and the migration process is used for performing data migration on the first storage medium.
Taking the case that the application program satisfies the migration bandwidth adjustment condition including one of the cases 1 to 3, the controller obtains the access delay of the application program for accessing the first storage medium as an example, this step 501 is described. The process that the application program satisfies the migration bandwidth adjustment condition includes a combination of at least two cases of cases 1 to 3, and the controller acquires the access delay of the application program for accessing the first storage medium can refer to the acquisition process when the single case is satisfied.
For case 1, the terminal is provided with an opening option of the migration bandwidth adjustment mode, the user selects the opening option, and the terminal responds to the selection operation of the opening option and sends a migration bandwidth adjustment request to the controller. Accordingly, the controller receives a migration bandwidth adjustment request of the terminal, and the application program meets the migration bandwidth adjustment condition, and adjusts the migration bandwidth of the application program for accessing the first storage medium according to the migration bandwidth adjustment request, so that before adjusting the migration bandwidth, the controller acquires the access time delay of the application program for accessing the first storage medium.
For case 2, the target service is a service with a higher access latency requirement for the application program, for example, the target service requires that the access latency of the application program is less than or equal to the target latency threshold. The target latency threshold is less than the maximum access latency allowed by the application. The target services include remote dictionary services (remote dictionary server, redis), relational database management system (MySQL), and services provided by a computing engine (Spark), among others.
For example, the CPU in the memory hybrid system allows running a plurality of application programs, if any application program in the plurality of application programs provides a target service, the application program satisfies a migration bandwidth adjustment condition, and the controller adjusts a migration bandwidth of the application program for accessing the first storage medium according to an access delay of the application program, so that before adjusting the migration bandwidth, the controller obtains the access delay of the application program for accessing the first storage medium.
For case 3, the controller detects whether the migration process of the first storage medium has been executed, and if it is detected that the migration process of the first storage medium has been executed, the application program satisfies the migration bandwidth adjustment condition, and the controller adjusts the migration bandwidth of the first storage medium according to the access delay of the application program accessing the first storage medium, so that before adjusting the migration bandwidth, the controller first obtains the access delay of the application program accessing the first storage medium.
Under the condition that the application program meets the migration bandwidth adjustment condition, the controller can acquire the access time delay of the application program, and then the migration bandwidth of the first storage medium is adjusted through the access time delay of the application program, so that the workload of the controller is reduced, and the consumption of computing resources is reduced. Under the condition that a migration bandwidth adjustment request of a terminal is received or a target service is provided by an application program, the controller can acquire the access time delay of the application program, and then the migration bandwidth of the first storage medium is adjusted through the access time delay of the application program, so that the influence of the migration bandwidth on the access time delay of the application program is reduced, the efficiency of the application program for accessing the first storage medium is further improved, and the requirement of the terminal or the target service on the access time delay of the application program can be guaranteed and ensured.
In addition, the process of the controller obtaining the access delay of the application program to access the first storage medium may refer to step 401 described above.
Step 502, the controller determines delay variation information according to the acquired access delay, where the delay variation information indicates a variation rule of an application access delay of the first storage medium, and the application access delay is a time occupied when the first storage medium is accessed by an application program.
Herein, the step 502 is similar to the step 402, and the embodiment of the present application will not be repeated for the step 502.
Step 503, the controller adjusts the migration bandwidth of the first storage medium according to the change rule, where the migration bandwidth indicates a bandwidth adopted when data migration is performed on the first storage medium.
Herein, the same procedure as the procedure 403 is adopted in the step 503, and the description of the step 503 is omitted in this embodiment.
The access time delay of the application program for accessing the storage medium is acquired, time delay change information is acquired according to the acquired access time delay, and then the migration bandwidth of the storage medium is adjusted according to the change rule of the application access time delay of the storage medium indicated by the time delay change information, so that the storage medium performs data migration through the adjusted migration bandwidth, the influence of the fixed migration bandwidth on the bandwidth adopted by the application program for accessing the storage medium is reduced, and the efficiency of the application program for accessing the storage medium is further improved.
For the process of determining the delay variation information by the controller, fig. 4 is delay variation information determined according to the increasing or decreasing condition of the access delay in the access delay sequence, and in the embodiment shown in fig. 6, the controller determines the delay variation information according to the average access delay of the application program, so as to determine the overall variation trend of the access delay of the application program. Fig. 6 is a flowchart of a migration bandwidth adjustment method based on average access latency of an application program, where the method is applied to a hybrid memory system, and the method is executed by a controller of the hybrid memory system.
In step 601, the controller obtains an average access delay of an application program accessing a first storage medium, where the first storage medium is one storage medium in the hybrid memory system.
Wherein the average access time delay is an average time of the application program accessing the first storage medium once within the target duration.
For example, each time a target duration passes, the controller obtains a monitoring result, the controller sums the access delays in the monitoring result to obtain a total delay, the total number of the access delays in the monitoring result is counted, and the ratio between the total delay and the total number is taken as an average access delay.
In another possible implementation, if the application meets the migration bandwidth adjustment condition, the controller performs this step 601, and this implementation may refer to step 501.
In addition, where the controller includes an adapter, this step 601 is performed by the adapter in the controller. Taking the controller 13 of fig. 1 as an example, this step 601 is performed by the adapter 132 in the controller 13.
Step 602, the controller determines delay variation information according to the obtained average access delay, where the delay variation information indicates a variation rule of an application access delay of the first storage medium, and the application access delay is a time occupied when the first storage medium is accessed by an application program.
In one possible implementation, the controller obtains an average access delay every time a target duration passes, and for convenience of description, the average access delay obtained at the current target duration is referred to as a first average access delay, and the average access delay obtained at a last target duration of the current target duration is referred to as a second average access delay. And determining delay change information by the controller according to the first average access delay in the current target time length and the second average access delay in the last target time length after each target time length.
For example, if the first average access delay is greater than the second average access delay, the change rule of the access delay of the application program is incremental, the controller generates delay change information including the first rule identifier, and if the first average access delay is less than the second average access delay, the change rule of the access delay of the application program is decremental, the application program generates delay change information including the second rule identifier.
Step 603, the controller adjusts the migration bandwidth of the first storage medium according to the change rule, where the migration bandwidth indicates a bandwidth adopted when data migration is performed on the first storage medium.
Here, the step 603 is similar to the step 403, and the embodiment of the present application will not be repeated for the step 603.
The access time delay of the application program for accessing the storage medium is acquired, time delay change information is acquired according to the acquired access time delay, and then the migration bandwidth of the storage medium is adjusted according to the change rule of the application access time delay of the storage medium indicated by the time delay change information, so that the storage medium performs data migration through the adjusted migration bandwidth, the influence of the fixed migration bandwidth on the bandwidth adopted by the application program for accessing the storage medium is reduced, and the efficiency of the application program for accessing the storage medium is further improved.
For ease of understanding, fig. 7 is taken as an example to further describe a migration bandwidth adjustment method in a hybrid memory system provided in the present application.
The hybrid memory system is any one of the hybrid memory systems shown in fig. 1 to 3. It will be appreciated that although the controllers of hybrid memory systems 100 a-100 c are not shown in fig. 3, hybrid memory systems 100 a-100 c all have controllers, and thus, when the hybrid memory system is any of the hybrid memory systems shown in fig. 3, fig. 7 is an example of performing migration bandwidth adjustment on the storage medium in any of the hybrid memory systems shown in fig. 3. In the following, taking an example in which the controller of the hybrid memory system includes a monitor, an adapter, and a migration engine, the following description is given to fig. 7:
as shown in fig. 7, after the controller is powered on, the controller performs an initialization process, for example, an adapter in the controller configures a migration bandwidth (for example, migration read bandwidth is 80MB/s and migration write bandwidth is 30 MB/s) of a storage medium in the hybrid memory system to a migration engine through a configuration interface, the adapter configures an application access delay, a first delay threshold, a second delay value, a first bandwidth adjustment parameter and a second bandwidth adjustment parameter, and a monitor starts a delay monitoring function to monitor an access delay of an application program.
And then, the monitor monitors access time delay of the application program with the authority to access the storage medium, and issues an access request to the storage medium in the process that a certain processor runs the application program, and accordingly, the monitor monitors the access time delay of the application program. If the storage medium meets the migration condition, the migration engine operates the migration process of the storage medium to perform data migration on the storage medium by adopting the currently configured migration bandwidth, wherein the storage medium meets the migration condition including that one memory page of the storage medium is a hot page, one memory page is a cold page, the storage medium fails or other storage media migrate data to the storage medium. For example, if a certain memory page of the storage medium is a hot page, the hot page is migrated to another storage medium in the hybrid memory system that has higher data transfer performance than the storage medium. If one memory page of the storage medium is a cold page, the cold page is migrated to another storage medium in the hybrid memory system, which has lower data transmission performance than the storage medium. If the storage medium fails, the data in the failed storage medium is migrated to another storage medium in the hybrid memory system that is not failed. Of course, the storage medium may also satisfy other migration conditions besides the migration conditions described above, and here, the embodiment of the present application does not limit a case where the storage medium satisfies the migration conditions.
And when the migration process of the storage medium is parallel to the access of the application program to the storage medium, the adapter takes the target duration as a polling period, polls the monitor every time a polling period passes, so as to acquire the number of access time delays and the total access time delay in the target duration from the monitor, and if the migration process is not running, the data migration is finished, and the adapter does not adjust the migration bandwidth.
If the migration process is still running, the adapter determines whether to adjust the migration bandwidth of the storage medium according to the acquired number of access delays and the total access delay. For example, the adapter determines the average access delay of the application program according to the number of the acquired access delays and the total access delay, determines the change rule of the application delay of the storage medium according to the average access delay acquired this time and the average access delay acquired before, and if the change rule of the application delay is incremental and the average access delay acquired this time reaches the first delay threshold, the adapter appropriately reduces the migration bandwidth (for example, reduces the migration bandwidth according to the first bandwidth adjustment parameter). If the change rule of the application delay is decreasing and the average access delay acquired this time is smaller than or equal to the second delay threshold, the adapter appropriately increases the migration bandwidth (e.g., increases the migration bandwidth according to the second bandwidth adjustment parameter). If the change rule of the application delay is basically unchanged, the adapter does not adjust the migration bandwidth.
And under the condition that the adapter adjusts the migration bandwidth, the adapter configures the adjusted migration bandwidth to the migration engine through the configuration interface. The migration engine keeps the adjusted migration bandwidth unchanged in the target duration, and the data migration is continued on the storage medium by adopting the adjusted migration bandwidth, and at this time, for the migration engine, the adjusted migration bandwidth is the current migration bandwidth. Under the condition that the adapter does not adjust the migration bandwidth, the migration engine keeps the migration bandwidth configured before unchanged in the target duration, and data migration is continued on the storage medium by adopting the migration bandwidth configured before, and at this time, for the migration engine, the migration bandwidth configured before is the current migration bandwidth.
In the case where the migration engine remains the current migration bandwidth unchanged, the adapter waits for the next polling period.
The embodiments shown in fig. 4 to fig. 7 are all described by taking an example of adjusting the migration bandwidth of the first storage medium according to the access delay of a single application program, and in some embodiments, the storage space in the first storage medium may be allocated to a plurality of application programs, so that the first storage medium supports access of the plurality of application programs, and accordingly, the controller may also be capable of obtaining the access delay of the plurality of application programs, and adjusting the migration bandwidth of the first storage medium according to the obtained access delay of the plurality of application programs accessing the first storage medium.
The method of acquiring access time delays of a plurality of application programs by the controller can refer to the method of acquiring access time delays of a single application program in the embodiment of the method. In the process of adjusting the migration bandwidth of the first storage medium according to the acquired access time delay of the plurality of application programs accessing the first storage medium, the controller determines time delay change information according to the acquired access time delay of the plurality of application programs accessing the first storage medium, and adjusts the migration bandwidth of the first storage medium according to the change rule indicated by the time delay change information.
The process of determining the delay variation information by the controller according to the acquired access delay of the plurality of application programs to the first storage medium may refer to step 402 or steps 601 to 602. The controller may refer to the step 403 to adjust the migration bandwidth of the first storage medium according to the change rule indicated by the time delay change information, but when referring to the step 403, the controller may select the second time delay threshold and the second time delay threshold according to a plurality of application programs. For example, for any one of the first latency threshold or the second latency threshold, the any one latency threshold is smaller than a minimum latency of the maximum access latencies allowed by the application programs, and the migration bandwidth of the first storage medium is adjusted according to the any latency, so that the application access latency of the first storage medium is prevented from reaching the minimum latency, the requirement of the application programs on the access latency is met, and the application program is prevented from crashing. Or if a target application program for providing the target service exists in the plurality of application programs, the arbitrary time delay threshold is smaller than the maximum access time delay allowed by the target application program, and the migration bandwidth of the first storage medium is adjusted according to the arbitrary time delay, so that the application access time delay of the first storage medium can meet the requirement of the target service.
The method of the embodiment of the present application is described above, and the apparatus of the embodiment of the present application is described below. It should be appreciated that the apparatus described below has any of the functions of the controller of the hybrid memory system in the above method.
Referring to fig. 8, a schematic structural diagram of a migration bandwidth adjustment apparatus 800 of a storage medium is provided, where the migration bandwidth adjustment apparatus 800 may be a controller or a part of a controller of a hybrid memory system in the foregoing embodiments, for performing a method performed by the controller. The migration bandwidth adjusting apparatus 800 is applied to a hybrid memory system, and the migration bandwidth adjusting apparatus 800 includes:
an obtaining module 801, configured to obtain an access delay of an application program for accessing a first storage medium, where the first storage medium is a storage medium in a hybrid memory system;
a determining module 802, configured to determine delay variation information according to the acquired access delay, where the delay variation information indicates a variation rule of an application access delay of the first storage medium, and the application access delay is an occupied time when the first storage medium is accessed by an application program;
the adjusting module 803 is configured to adjust a migration bandwidth of the first storage medium according to the change rule, where the migration bandwidth indicates a bandwidth adopted when data migration is performed on the first storage medium.
It should be understood that the migration bandwidth adjusting apparatus 800 according to the embodiments of the present invention may be implemented by a central processing unit (central processing unit, CPU), an application-specific integrated circuit (application-specific integrated circuit, ASIC), or a programmable logic device (programmable logic device, PLD), which may be a complex program logic device (complex programmable logical device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general-purpose array logic (generic array logic, GAL), a data processing unit (data processing unit, DPU), a system on chip (SoC), or any combination thereof. When the migration bandwidth adjustment method shown in fig. 4 to 7 is implemented by software, the migration bandwidth adjustment apparatus 800 and its respective modules may be software modules.
In one possible implementation, the application program corresponds to at least one first latency threshold, the first latency threshold is smaller than a maximum access latency allowed by the application program, and the first latency threshold corresponds to a first bandwidth adjustment parameter, and the adjustment module 803 is configured to:
and if the change rule is that the application access time delay is increased, and the acquired access time delay is greater than or equal to a first time delay threshold value, reducing the migration bandwidth according to a first bandwidth adjustment parameter corresponding to the first time delay threshold value.
In one possible implementation, the application program corresponds to at least one second delay threshold, the second delay threshold is smaller than the maximum access delay allowed by the application program, and the second delay threshold corresponds to a second bandwidth adjustment parameter; the adjustment module 803 is configured to:
if the change rule is that the application access time delay is decreased, and the acquired access time delay is smaller than or equal to a second time delay threshold value, the migration bandwidth is increased according to a second bandwidth adjustment parameter corresponding to the second time delay threshold value.
In one possible implementation, in a case where the first storage medium supports access by the plurality of applications, for either the first latency threshold or the second latency threshold, either the latency threshold is less than a minimum latency of respective maximum access latencies allowed by the plurality of applications; or if a target application program for providing the target service exists in the plurality of application programs, any time delay threshold value is smaller than the maximum access time delay allowed by the target application program.
In one possible implementation, the obtaining module 801 is further configured to:
and if the application program meets the migration bandwidth adjustment condition, executing the step of acquiring the access time delay of the application program for accessing the first storage medium.
In one possible implementation, the application meeting the migration bandwidth adjustment condition includes at least one of:
receiving a migration bandwidth adjustment request of the terminal, wherein the migration bandwidth adjustment request indicates to adjust the migration bandwidth according to the access time delay of the application program; the application program is provided with a target service; the migration process of the first storage medium accessed by the application program is already running, and the migration process is used for carrying out data migration on the first storage medium.
In one possible implementation, the access latency includes at least one of a read latency and a write latency, the read latency being a latency of an application reading data from the first storage medium and the write latency being a latency of the application writing data to the first storage medium.
In one possible implementation, the obtaining module is configured to:
if the read-write proportion of the application program to the first storage medium is greater than or equal to the target proportion, acquiring the read delay of the application program;
and if the write-read ratio of the application program to the first storage medium is greater than or equal to the target ratio, acquiring the write delay of the application program. In one possible implementation, the migration bandwidth is a migration read bandwidth or a migration write bandwidth, where the migration read bandwidth is a bandwidth used when reading data from the first storage medium during data migration, and the migration write bandwidth is a bandwidth used when writing data from the second storage medium to the first storage medium during data migration.
In one possible implementation, if the first storage medium and the second storage medium are located on the same computing device, the first storage medium and the second storage medium are different in kind; if the first storage medium and the second storage medium are located on different computing devices, the types of the first storage medium and the second storage medium may be different or the same.
Any combination of the above optional solutions may be adopted to form an optional embodiment of the present application, which is not described herein in detail.
It should be understood that the migration bandwidth adjusting apparatus 800 corresponds to the controller in the above method embodiment, and each module and the other operations and/or functions in the migration bandwidth adjusting apparatus 800 are implemented by the controller in the method embodiment to implement various steps and methods respectively, and specific details may be referred to the above method embodiment, which are not repeated herein for brevity.
It should be understood that, when the migration bandwidth adjusting apparatus 800 adjusts the migration bandwidth of the storage medium, only the above-mentioned division of each functional module is used as an example, in practical application, the above-mentioned functional allocation may be performed by different functional modules, that is, the internal structure of the migration bandwidth adjusting apparatus 800 is divided into different functional modules to perform all or part of the above-mentioned functions. In addition, the migration bandwidth adjusting apparatus 800 provided in the foregoing embodiment belongs to the same concept as the foregoing method embodiment, and the specific implementation process is detailed in the foregoing method embodiment, which is not repeated herein.
It should be appreciated that the migration bandwidth adjusting apparatus 800 may correspond to the controller 13 of the hybrid memory system 100 or correspond to an executing component in the controller 13. For example, the acquisition module 801 corresponds to the monitor 131 in the controller 13, and the determination module 802 and the adjustment module 803 correspond to the adapter 132 in the controller 13.
Fig. 9 is a schematic structural diagram of a chip 900 provided in the present application, as shown in fig. 9, the chip 900 is applied to a hybrid memory system as a controller of the hybrid memory system, and the chip 900 includes one or more processors 901 and one or more memories 902. The one or more memories 901 are coupled to the one or more processors 902, and the one or more memories 902 are configured to store program code that, when executed by the one or more processors 901, causes the chip 900 to perform the relevant method steps described above to implement the method for adjusting the migration bandwidth of the storage medium in the above embodiments.
The processor 901 may be a CPU, and the processor 901 may also be other general purpose processors, digital signal processors (digital signal processing, DSP), application Specific Integrated Circuits (ASIC), field Programmable Gate Arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. A general purpose processor may be a microprocessor or any conventional processor or the like.
As a possible implementation manner, the present application further provides a chip including a processor and a power supply circuit, where the power supply circuit is configured to supply power to the processor, and the processor is configured to implement the related method steps to implement the method for adjusting the migration bandwidth of the storage medium in the foregoing embodiment, which is not described herein for brevity.
As another possible implementation manner, the present application further provides a computing device, where the computing device includes the above chip, and the chip is configured to implement the migration bandwidth adjustment method of the storage medium in the above embodiment, and for brevity, is not described herein again.
As another possible implementation manner, the present application also provides a computer readable storage medium, for example, a memory including a program code, where the program code may be readable by a controller (such as the processor 901 in the chip 900) of the hybrid memory system, and cause a device (such as the chip) where the controller is located to execute and complete the migration bandwidth adjustment method of the storage medium in the foregoing embodiment. Wherein the implementation of the computer-readable storage medium may refer to the memory 902 shown in fig. 9.
The embodiments of the present application further provide a computer program product or a computer program, where the computer program product or the computer program includes a program code, where the program code is stored in a computer readable storage medium, and where a controller (e.g., a processor 901 in a chip 900) of a hybrid memory system reads the program code from the computer readable storage medium, and where the controller executes the program code, so that a device (e.g., the chip 900) where the controller is located performs the migration bandwidth adjustment method of the storage medium. The above embodiments may be implemented in whole or in part by software, hardware, firmware, or any other combination. When implemented in software, the above-described embodiments may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded or executed on a computer, produces, in whole or in part, a flow or function according to embodiments of the present invention. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, optical fiber, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains one or more sets of available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. The semiconductor medium may be a Solid State Disk (SSD).
The foregoing is merely a specific embodiment of the present application. Variations and alternatives will occur to those skilled in the art from the detailed description provided herein and are intended to be included within the scope of the present application.

Claims (14)

1. A method for adjusting migration bandwidth of a storage medium, wherein the method is applied to a hybrid memory system, the method comprising:
acquiring access time delay of an application program to access a first storage medium, wherein the first storage medium is one storage medium in the hybrid memory system;
determining delay change information according to the acquired access delay, wherein the delay change information indicates a change rule of application access delay of the first storage medium, and the application access delay is time occupied when the first storage medium is accessed by an application program;
and adjusting the migration bandwidth of the first storage medium according to the change rule, wherein the migration bandwidth indicates the bandwidth adopted when data migration is carried out on the first storage medium.
2. The method of claim 1, wherein the application corresponds to at least one first latency threshold that is less than a maximum access latency allowed by the application, and wherein the first latency threshold corresponds to a first bandwidth adjustment parameter;
The adjusting the migration bandwidth of the first storage medium according to the change rule includes:
and if the change rule is that the application access time delay is increased, and the acquired access time delay is greater than or equal to the first time delay threshold, reducing the migration bandwidth according to a first bandwidth adjustment parameter corresponding to the first time delay threshold.
3. The method of claim 1, wherein the application corresponds to at least one second latency threshold that is less than a maximum access latency allowed by the application, and wherein the second latency threshold corresponds to a second bandwidth adjustment parameter;
the adjusting the migration bandwidth of the first storage medium according to the change rule includes:
and if the change rule is that the application access time delay is decreased, and the acquired access time delay is smaller than or equal to the second time delay threshold, increasing the migration bandwidth according to a second bandwidth adjustment parameter corresponding to the second time delay threshold.
4. A method according to claim 2 or 3, wherein, in the case where the first storage medium supports multiple application accesses, for either of the first or second latency thresholds, the either latency threshold is less than a minimum latency of the respective maximum access latencies allowed by the multiple applications;
Or if a target application program for providing the target service exists in the plurality of application programs, the any time delay threshold value is smaller than the maximum access time delay allowed by the target application program.
5. The method of any of claims 1-4, wherein prior to the obtaining the access latency of the application to access the first storage medium, the method further comprises:
and if the application program meets the migration bandwidth adjustment condition, executing the step of acquiring the access time delay of the application program for accessing the first storage medium.
6. The method of claim 5, wherein the application meeting a migration bandwidth adjustment condition comprises at least one of:
receiving a migration bandwidth adjustment request of a terminal, wherein the migration bandwidth adjustment request indicates to adjust the migration bandwidth according to the access time delay of the application program;
the application program is provided with a target service;
and the migration process of the first storage medium accessed by the application program is already running, and the migration process is used for carrying out data migration on the first storage medium.
7. The method of any of claims 1-6, wherein the access latency comprises at least one of a read latency and a write latency, the read latency being a latency of the application reading data from the first storage medium and the write latency being a latency of the application writing data to the first storage medium.
8. The method of claim 7, wherein the obtaining the access latency of the application to access the first storage medium comprises:
if the read-write ratio of the application program to the first storage medium is greater than or equal to the target ratio, acquiring the read delay of the application program;
and if the write-read ratio of the application program to the first storage medium is greater than or equal to the target ratio, acquiring the write delay of the application program.
9. The method of any of claims 1-8, wherein the migration bandwidth is a migration read bandwidth or a migration write bandwidth, the migration read bandwidth being a bandwidth employed in reading data from the first storage medium during data migration, the migration write bandwidth being a bandwidth employed in writing data from the second storage medium to the first storage medium during data migration.
10. The method of claim 9, wherein if the first storage medium and the second storage medium are located on the same computing device, the first storage medium and the second storage medium are of different types;
if the first storage medium and the second storage medium are located in different computing devices, the types of the first storage medium and the second storage medium are different or the same.
11. A migration bandwidth adjustment apparatus for a storage medium, the apparatus being applied to a hybrid memory system, the apparatus comprising:
the system comprises an acquisition module, a storage module and a control module, wherein the acquisition module is used for acquiring access time delay of an application program to access a first storage medium, and the first storage medium is one storage medium in the hybrid memory system;
the determining module is used for determining time delay change information according to the acquired access time delay, wherein the time delay change information indicates the change rule of the application access time delay of the first storage medium, and the application access time delay is the time occupied by the first storage medium when the first storage medium is accessed by an application program;
the adjustment module is used for adjusting the migration bandwidth of the first storage medium according to the change rule, wherein the migration bandwidth indicates the bandwidth adopted when the first storage medium is subjected to data migration.
12. A hybrid memory system comprising a controller for performing the method of any one of claims 1 to 10.
13. A chip for use in a hybrid memory system, the chip being configured to perform the method of any one of claims 1 to 10.
14. A computer readable storage medium having stored therein at least one program code, the at least one program code being readable by a controller of a hybrid memory system to cause the controller to perform the method of any one of claims 1 to 10.
CN202211066383.3A 2022-08-31 2022-08-31 Migration bandwidth adjustment method, device and system of storage medium and chip Pending CN117666936A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211066383.3A CN117666936A (en) 2022-08-31 2022-08-31 Migration bandwidth adjustment method, device and system of storage medium and chip
PCT/CN2023/103715 WO2024045846A1 (en) 2022-08-31 2023-06-29 Method, apparatus and system for adjusting migration bandwidth of storage medium, and chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211066383.3A CN117666936A (en) 2022-08-31 2022-08-31 Migration bandwidth adjustment method, device and system of storage medium and chip

Publications (1)

Publication Number Publication Date
CN117666936A true CN117666936A (en) 2024-03-08

Family

ID=90066935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211066383.3A Pending CN117666936A (en) 2022-08-31 2022-08-31 Migration bandwidth adjustment method, device and system of storage medium and chip

Country Status (2)

Country Link
CN (1) CN117666936A (en)
WO (1) WO2024045846A1 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193646B (en) * 2017-05-24 2020-10-09 中国人民解放军理工大学 High-efficiency dynamic page scheduling method based on mixed main memory architecture
CN110413590A (en) * 2019-07-24 2019-11-05 北京百度网讯科技有限公司 Data migration method, device, equipment and medium
CN111143279B (en) * 2019-12-29 2022-04-22 浪潮电子信息产业股份有限公司 Data migration method, device and equipment and readable storage medium
CN114167972A (en) * 2020-08-21 2022-03-11 深圳市中兴微电子技术有限公司 Memory access method, module, controller, system and medium
CN114968854A (en) * 2021-02-25 2022-08-30 华为技术有限公司 Method for adjusting input bandwidth of memory and memory system
CN113296696A (en) * 2021-03-02 2021-08-24 阿里巴巴新加坡控股有限公司 Data access method, computing device and storage medium

Also Published As

Publication number Publication date
WO2024045846A1 (en) 2024-03-07

Similar Documents

Publication Publication Date Title
KR102044023B1 (en) Data Storage System based on a key-value and Operating Method thereof
US11360705B2 (en) Method and device for queuing and executing operation commands on a hard disk
CN109196461A (en) For providing the technology of the service quality of dynamic management in distributed memory system
US11262916B2 (en) Distributed storage system, data processing method, and storage node
US20190196989A1 (en) Method, Apparatus, and System for Accessing Memory Device
CN109857545B (en) Data transmission method and device
CN105373484A (en) Memory distribution, storage and management method in network communication chip
US10572183B2 (en) Power efficient retraining of memory accesses
CN113794764A (en) Request processing method and medium for server cluster and electronic device
CN114595043A (en) IO (input/output) scheduling method and device
US20240012800A1 (en) Data processing method, server, and system
CN116248699B (en) Data reading method, device, equipment and storage medium in multi-copy scene
CN112463073A (en) Object storage distributed quota method, system, equipment and storage medium
WO2024045846A1 (en) Method, apparatus and system for adjusting migration bandwidth of storage medium, and chip
US20220261354A1 (en) Data access method and apparatus and storage medium
WO2020024113A1 (en) Memory interleaving method and device
WO2017036245A1 (en) Storage array operation method and device
CN115495433A (en) Distributed storage system, data migration method and storage device
CN115904689A (en) Method, device, processor and computing equipment for controlling memory bandwidth
US11972148B2 (en) Proactive storage operation management using thermal states
US11941074B2 (en) Fetching a query result using a query filter
CN113094328B (en) Multi-channel parallel computing system for real-time imaging of synthetic aperture radar
US20230214258A1 (en) Storage controller and storage device
US20230401005A1 (en) Proactive Storage Operation Management Using Thermal States
US11907551B2 (en) Performance efficient and resilient creation of network attached storage objects

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination