WO2024045846A1 - Method, apparatus and system for adjusting migration bandwidth of storage medium, and chip - Google Patents

Method, apparatus and system for adjusting migration bandwidth of storage medium, and chip Download PDF

Info

Publication number
WO2024045846A1
WO2024045846A1 PCT/CN2023/103715 CN2023103715W WO2024045846A1 WO 2024045846 A1 WO2024045846 A1 WO 2024045846A1 CN 2023103715 W CN2023103715 W CN 2023103715W WO 2024045846 A1 WO2024045846 A1 WO 2024045846A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage medium
delay
migration
bandwidth
application
Prior art date
Application number
PCT/CN2023/103715
Other languages
French (fr)
Chinese (zh)
Inventor
熊鹰
杨瑞
黄磊
杨春
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2024045846A1 publication Critical patent/WO2024045846A1/en

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

Definitions

  • the present application relates to the field of storage technology, and in particular to a storage medium migration bandwidth adjustment method, device, system and chip.
  • DRAM dynamic random access memory
  • NVM non-volatile memory
  • the electronic device uses a fixed migration bandwidth to migrate data to the storage medium, and during the data migration process, the application program will also access the storage medium. Since the bandwidth provided by the storage medium is limited, the fixed migration bandwidth affects the bandwidth occupied by the application program when accessing the storage medium, thereby affecting the efficiency of the application program in accessing the storage medium. Therefore, there is an urgent need for a storage medium that can Method to adjust the migration bandwidth of the media.
  • This application provides a method, device, system and chip for adjusting the migration bandwidth of a storage medium, which improves the efficiency of application programs accessing the storage medium by adjusting the migration bandwidth of the storage medium.
  • a storage medium migration bandwidth adjustment method is provided. This method is applied to a hybrid memory system. This method includes the following steps: first obtain the access delay of the application program accessing the first storage medium in the hybrid memory system, and then, Then, based on the obtained access delay, determine the delay change information of the first storage medium. Finally, adjust the migration bandwidth of the first storage medium according to the change rule of the application access delay of the first storage medium indicated by the delay change information.
  • the application access delay is the time taken when the first storage medium is accessed by an application program
  • the migration bandwidth indicates the bandwidth used when migrating data to the first storage medium. bandwidth.
  • This method obtains the access delay of the application program to access the storage medium, and then obtains the delay change information based on the obtained access delay, and then adjusts the application access delay of the storage medium according to the change rule of the application access delay of the storage medium indicated by the delay change information.
  • Migration bandwidth of the storage medium so that the storage medium can later migrate data through the adjusted migration bandwidth to reduce the impact of the fixed migration bandwidth on the bandwidth used by applications to access the storage medium, thereby improving the efficiency of applications accessing the storage medium.
  • the application corresponds to at least one first delay threshold
  • the first delay threshold is less than the maximum access delay allowed by the application
  • the first delay threshold corresponds to the first bandwidth adjustment parameter.
  • 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 delay increases, and the obtained access delay is greater than or equal to the first delay threshold, according to the first delay
  • the first bandwidth adjustment parameter corresponding to the threshold reduces the migration bandwidth of the first storage medium.
  • the increase in application access delay may be caused by the migration bandwidth. Therefore, if the change rule is As the application access delay increases, the migration bandwidth of the first storage medium is reduced. Correspondingly, the access bandwidth of the application program to the first storage medium is increased to reduce the impact of the migration bandwidth on the application access delay, thereby reducing the application access delay. The access delay of the program improves the efficiency of the application program accessing the first storage medium.
  • the application corresponds to at least a second delay threshold
  • the second delay threshold is less than the maximum access delay allowed by the application
  • the second delay threshold corresponds to the second bandwidth adjustment parameter
  • 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 delay decreases, and the obtained access delay is less than or equal to the second delay threshold value, and increase the migration bandwidth of the first storage medium according to the second bandwidth adjustment parameter corresponding to the second delay threshold.
  • any delay threshold in the first delay threshold or the second delay threshold is less than multiple The minimum delay among the maximum access delays allowed by each application; or, if there is a target application that provides the target service among multiple applications, any delay threshold is smaller than the maximum access delay allowed by the target application.
  • the migration bandwidth of the first storage medium is adjusted according to any delay, so as to avoid the third
  • the application access latency of a storage medium reaches this minimum latency to meet the access latency requirements of multiple applications and avoid application crashes.
  • 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 can meet the requirements of the target service.
  • this method before obtaining the access delay of the application program's access to the first storage medium, this method also includes the following steps: if the application program meets the migration bandwidth adjustment condition, perform the acquisition of the application program's access to the first storage medium. access delay steps.
  • the access delay of the application will be obtained only when the application meets the migration bandwidth adjustment conditions, and then the migration bandwidth of the first storage medium will be adjusted based on the access delay of the application, reducing the workload, reducing the consumption of computing resources.
  • the application meeting the migration bandwidth adjustment condition includes at least one of the following: receiving a migration bandwidth adjustment request from the terminal, and the migration bandwidth adjustment request indicates that the migration bandwidth is adjusted according to the access delay of the application; applying The program provides a target service; the migration process of the first storage medium accessed by the application program has been run, and the migration process is used to migrate data to the first storage medium; the application program provides a target service; the migration of the first storage medium accessed by the application program The process has been run, and the migration process is used to migrate data to the first storage medium.
  • the access delay of the application will be obtained only when the application meets the migration bandwidth adjustment conditions, including receiving a migration bandwidth adjustment request from the terminal or the application provides a target service, and then through the application access delay, adjust the migration bandwidth of the first storage medium to reduce the impact of the migration bandwidth on the access delay of the application, thereby improving the efficiency of the application accessing the first storage medium, thereby ensuring that the terminal Or the access delay requirements of the target business for the application.
  • the migration process may be a migration reading process or a migration writing process, when the application meets the migration bandwidth adjustment conditions including the migration process of the first storage medium accessed by the application is already running, the first storage medium is implemented.
  • Unified management of migrated read bandwidth and migrated write bandwidth the management method is simple, without the need to design a separate management mechanism to manage the migrated read bandwidth and migrated write bandwidth of the first storage medium, avoiding the need to manage the migrated read bandwidth of the same storage medium and asymmetry management of migration write bandwidth.
  • the access delay includes at least one of a read delay and a write delay.
  • the read delay is the delay of the application program in reading data from the first storage medium
  • the write delay is the application delay. The delay for the program to write data to the first storage medium.
  • the process of obtaining the access delay of the application program to the first storage medium may be: if the read-write ratio of the application program to the first storage medium is greater than or equal to the target ratio, obtain the read-write ratio of the application program to the first storage medium. Latency; if the application's write-to-read ratio to the first storage medium is greater than or equal to the target ratio, obtain the application's write delay.
  • the read and write ratio of the application program to the first storage medium it is selected to obtain the read latency or the write implementation of the application program, without obtaining the write latency and read latency of the application program. delay, reducing workload.
  • the migration bandwidth is the migration read bandwidth or the migration write bandwidth
  • the migration read bandwidth is the bandwidth used when reading the data in the first storage medium during the data migration process
  • the migration write bandwidth is the data The bandwidth used when writing data in the second storage medium to the first storage medium during the migration process.
  • 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 on different For a computing device, the first storage medium and the second storage medium are of different or the same type.
  • a second aspect provides a storage medium migration bandwidth adjustment device, which includes various modules for executing the migration bandwidth adjustment method in the first aspect or any possible implementation of the first aspect.
  • a hybrid memory system in a third aspect, includes a controller configured to perform the migration bandwidth adjustment method in the first aspect or any possible implementation of the first aspect.
  • a fourth aspect provides a chip, which is used in a hybrid memory system and is used to perform the migration bandwidth adjustment method in the first aspect or any possible implementation of the first aspect.
  • a computer-readable storage medium is provided. At least one program code is stored in the storage medium. The program code is read by the controller of the hybrid memory system, so that the computing device where the controller is located executes the above-mentioned storage medium. The action performed by the migration bandwidth adjustment method.
  • a computer program product or computer program includes program code.
  • the program code is stored in a computer-readable storage medium.
  • the controller of the hybrid memory system obtains the program code from the computer-readable storage medium.
  • the program code is read, and the controller executes the program code, so that the computing device where the controller is located executes the method provided in the first aspect or various possible implementations of the first aspect.
  • Figure 1 is a schematic system architecture diagram of a hybrid memory system 100 provided by this application;
  • Figure 2 is a schematic diagram of a computing device 200 using the hybrid memory system 100 provided by this application;
  • Figure 3 is a schematic diagram of a computing device cluster 300 applying the hybrid memory system 100 provided by this application;
  • Figure 4 is a flow chart of a storage medium migration bandwidth adjustment method provided by this application.
  • Figure 5 is a flow chart of a migration bandwidth adjustment method based on migration bandwidth adjustment conditions provided by this application;
  • Figure 6 is a flow chart of a migration bandwidth adjustment method based on the average access delay of an application provided by this application;
  • Figure 7 is a schematic flow chart of migration bandwidth adjustment in a hybrid memory system provided by this application.
  • Figure 8 is a schematic structural diagram of a storage medium migration bandwidth adjustment device 800 provided by this application.
  • Figure 9 is a schematic structural diagram of a chip 900 provided by this application.
  • this application provides a migration bandwidth adjustment method. This method adjusts the migration bandwidth of the storage medium according to the changing rules of the application access delay of the storage medium in the hybrid memory system.
  • FIG. 1 is a schematic system architecture diagram of a hybrid memory system 100 provided by this application.
  • the hybrid memory system 100 includes at least one processor (central processing unit, CPU) 11 and at least two storage media 12.
  • NVM is such as phase change memory (PCM) and magnetic random access memory (MRAM).
  • the hybrid memory system 100 may also include other types of storage media besides NVM or DRAM, such as double-rate synchronous dynamic random access memory (double data rate SDRAM, DDR), static Random access memory (static random-access memory, SRAM) and high bandwidth memory (high bandwidth memory, HBM), etc.
  • the embodiment of the present application determines the number of CPUs 11 in the hybrid memory system 100, the number of storage media 12, and The types are not limited.
  • the storage medium 12 provides storage space, and the storage space is used to store data.
  • the storage medium 12 may be the memory of the CPU 11 or the external storage (such as a local disk) of the CPU 11 where it is located.
  • the storage medium 12 supports access by the CPU 11 in the hybrid memory system 100 .
  • the CPU 11 accesses the storage space in any storage medium 12 according to the running application program (that is, the application program accesses the storage medium) to read data in the storage space or transfer data to the storage medium 12 . Data is written to this storage space.
  • the hybrid memory system 100 also includes a controller 13.
  • the controller 13 is used to access data in the storage medium 12, and implement data migration functions through data interaction between any two storage media 12, where data exchange refers to a storage medium.
  • Data in medium 12 may be stored on another storage medium 12
  • data in another storage medium 12 may be stored on such storage medium 12 .
  • controller 13 is also used to adjust the migration bandwidth of the storage medium 12, which indicates the bandwidth used for data migration on the storage medium 12 accessed by the application program. For example, for any storage medium 12, the controller 13 adjusts the migration bandwidth of the storage medium 12 accessed by the application program according to the access delay of the application program accessing the storage medium 12.
  • the controller 13 includes a monitor 131, an adapter 132 and a migration engine 133.
  • the monitor 131 is used to monitor the access delay of the application program 121 accessing the storage medium 12 .
  • a certain CPU 11 sends an access request to a certain storage medium 12 according to the running application program to access the storage space of the storage medium 12.
  • the storage medium 12 returns an access response to the CPU 11 according to the received access request, and the monitor 131 responds according to the received access request.
  • the time when the CPU 11 sends the access request and the time when it receives the access response obtains the access delay of the application program's current access to the storage medium 12 .
  • the access request sent by CPU11 is also called a host request (host request), and the access response received by CPU11 is also called a host response (host response).
  • the access request is a data read request or a data write request
  • the access response is a data read response or data write response.
  • the access request is a data read request
  • the access response to the access request is a data read response.
  • the access request is a data write request
  • the access response to the access request is a data write response.
  • the data read request indicates reading data from the storage medium
  • the data read response indicates the data read from the storage medium.
  • the data write request indicates writing data to the storage medium
  • the data write response indicates whether writing data to the storage medium is successful.
  • the adapter 132 is used to obtain the access delay or average access delay of the application program from the monitor 131, and adjust the migration bandwidth of the storage medium 12 accessed by the application program based on the obtained access delay or average access delay.
  • the migration engine 133 is used to migrate data to the storage medium 12 according to the adjusted migration bandwidth during the data migration process of the storage medium 12 .
  • the process of migrating data in one storage medium 12 (called the source storage medium) to another storage medium 12 (called the destination storage medium) by the migration engine 133 includes a migration reading process and a migration writing process.
  • the migration engine 133 sends a migration read request to the source storage medium, where the migration read request indicates reading the data to be migrated from the source storage medium.
  • the source storage medium 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.
  • the migration engine 133 After receiving the migration read response, the migration engine 133 enters the migration write process, and sends a migration write request to the destination storage medium according to the migration read response, where the migration write request indicates writing the data to be migrated to the destination storage medium. Afterwards, the destination storage medium writes the data to be migrated carried in the migration write request into the destination storage medium, and returns a migration write response to the migration engine 133, where the migration write response indicates whether the writing of the data to be migrated to the destination storage medium is successful, or indicates whether the data is successfully written to the destination storage medium. Is the migration completed? For the convenience of description, in this application, the migration read request and the migration write request are both called migration requests, the migration read response is the migration response of the migration read request, and the migration write response is the migration response of the migration write request.
  • the migration read request and the migration write request are subdivisions of the data migration process.
  • the system can also use a migration request, and the migration request triggers the above migration read request and migration write request respectively.
  • the monitor 131 and the migration engine 133 are optional components in the controller 13. In other embodiments, the monitor 131 and the migration engine 133 are not located in the controller 13, but are located outside the controller 13. For example, the monitor 131 and the migration engine 133 are located within the hybrid memory system 100 and are independent of the controller 13 , or are located outside the hybrid memory system 100 .
  • the hybrid memory system 100 also includes a scheduler 14, which is used to schedule access requests of the CPU 11 and migration requests of the migration engine 133.
  • the migration request indicates migrating data in a certain storage medium 12 to another storage medium 12 .
  • the access request of the CPU 11 and the migration request of the migration engine 133 are both sent to the governor 13.
  • the scheduler 14 follows the first-in-first-out (first-in, first-out) method. Input first output, FIFO) principle, schedules the received access requests and migration requests.
  • the scheduler 14 first receiving the access request and then receiving the migration request as an example, the scheduler 14 first sends the access request to the storage medium 12, and then sends the access response returned by the storage medium 12 to the CPU 11, and then the scheduler 14 The migration request is sent to the storage medium 12, and then the scheduler 14 receives the migration response (migration response) returned by the storage medium 12 according to the migration request, and the scheduler 14 then sends the migration response to the migration engine 133.
  • the scheduler 14 first sends the access request to the storage medium 12, and then sends the access response returned by the storage medium 12 to the CPU 11, and then the scheduler 14
  • the migration request is sent to the storage medium 12, and then the scheduler 14 receives the migration response (migration response) returned by the storage medium 12 according to the migration request, and the scheduler 14 then sends the migration response to the migration engine 133.
  • At least one CPU 11 and the scheduler 14 are optional components in the hybrid memory system 100.
  • the at least one CPU 11 and the scheduler 14 do not belong to the hybrid memory system 100, but belong to the device where the hybrid memory system 100 is located and are independent. outside of the hybrid memory system 100 .
  • the hybrid memory system 100 may be deployed on a single computing device or in a cluster of computing devices. The following two deployment methods of the hybrid memory system 100 will be introduced in detail with reference to Figures 2 and 3 respectively.
  • FIG. 2 is a schematic diagram of a computing device 200 applying the hybrid memory system 100 provided by this application.
  • the computing device 200 includes the hybrid memory system 100, where the computing device 200 is a server or a terminal device, where the server is such as a cloud. Server, central server, edge server, remote server in remote data center or local server in local data center, etc. Terminal devices such as desktop computers, laptops, or smartphones.
  • the hybrid memory system 100 In the case where the hybrid memory system 100 is deployed on the computing device 200, at least two storage media 12 in the hybrid memory system 100 respectively belong to different categories. It can be understood that at this time, the hybrid memory system 100 includes at least two storage media 12 , and the at least two storage media 12 are local storage nodes of the CPU 11 in the hybrid memory system 100 . Different types of storage media 12 may have different performance, usually Data migration is performed between different types of storage media to ensure the efficiency of CPU access to local storage nodes.
  • Figure 1 shows the system architecture of a hybrid memory system
  • Figure 2 is an application scenario of the system architecture shown in Figure 1
  • the storage media 12 in the hybrid memory system shown in FIG. 1 may be of the same type, while the storage media 12 in the hybrid memory system in the application scenario shown in FIG. 2 may be of different types.
  • FIG 3 is a schematic diagram of a computing device cluster 300 using a hybrid memory system 100 provided by this application.
  • the computing device cluster 300 includes multiple computing devices 301 and at least one hybrid memory system 100 (100a in Figure 3 , 100b and 100c), multiple computing devices 301 are connected through wireless or wired methods.
  • the computing device cluster 300 is a data center, or a cloud computing center for providing cloud services.
  • the computing device 301 is a server, such as a cloud server, a central server, an edge server, a remote server in a remote data center, or a local data center. local server in etc.
  • 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 CPU 11 in the same hybrid memory system 100 may be located in the same computing device 301, or may be located in the same storage medium.
  • Different computing devices 301 , the CPU 11 and the storage medium 12 in the same hybrid memory system 100 may also be located in different computing devices 301 .
  • the storage medium 12 and the CPU 11 in the hybrid memory system 100a are respectively located in two computing devices 301.
  • the storage medium 12 in the hybrid memory system 100b is located in two computing devices 301, and the CPUs 11 in the hybrid memory system 100b are also located in the two computing devices 301 respectively.
  • the storage medium 12 in the hybrid memory system 100c is located in two computing devices 301, and the CPU 11 in the hybrid memory system 100c is located in another computing device 301.
  • the storage medium 12 located in the same computing device 301 as the CPU 11 in the hybrid memory system 100 is the local storage node of the CPU 11
  • the storage medium 12 located in a different computing device 301 with the CPU 11 in the hybrid memory system 100 is the remote end of the CPU 11 storage node.
  • the computing device cluster 300 there is at least one storage medium 12 in the same computing device 301. If the storage media 12 in the hybrid memory system 100 are located in different computing devices 301, at least two storage media in the hybrid memory system 100 12 may be different types of storage media, or may be the same type of storage media.
  • the computing device 301 may be the same as the computing device 200 in FIG. 2 , and the hybrid memory system 100 is deployed in the computing device 301 .
  • Fig. 1 shows the system architecture of the hybrid memory system 100
  • Fig. 3 shows another application scenario of the system architecture shown in Fig. 1.
  • Figure 2 and Figure 3 is that the hybrid memory system 100 shown in Figure 2 is located within the same computing device, while the hybrid memory system 100 shown in Figure 3 is across computing devices.
  • the storage media 12 in the hybrid memory system shown in FIG. 2 are of different types, while the storage media 12 in different computing devices in the hybrid memory system shown in FIG. 3 may be of the same type.
  • any storage medium in the hybrid memory system may be the memory of the computing device where any storage medium is located.
  • FIG. 2 and FIG. 3 illustrate the controller 13 as a component within the computing device.
  • the controller 13 may be mounted on the CPU 11 in the hybrid memory system 100 to serve as a control component of the hybrid memory system 100, or the controller 13 may also be mounted on the hybrid memory system 100.
  • the storage medium 12 in 100 serves as a memory controller for the storage medium 12.
  • the embodiment of the present application does not limit the mounting method of the controller 13 in the computing device.
  • FIGS 1 to 3 all show an example in which the controller 13 is located in the hybrid memory system 100.
  • the controller 13 is independent of the hybrid memory system 100.
  • the embodiment of the present application does not limit whether the controller 13 belongs to the hybrid memory system 100.
  • the controller 13 can adjust the migration bandwidth of the storage medium 12 in the hybrid memory system 100.
  • the controller 13 is implemented through software implementation, hardware implementation, or a combination of software and hardware.
  • the monitor 131, the adapter 132 and the migration engine 133 may all be implemented by software or hardware.
  • the following takes the adapter 132 as an example to introduce the implementation of the adapter 132 .
  • the implementation of the monitor 131 and the migration engine 133 may refer to the implementation of the adapter 132 .
  • Adapter 132 is an example of a software functional unit.
  • Adapter 132 includes code that runs on a computing instance.
  • the computing instance includes at least one of a physical host (computing device), a virtual machine, and a container.
  • the above computing instance may be one or more.
  • adapter 132 includes code running on multiple hosts/virtual machines/containers.
  • multiple hosts/virtual machines/containers used to run the code may be distributed in the same region (region), or they may be distributed in different regions.
  • multiple hosts/virtual machines/containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs.
  • Each AZ includes one data center or multiple data centers that are geographically close to each other. Among them, usually a region can include multiple AZs.
  • the multiple hosts/VMs/containers used to run the code can be distributed in the same virtual private cloud (VPC), or across multiple VPCs.
  • VPC virtual private cloud
  • Cross-region communication between two VPCs in the same region and between VPCs in different regions requires a communication gateway in each VPC, and the interconnection between VPCs is realized through the communication gateway. .
  • the adapter 132 is an example of a hardware functional unit.
  • the adapter 132 may include at least one computing device, such as a server.
  • the adapter 132 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the above-mentioned PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL), or any combination thereof.
  • CPLD complex programmable logical device
  • FPGA field-programmable gate array
  • GAL general array logic
  • Multiple computing devices included in the adapter 132 may be distributed in the same region or in different regions. Multiple computing devices included in the adapter 132 may be distributed in the same AZ or in different AZs. Likewise, multiple computing devices included in adapter 132 may be distributed in the same VPC or in multiple VPCs.
  • the plurality of computing devices may be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
  • the controller in the hybrid memory system adjusts the migration bandwidth of the storage medium based on the access delay of the application.
  • FIG. 4 for a flow chart of a storage medium migration bandwidth adjustment method provided by this application. This method is applied to a hybrid memory system and is executed by a controller of the hybrid memory system.
  • Step 401 The controller obtains the access delay of the application program accessing the first storage medium.
  • the first storage medium is a storage medium in the hybrid memory system.
  • the hybrid memory system is any of the hybrid memory systems introduced in Figures 1 to 3.
  • the application program is any application program run by any processor in a certain computing device. Taking the hybrid memory system deployed on the computing device as an example, the first storage medium is within the hybrid memory system deployed in the computing device. any storage medium. The storage space in the first storage medium has been allocated to the application program. Therefore, the application program has the permission to access the first storage medium, and the application program can access the first storage medium.
  • the access delay of an application program's access to the first storage medium is referred to as the access delay of the application program.
  • the access delay is the time it takes for the application program to complete a single access to the first storage medium.
  • the ways in which the application program accesses the first storage medium include method A1 or method A2, wherein method A1 is: the application program reads data from the first storage medium, and method A2 is: the application program writes data to the first storage medium.
  • the access delay is a read delay or a write delay, where the read delay is the delay of the application program in reading data from the first storage medium.
  • the write delay is the delay for the application program to write data to the first storage medium.
  • the access delay of the application program is a parameter used by the controller to adjust the migration bandwidth of the first storage medium. Therefore, before the controller adjusts the migration bandwidth of the first storage medium, the access delay of the application program is first obtained. Latency, the access latency obtained includes at least one of read latency and write latency.
  • the controller obtains the read delay of the application program accessing the first storage medium.
  • the controller obtains the write delay of the application program accessing the first storage medium.
  • the controller obtains the read latency and write latency of the application program accessing the first storage medium.
  • whether the parameter used by the controller to adjust the migration bandwidth is read latency or write latency is determined by the read-write ratio and the write-read ratio of the application to the first storage medium, where,
  • the read-write ratio is the ratio of the number of times the application program reads data from the first storage medium to the number of times the application program writes data to the first storage medium while the application program is running.
  • the write-to-read ratio is the reciprocal of the read-to-write ratio.
  • the controller obtains the write delay of the application program's access to the first storage medium; If the read ratio is greater than or equal to the target ratio, the controller obtains the write latency of the application program accessing the first storage medium.
  • the target ratio can be set according to the actual application scenario, for example, the target ratio is 7:3.
  • the embodiment of the present application does not limit the value range of the target ratio.
  • the controller chooses to obtain the read latency or the write latency of the application program based on the read and write ratio of the application program to the first storage medium, without the need for the controller to obtain the two access latencies of the application program, the write latency and the read latency. , reducing the workload of the controller.
  • the application's read-write ratio to the first storage medium is greater than or equal to the target ratio, it means that the application frequently reads data from the first storage medium, and the application's read latency can accurately reflect the application's access.
  • the controller can accurately adjust the migration bandwidth of the first storage medium according to the read latency of the application.
  • the controller determines the application's write time based on the application's write time. Delay can accurately adjust the migration bandwidth of the first storage medium.
  • the read latency and write latency of the application program are both the access latency of the application program accessing the first storage medium.
  • the controller obtains the application program access through either of the following methods B1 and B2. The access delay of the first storage medium.
  • Method B1 The controller monitors the access delay of the application program in accessing the first storage medium and obtains a monitoring result, where the monitoring result includes at least one access delay of the application program.
  • the processor sends an access request to the first storage medium.
  • the access request includes a first timestamp, and the first timestamp indicates the sending time of the access request.
  • the first storage medium receives the access request, and the first storage medium returns an access response to the processor according to the access request.
  • the processor receives the access response and indicates the reception time of the access response through the second timestamp.
  • the controller obtains the first timestamp and the second timestamp from the processor, and uses the difference between the second timestamp and the first timestamp as an access delay.
  • the controller continuously monitors the access delay of the application program in accessing the first storage medium, thereby being able to detect multiple access delays.
  • the first storage medium carries the physical address of the storage space to be read according to the data read request, queries the storage space to be read in the first storage medium, and based on the first address in the queried storage space data, generate a data read response, and send the data read response to the processor, where the data read response includes first data, which is the data requested to be read by the data read request.
  • the access delay monitored by the controller is the read delay.
  • the access request is a data write request
  • the data write request includes second data
  • the second data is data to be written
  • the first storage medium queries the storage space to be written in the first storage medium according to the data write request, and sends the request to the first storage medium.
  • the second data is written into the queried storage space, and then the data write response is sent to the processor.
  • the access delay monitored by the controller is the write delay.
  • the controller includes a monitor.
  • the monitor is a functional module in the controller used to monitor the access delay of the application program.
  • Method B1 is executed by the monitor in the controller.
  • mode B1 is executed by the monitor 131.
  • each device in the controller may be implemented by software or hardware, so that the controller can be implemented by software, hardware, or a combination of software and hardware.
  • the monitor in the controller as an example, the monitor may be implemented by software or hardware.
  • the implementation of the monitor please refer to the implementation of the orchestrator 132 introduced above.
  • the monitor is an optional functional module in the controller.
  • the controller does not include a monitor. In this case, the controller does not have the function of monitoring the access delay of the application program, then the controller can B2 obtains the access delay of the application program in the following manner.
  • Method B2 The monitoring unit monitors the access delay of the application program accessing the first storage medium, and the controller obtains the monitoring results from the monitoring unit.
  • the monitoring unit is a functional module outside the controller that is used to monitor the access delay of the application program.
  • the monitoring unit may be implemented by software or hardware.
  • the process of monitoring the access delay of the application program to the first storage medium by the monitoring unit may refer to method B1.
  • the controller After obtaining the access delay of the application program, the controller adjusts the migration bandwidth of the first storage medium according to the access delay of the application program. For example, steps 402 and 403 below.
  • Step 402 The controller determines the delay change information based on the obtained access delay.
  • the delay change information indicates the change rule of the application access delay of the first storage medium.
  • the application access delay is used for the first storage medium. The time taken by the program to access.
  • the change rule includes an increase or decrease in the application access delay.
  • the delay change information includes a first rule identifier or a second rule identifier, where the first rule identifier indicates that the application access delay The delay increases, and the second rule indicator indicates that the access delay of the application decreases.
  • the first rule identifier and the second rule identifier are expressed in different ways. For example, the first rule identifier is 1 and the second rule identifier is 0, or the first rule identifier is 0 and the second rule identifier is 1.
  • this The application embodiment does not limit the expression methods of the first regularity identifier and the second regularity identifier.
  • the controller obtains a monitoring result every time the target duration passes.
  • the monitoring result obtained during the current target duration is called the first monitoring result
  • the previous target of the current target duration is called the first monitoring result.
  • the monitoring results obtained for a longer period of time are called second monitoring results.
  • the controller determines the delay change information based on the first monitoring result in the current target duration and the second monitoring result in the previous target duration.
  • the controller combines the access delays in the first monitoring result and the second monitoring result to form an access delay sequence. If the access delay values in the access delay sequence increase sequentially, it means that the access delay of the application changes. If the pattern is increasing, the controller generates delay change information including the first pattern identifier. If the access delay values in the access delay sequence decrease successively, it means that the change pattern of the application delay is decreasing, then the application Generate delay change information including the second law identifier.
  • Step 403 The controller adjusts the migration bandwidth of the first storage medium according to the change rule.
  • the migration bandwidth indicates the bandwidth used when migrating data to the first storage medium.
  • the migration bandwidth is the migration read bandwidth or the migration write bandwidth.
  • the migration read bandwidth is the bandwidth used when reading the data in the first storage medium during the data migration process.
  • the migration write bandwidth is the bandwidth used during the data migration process.
  • the bandwidth used when data in the second storage medium is written to the first storage medium.
  • the second storage medium is any storage medium in the hybrid memory system except the first storage medium. Taking a hybrid memory system deployed on a computing device as an example, the second storage medium and the first storage medium are of different types.
  • the migration process of the first storage medium is used to implement data migration between the first storage medium and the second storage medium.
  • the migration process includes a migration reading process or a migration writing process.
  • the migration reading process is used to implement the migration reading process in the data migration process. For example, the migration reading process generates a migration read request to read the data to be migrated from the first storage medium. .
  • the migration reading and writing process is used to implement the migration writing process in the data migration process. For example, the migration writing process generates a migration writing request to write the data to be migrated read from the first storage medium to the second storage medium.
  • the controller adjusts the migration read bandwidth of the first storage medium based on the change rule. If the migration write process of the first storage medium has been run, the controller adjusts the migration write bandwidth of the first storage medium based on the change rule, so that the controller can adjust the first storage medium according to the access delay of the application program.
  • the migration read bandwidth can also be adjusted to the migration write bandwidth of the first storage medium, realizing unified management of the migration read bandwidth and migration write bandwidth of the first storage medium.
  • the management method is simple and does not require the migration of the first storage medium.
  • a separate management mechanism is designed for read bandwidth and migrated write bandwidth to avoid asymmetric management of migrated read bandwidth and migrated write bandwidth of the same storage medium.
  • the controller adjusts the migration read bandwidth of the first storage medium based on the change rule as follows: introduce:
  • Method C1 If the change pattern is that the application access delay increases, the controller reduces the migration bandwidth.
  • the increase in the application access delay may be caused by the migration bandwidth. Therefore, if the change pattern is the increase in the application access delay , the controller reduces the migration bandwidth.
  • the access bandwidth of the application to the first storage medium is increased to reduce the impact of the migration bandwidth on the application access delay, thereby reducing the access delay of the application and improving the application The efficiency with which the program accesses the first storage medium.
  • the controller reduces the migration bandwidth based on the maximum access delay allowed by the application.
  • the maximum access delay allowed by the application refers to the maximum access delay allowed by the application to access the storage medium.
  • the application corresponds to at least a first delay threshold, the first delay threshold is less than the maximum access delay allowed by the application, and the first delay threshold corresponds to a first bandwidth adjustment parameter. If the change pattern is that the application access delay increases, and the obtained access delay is greater than or equal to the first delay threshold, the controller reduces the migration bandwidth according to the first bandwidth adjustment parameter corresponding to the first delay threshold.
  • the access delay obtained here may be the latest access delay obtained, for example, the last access delay in the access delay sequence.
  • the multiple first delay thresholds may correspond to the same first bandwidth adjustment parameter, or may correspond to different first bandwidth adjustment parameters. In the case where multiple first delay thresholds correspond to different first bandwidth adjustment parameters, there are multiple different first bandwidth adjustment parameters, and each first delay threshold corresponds to one of the multiple first bandwidth adjustment parameters.
  • the first bandwidth adjustment parameter For example, in an ascending order of the plurality of first delay thresholds, the first bandwidth adjustment parameters corresponding to the plurality of first delay thresholds increase or decrease in sequence.
  • the controller will The first bandwidth adjustment parameter corresponding to the delay threshold reduces the migration bandwidth.
  • the controller combines multiple first delay thresholds into a first delay threshold sequence, and reduces the migration bandwidth according to the position of the first delay threshold in the first delay threshold sequence. For example, in the case where the plurality of first delay thresholds form a first delay threshold sequence in order from small to large, if the change pattern is that the application access delay increases, the last access delay in the access delay sequence is greater than or equal to any first delay threshold, and the last access delay is less than the next first delay threshold after any first delay threshold in the first delay threshold sequence, then the controller will The first bandwidth adjustment parameter corresponding to the first delay threshold reduces the migration bandwidth.
  • the controller based on The first bandwidth adjustment parameter corresponding to any first delay threshold reduces the migration bandwidth.
  • the controller reduces the migration bandwidth by the adjustment ratio based on the current migration bandwidth.
  • the controller reduces the first adjustment amplitude based on the current migration bandwidth.
  • Method C2 If the change pattern is that the application access delay decreases, the controller increases the migration bandwidth.
  • the access delay of the application decreases, indicating that the access delay of the application program is decreasing at this time. Therefore, if the change pattern indicates that the application As the access delay decreases, the controller increases the migration bandwidth, thereby improving the efficiency of data migration in the first storage medium while ensuring that the application program accesses the first storage medium with a small access delay.
  • the controller increases the migration bandwidth based on the maximum access delay allowed by the application.
  • the application program corresponds to at least a 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 the second bandwidth adjustment parameter.
  • the at least one second delay threshold is smaller than the minimum delay threshold among the at least one first delay threshold.
  • the controller increases the migration bandwidth according to the second bandwidth adjustment parameter corresponding to the second delay threshold.
  • the access delay obtained here may be the latest access delay obtained, for example, the last access delay in the access delay sequence.
  • the multiple second delay thresholds may correspond to the same second bandwidth adjustment parameter, or may correspond to different second bandwidth adjustment parameters. In the case where multiple second delay thresholds correspond to different second bandwidth adjustment parameters, there are multiple different second bandwidth adjustment parameters, and each second delay threshold corresponds to one of the multiple second bandwidth adjustment parameters. Second bandwidth adjustment parameter. For example, in an ascending order of the plurality of second delay thresholds, the second bandwidth adjustment parameters corresponding to the plurality of second delay thresholds increase or decrease in sequence.
  • the controller will The second bandwidth adjustment parameter corresponding to the delay threshold is used to increase the migration bandwidth.
  • the controller combines multiple second delay thresholds into a second delay threshold sequence, and increases the migration bandwidth according to the position of the second delay threshold in the second delay threshold sequence.
  • the controller will The second bandwidth adjustment parameter corresponding to the second delay threshold increases the migration bandwidth.
  • the controller based on The second bandwidth adjustment parameter corresponding to any second delay threshold increases the migration bandwidth.
  • the controller increases the migration bandwidth by the adjustment ratio based on the current migration bandwidth.
  • the controller increases the second adjustment range based on the current migration bandwidth.
  • the controller determines the delay change information, and adjusts the migration bandwidth of the first storage medium according to the change pattern indicated by the delay change information determined this time, thereby realizing the migration bandwidth of the first storage medium. Dynamic Adjustment.
  • the controller will The first adjustment parameter corresponding to the threshold reduces the migration bandwidth of the first storage medium.
  • the controller increases the first storage medium according to the second adjustment parameter corresponding to the second delay threshold.
  • the migration bandwidth of the medium can be refined and smoothly dynamically adjusted to the migration bandwidth of the first storage medium to avoid large changes in the access delay of the application program, making the application unaware of changes in the access delay.
  • the controller includes an adapter, and step 403 is performed by the adapter in the controller. Taking the controller 13 in Figure 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 migrate data to the first storage medium.
  • the controller does not need to perform this step 403.
  • the controller can also continuously obtain the access delay of the application program, and execute the process of steps 402 to 403 every time a target duration passes, thereby realizing dynamic adjustment of the migration bandwidth.
  • the migration bandwidth is used so that the storage medium can later migrate data through the adjusted migration bandwidth, thereby reducing the impact of the fixed migration bandwidth on the bandwidth used by applications to access the storage medium, thereby improving the efficiency of applications accessing the storage medium.
  • FIG. 5 is a flow chart of a migration bandwidth adjustment method based on migration bandwidth adjustment conditions provided by this application. This method is applied to a hybrid memory system, and the method is executed by a controller of the hybrid memory system.
  • Step 501 If the application program meets the migration bandwidth adjustment condition, the controller obtains the access delay of the application program accessing the first storage medium, and the first storage medium is a storage medium in the hybrid memory system.
  • the application meeting the migration bandwidth adjustment conditions includes at least one of the following situations 1 to 3:
  • Case 1 A migration bandwidth adjustment request from the terminal is received, which indicates that the migration bandwidth of the first storage medium is adjusted according to the access delay of the application program.
  • Scenario 2 The application provides targeted services.
  • This step 501 will be introduced by taking the application meeting the migration bandwidth adjustment condition, including one of cases 1 to 3, and the controller obtaining the access delay of the application to access the first storage medium as an example.
  • the application satisfying the migration bandwidth adjustment condition includes a combination of at least two of the situations 1 to 3.
  • the process of the controller obtaining the access delay of the application accessing the first storage medium can be referred to the acquisition process when a single situation is satisfied.
  • the terminal provides an option to enable the migration bandwidth adjustment mode, the user selects the option, and the terminal sends a migration bandwidth adjustment request to the controller in response to the selection operation.
  • the controller receives the migration bandwidth adjustment request from the terminal, then the application meets the migration bandwidth adjustment condition, and the controller adjusts the migration bandwidth for the application to access the first storage medium according to the migration bandwidth adjustment request. Therefore, the migration is adjusted.
  • the controller Before determining the bandwidth, the controller first obtains the access delay of the application program accessing the first storage medium.
  • the target service is a service that requires a high access delay of the application program.
  • the target service requires that the access delay of the application program is less than or equal to the target delay threshold.
  • the target latency threshold is less than the maximum access latency allowed by the application.
  • the target business includes services provided by remote dictionary service (remote dictionary server, Redis), relational database management system (MySQL), and computing engine (Spark).
  • the CPU in a memory hybrid system is allowed to run multiple applications. If any of the multiple applications provides a target service, the application meets the migration bandwidth adjustment conditions, and the controller adjusts the migration bandwidth according to the access time of the application. delay, and adjust the migration bandwidth of the application program to access the first storage medium. Therefore, before adjusting the migration bandwidth, the controller first obtains the access delay of the application program to the first storage medium.
  • the controller detects whether the migration process of the first storage medium has been run. If it is detected that the migration process of the first storage medium has been run, the application meets the migration bandwidth adjustment condition, and the controller accesses the first storage medium based on The access delay of the application program is used to adjust the migration bandwidth of the first storage medium. Therefore, before adjusting the migration bandwidth, the controller first obtains the access delay of the application program accessing the first storage medium.
  • the controller When the application meets the migration bandwidth adjustment conditions, the controller will obtain the access delay of the application, and then adjust the migration bandwidth of the first storage medium based on the access delay of the application, reducing the workload of the controller. , reducing the consumption of computing resources. Only after receiving a migration bandwidth adjustment request from the terminal or the application provides a target service, the controller will obtain the access delay of the application, and then adjust the migration bandwidth of the first storage medium based on the access delay of the application. , to reduce the impact of the migration bandwidth on the access delay of the application, thereby improving the efficiency of the application in accessing the first storage medium, thereby ensuring the access delay requirements of the terminal or target business for the application.
  • controller may refer to the above-mentioned step 401 for the process of obtaining the access delay of the application program accessing the first storage medium.
  • Step 502 The controller determines delay change information based on the obtained access delay.
  • the delay change information indicates the delay change information of the first storage medium.
  • the changing rule of the application access delay is the time occupied by the first storage medium when it is accessed by the application program.
  • Step 502 is the same as step 402. Step 502 will not be described again in this embodiment of the present application.
  • Step 503 The controller adjusts the migration bandwidth of the first storage medium according to the change rule.
  • the migration bandwidth indicates the bandwidth used for data migration of the first storage medium.
  • Step 503 is the same as step 403. Step 503 will not be described again in this embodiment of the present application.
  • the migration bandwidth is used so that the storage medium can later migrate data through the adjusted migration bandwidth, thereby reducing the impact of the fixed migration bandwidth on the bandwidth used by applications to access the storage medium, thereby improving the efficiency of applications accessing the storage medium.
  • FIG. 6 is a flow chart of a migration bandwidth adjustment method based on the average access delay of an application provided by this application. This method is applied to a hybrid memory system, and the method is executed by the controller of the hybrid memory system.
  • Step 601 The controller obtains the average access delay of the application program's access to the first storage medium, which is a storage medium in the hybrid memory system.
  • the average access delay is the average time it takes for the application to access the first storage medium in a single time within the target duration.
  • the controller obtains a monitoring result.
  • the controller sums the access delays in the monitoring results to obtain the total delay, counts the total number of access delays in the monitoring results, and adds the total number of access delays in the monitoring results. The ratio between the total delay and the total number is used as the average access delay.
  • step 601. if the application meets the migration bandwidth adjustment condition, the controller executes step 601.
  • the controller executes step 601.
  • this step 601 is performed by the adapter in the controller. Taking the controller 13 in Figure 1 as an example, this step 601 is performed by the adapter 132 in the controller 13.
  • Step 602 The controller determines the delay change information based on the obtained average access delay.
  • the delay change information indicates the change rule of the application access delay of the first storage medium.
  • the application access delay is the first storage medium. The time taken by the application to access.
  • the controller obtains an average access delay every time the target duration passes.
  • the average access delay obtained during the current target duration is called the first average access delay
  • the current The average access delay obtained from the previous target duration is called the second average access delay.
  • the controller determines the delay change information based on the first average access delay in the current target duration and the second average access delay in the previous target duration.
  • the controller For example, if the first average access delay is greater than the second average access delay, it means that the change pattern of the application's access delay is increasing, and the controller generates delay change information including the first rule identifier. If the first average access delay If the delay is less than the second average access delay, it means that the change pattern of the access delay of the application program is decreasing, and 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.
  • the migration bandwidth indicates the bandwidth used when migrating data to the first storage medium.
  • Step 603 is the same as step 403. Step 603 will not be described again in this embodiment of the present application.
  • the migration bandwidth is used so that the storage medium can later migrate data through the adjusted migration bandwidth, thereby reducing the impact of the fixed migration bandwidth on the bandwidth used by applications to access the storage medium, thereby improving the efficiency of applications accessing the storage medium.
  • FIG. 7 is used as an example to further introduce a migration bandwidth adjustment method in a hybrid memory system provided by this application.
  • the hybrid memory system is any of the hybrid memory systems shown in Figures 1 to 3. It can be understood that although the controllers of the hybrid memory systems 100a to 100c are not shown in Figure 3, the hybrid memory systems 100a to 100c all have controllers. Therefore, in this hybrid memory system, any hybrid memory system shown in Figure 3 When using a memory system, Figure 7 is an example of migration bandwidth adjustment for storage media in any hybrid memory system shown in Figure 3. Below, taking the controller of the hybrid memory system including monitors, adapters and migration engines as an example, Figure 7 is introduced as follows:
  • the controller initializes.
  • the adapter in the controller configures the interface through the initialization process.
  • Configure the migration bandwidth of the storage medium in the hybrid memory system to the migration engine for example, the migration read bandwidth is 80MB/s and the migration write bandwidth is 30MB/s).
  • the adapter configures the application access delay, the first delay threshold, and the second delay threshold.
  • the delay value, the first bandwidth adjustment parameter and the second bandwidth adjustment parameter, the monitor turns on the delay monitoring function to monitor the access delay of the application program.
  • the monitor monitors the access delay of the application that has the permission to access the storage medium.
  • a certain processor When a certain processor is running the application, it issues an access request to the storage medium.
  • the monitor detects that the application has the permission to access the storage medium.
  • Application access latency If the storage medium meets the migration conditions, the migration engine runs the migration process of the storage medium to migrate data to the storage medium using the currently configured migration bandwidth.
  • the storage medium meeting the migration conditions includes a certain memory of the storage medium. The page is a hot page, a certain memory page is a cold page, the storage medium fails, or other storage media migrates data to the storage medium.
  • the hot page is migrated to another storage medium in the hybrid memory system that has higher data transmission performance than the storage medium.
  • a certain memory page of the storage medium is a cold page
  • the cold page is migrated to another storage medium in the hybrid memory system that has lower data transmission performance than the storage medium.
  • the storage medium fails, the data in the failed storage medium is migrated to another non-faulty storage medium in the hybrid memory system.
  • the storage medium may also satisfy other migration conditions besides the migration conditions introduced above.
  • the embodiment of the present application does not limit the situation in which the storage medium meets the migration conditions.
  • Data migration starts from the migration process to the storage medium.
  • the adapter uses the target duration as a polling cycle. After each polling cycle, the adapter polls the monitor. , to obtain the number of access delays within the target duration and the total access delay from the monitor. If the migration process is not running, the data migration ends at this time, and the adapter will no longer adjust the migration bandwidth.
  • the adapter determines whether to adjust the migration bandwidth of the storage medium based on the number of access delays obtained and the total access delay. For example, the adapter determines the average access delay of the application based on the number of access delays obtained and the total access delay, and determines the storage medium based on the average access delay obtained this time and the average access delay obtained previously. The change pattern of application delay. If the change pattern of application delay is increasing, and the average access delay obtained this time reaches the first delay threshold, the adapter appropriately reduces the migration bandwidth (such as reducing the migration bandwidth according to the first bandwidth adjustment parameter). ).
  • the adapter appropriately increases the migration bandwidth (for example, increases the migration bandwidth according to the second bandwidth adjustment parameter). If the change pattern of application delay is basically unchanged, the adapter does not adjust 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 within the target duration, uses the adjusted migration bandwidth, and continues to migrate data to the storage medium. At this time, for the migration engine, the adjusted migration bandwidth is also the current migration bandwidth.
  • the migration engine keeps the previously configured migration bandwidth unchanged within the target duration, uses the previously configured migration bandwidth, and continues to migrate data to the storage medium. At this time, for the migration engine, The previously configured migration bandwidth is also the current migration bandwidth.
  • the adapter waits for the next polling cycle while the migration engine maintains the current migration bandwidth.
  • the embodiments shown in Figures 4 to 7 all take the example of adjusting the migration bandwidth of the first storage medium according to the access delay of a single application.
  • the storage in the first storage medium The space may be allocated to multiple applications, so that the first storage medium supports access by the multiple applications.
  • the controller can also obtain the access delays of the multiple applications, and access the third application program according to the obtained access delays.
  • the access delay of the first storage medium is adjusted to the migration bandwidth of the first storage medium.
  • the controller first obtains the access delays of multiple applications by referring to the method of obtaining the access delays of a single application in the above method embodiment.
  • the controller determines based on the obtained access delays of multiple application programs accessing the first storage medium.
  • the delay change information adjusts the migration bandwidth of the first storage medium according to the change rule indicated by the delay change information.
  • the controller may refer to step 402 or step 601 to step 602 for the process of determining the delay change information based on the acquired access delays of multiple application programs accessing the first storage medium.
  • the controller can adjust the migration bandwidth of the first storage medium according to the change pattern indicated by the delay change information by referring to step 403.
  • the controller can select the second delay threshold and the second delay threshold according to multiple applications. Delay threshold. For example, for any delay threshold among the first delay threshold or the second delay threshold, and the delay threshold is less than the minimum delay among the maximum access delays allowed by the multiple applications, according to the delay Adjust the migration bandwidth of the first storage medium to prevent the application access delay of the first storage medium from reaching the minimum delay, so as to meet the access delay requirements of multiple applications and avoid application crashes.
  • 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 can meet the requirements of the target business.
  • this application provides a schematic structural diagram of a storage medium migration bandwidth adjustment device 800.
  • the migration bandwidth adjustment device 800 can be the controller or part of the controller of the hybrid memory system in the previous embodiments, and is used to perform control. The method executed by the implementer. Among them, the migration bandwidth adjustment device 800 is applied to a hybrid memory system, and the migration bandwidth adjustment device 800 includes:
  • Obtaining module 801 is used to obtain the access delay of the application program accessing the first storage medium.
  • the first storage medium is a storage medium in the hybrid memory system;
  • Determining module 802 is configured to determine delay change information based on the obtained access delay.
  • the delay change information indicates the change pattern of the application access delay of the first storage medium.
  • the application access delay is when the first storage medium is accessed by an application program. time occupied;
  • the adjustment module 803 is configured to adjust the migration bandwidth of the first storage medium according to the change rule.
  • the migration bandwidth indicates the bandwidth used when migrating data to the first storage medium.
  • the migration bandwidth adjustment device 800 in this embodiment of the present invention can be implemented by a central processing unit (CPU), or can be implemented by an application-specific integrated circuit (ASIC), or can be Programmable logic device (PLD) implementation.
  • PLD Programmable logic device
  • the above PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), or a general array logic (generic array). logic, GAL), data processing unit (DPU), system on chip (SoC), or any combination thereof.
  • CPLD complex programmable logical device
  • FPGA field-programmable gate array
  • SoC system on chip
  • the application corresponds to at least one first delay threshold
  • the first delay threshold is less than the maximum access delay allowed by the application
  • the first delay threshold corresponds to the first bandwidth adjustment parameter
  • the adjustment Module 803 is used for:
  • the migration bandwidth is reduced according to the first bandwidth adjustment parameter corresponding to the first delay threshold.
  • the application corresponds to at least a second delay threshold, the second delay threshold is less than the maximum access delay allowed by the application, and the second delay threshold corresponds to the second bandwidth adjustment parameter; adjust Module 803 is used for:
  • the migration bandwidth is increased according to the second bandwidth adjustment parameter corresponding to the second delay threshold.
  • any delay threshold in the first delay threshold or the second delay threshold is smaller than multiple The minimum delay among the maximum access delays allowed by the application; or, if there is a target application that provides the target service among multiple applications, any delay threshold is smaller than the maximum access delay allowed by the target application.
  • the acquisition module 801 is also used to:
  • the conditions for the application to meet the migration bandwidth adjustment include at least one of the following:
  • a migration bandwidth adjustment request from the terminal is received.
  • the migration bandwidth adjustment request indicates that the migration bandwidth is adjusted according to the access delay of the application; the application provides a target service; the migration process of the first storage medium accessed by the application has been run, and the migration process is used Perform data migration on the first storage medium.
  • the access delay includes at least one of a read delay and a write delay.
  • the read delay is the delay of the application program in reading data from the first storage medium
  • the write delay is the application program's delay in reading data from the first storage medium. The delay in writing data to the first storage medium.
  • the acquisition module is used to:
  • the migration bandwidth is a migration read bandwidth or a migration write bandwidth.
  • the migration read bandwidth is the bandwidth used when reading data from the first storage medium during the data migration process.
  • the migration write bandwidth is the data bandwidth. The bandwidth used when writing data in the second storage medium to the first storage medium during the migration process.
  • the first storage medium and the second storage medium are located in 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 The computing device, the first storage medium and the second storage medium are of different or the same type.
  • the migration bandwidth adjustment device 800 corresponds to the controller in the above method embodiment, and each module in the migration bandwidth adjustment device 800 and the above other operations and/or functions are respectively intended to implement various functions implemented by the controller in the method embodiment.
  • the steps and methods can be found in the above-mentioned method embodiments for specific details. For the sake of brevity, they will not be described again here.
  • the migration bandwidth adjustment device 800 adjusts the migration bandwidth of the storage medium, it only takes the division of the above functional modules as an example. In actual applications, the above function allocation can be completed by different functional modules as needed, that is, migration The internal structure of the bandwidth adjustment device 800 is divided into different functional modules to complete all or part of the functions described above.
  • the migration bandwidth adjustment device 800 provided in the above embodiments belongs to the same concept as the above method embodiments, and its specific implementation process can be found in the above method embodiments, which will not be described again here.
  • the migration bandwidth adjustment device 800 may be equivalent to the controller 13 of the hybrid memory system 100 , or equivalent to an execution component in the controller 13 .
  • the acquisition module 801 is equivalent to the monitor 131 in the controller 13
  • the determination module 802 and the adjustment module 803 are equivalent to the adapter 132 in the controller 13 .
  • FIG 9 is a schematic structural diagram of a chip 900 provided by this application.
  • the chip 900 is used in a hybrid memory system as a controller of the hybrid memory system.
  • the chip 900 includes one or more processors 901 and a or multiple memories 902.
  • the one or more memories 901 are coupled to one or more processors 902.
  • the one or more memories 902 are used to store program codes.
  • the chip 900 performs the above related method steps. , to implement the storage medium migration bandwidth adjustment method in the above embodiment.
  • the processor 901 can be a CPU, and the processor 901 can 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 Programmed logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • DSP digital signal processor
  • ASIC application-specific integrated circuits
  • FPGA field-programmable gate arrays
  • a general-purpose processor can be a microprocessor or any conventional processor, etc.
  • this application also provides a chip including a processor and a power supply circuit.
  • the power supply circuit is used to power the processor.
  • the processor is used to implement the above related method steps to implement the storage medium in the above embodiment.
  • the migration bandwidth adjustment method will not be described again for the sake of simplicity.
  • this application also provides a computing device, which includes the above-mentioned chip.
  • the chip is used to implement the storage medium migration bandwidth adjustment method in the above-mentioned embodiment. For the sake of brevity, details will not be described here. .
  • the present application also provides a computer-readable storage medium, such as a memory including program code.
  • the program code can be read by the controller of the hybrid memory system (such as the processor 901 in the chip 900). Get, cause the device (such as a chip) where the controller is located to execute and complete the migration bandwidth adjustment method of the storage medium in the above embodiment.
  • the controller of the hybrid memory system such as the processor 901 in the chip 900.
  • Get cause the device (such as a chip) where the controller is located to execute and complete the migration bandwidth adjustment method of the storage medium in the above embodiment.
  • the computer-readable storage medium reference may be made to the memory 902 shown in FIG. 9 .
  • Embodiments of the present application also provide a computer program product or computer program.
  • the computer program product or computer program includes program code.
  • the program code is stored in a computer-readable storage medium.
  • the controller of the hybrid memory system (such as chip 900
  • the processor 901) reads the program code from the computer-readable storage medium, and the controller executes the program code, so that the device where the controller is located (such as the chip 900) executes 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 using 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.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server, or data center to Transmission to another website, computer, server or data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means.
  • wired such as coaxial cable, optical fiber, digital subscriber line (DSL)
  • wireless such as infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server or a data center that contains one or more sets of available media.
  • the available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media.
  • the semiconductor medium may be a solid state disk (SSD).

Abstract

A method, apparatus and system for adjusting a migration bandwidth of a storage medium, and a chip, which relate to the technical field of storage. In the method, an access delay of access of an application program to a storage medium is acquired, delay change information is then acquired according to the acquired access delay, and a migration bandwidth of the storage medium is then adjusted according to a change rule, which is indicated by the delay change information, of an access delay of an application, such that the storage medium subsequently performs data migration by means of an adjusted migration bandwidth, so as to reduce the influence of a fixed migration bandwidth on a bandwidth, which is used by the application program to access the storage medium, thereby improving the efficiency of the application program accessing the storage medium.

Description

存储介质的迁移带宽调整方法、装置、系统以及芯片Storage medium migration bandwidth adjustment method, device, system and chip
本申请要求于2022年08月31日提交的申请号为202211066383.3、发明名称为“存储介质的迁移带宽调整方法、装置、系统以及芯片”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application with application number 202211066383.3 and the invention title "Method, device, system and chip for adjusting migration bandwidth of storage media" submitted on August 31, 2022, the entire content of which is incorporated by reference. in this application.
技术领域Technical field
本申请涉及存储技术领域,特别涉及一种存储介质的迁移带宽调整方法、装置、系统以及芯片。The present application relates to the field of storage technology, and in particular to a storage medium migration bandwidth adjustment method, device, system and chip.
背景技术Background technique
随着计算机软硬件技术的飞速发展,对大规模内存计算提出了更高的要求,采用动态随机存储器(dynamic random access memory,DRAM)/非易失性存储器(non-volatile memory,NVM)的混合内存架构可以实现计算机系统高性能访存和低功耗的要求。With the rapid development of computer software and hardware technology, higher requirements have been put forward for large-scale memory computing, using a hybrid of dynamic random access memory (DRAM)/non-volatile memory (NVM) The memory architecture can realize the high-performance memory access and low power consumption requirements of the computer system.
目前,电子设备通过数据迁移,将DRAM中访问频率大于频率阈值的数据(即冷数据)存储在NVM,将NVM中访问频率大于或等于频率阈值的数据(即热数据)存储在DRAM,以便后续电子设备能够在DRAM中访问到热数据。Currently, electronic devices use data migration to store data in DRAM with an access frequency greater than the frequency threshold (i.e., cold data) in NVM, and store data in NVM with an access frequency greater than or equal to the frequency threshold (i.e., hot data) in DRAM for subsequent use. Electronic devices can access hot data in DRAM.
但是,对于DRAM或NVM中的任一存储介质,电子设备采用固定的迁移带宽,对该存储介质进行数据迁移,且在数据迁移的过程中,应用程序还会访问该存储介质。由于该存储介质所提供的带宽有限,固定的迁移带宽对应用程序访问该存储介质所占用的带宽产生影响,从而对应用程序访问该存储介质的效率产生影响,因此,亟需一种能够对存储介质的迁移带宽进行调整的方法。However, for any storage medium in DRAM or NVM, the electronic device uses a fixed migration bandwidth to migrate data to the storage medium, and during the data migration process, the application program will also access the storage medium. Since the bandwidth provided by the storage medium is limited, the fixed migration bandwidth affects the bandwidth occupied by the application program when accessing the storage medium, thereby affecting the efficiency of the application program in accessing the storage medium. Therefore, there is an urgent need for a storage medium that can Method to adjust the migration bandwidth of the media.
发明内容Contents of the invention
本申请提供了一种存储介质的迁移带宽调整方法、装置、系统以及芯片,通过调整存储介质的迁移带宽提高应用程序访问该存储介质的效率。This application provides a method, device, system and chip for adjusting the migration bandwidth of a storage medium, which improves the efficiency of application programs accessing the storage medium by adjusting the migration bandwidth of the storage medium.
第一方面,提供了一种存储介质的迁移带宽调整方法,此方法应用于混合内存系统,此方法包括如下步骤:先获取应用程序访问混合内存系统中第一存储介质的访问时延,之后,再根据获取的访问时延,确定第一存储介质的时延变化信息,最后,根据时延变化信息所指示的第一存储介质的应用访问时延的变化规律,调整第一存储介质的迁移带宽,其中,第一存储介质为混合内存系统中一种存储介质,应用访问时延为第一存储介质被应用程序访问时所占用时间,迁移带宽指示对第一存储介质进行数据迁移时所采用的带宽。In the first aspect, a storage medium migration bandwidth adjustment method is provided. This method is applied to a hybrid memory system. This method includes the following steps: first obtain the access delay of the application program accessing the first storage medium in the hybrid memory system, and then, Then, based on the obtained access delay, determine the delay change information of the first storage medium. Finally, adjust the migration bandwidth of the first storage medium according to the change rule of the application access delay of the first storage medium indicated by the delay change information. , where the first storage medium is a storage medium in a hybrid memory system, the application access delay is the time taken when the first storage medium is accessed by an application program, and the migration bandwidth indicates the bandwidth used when migrating data to the first storage medium. bandwidth.
本方法通过获取应用程序访问存储介质的访问时延,再根据获取到的访问时延,获取时延变化信息,然后根据时延变化信息所指示存储介质的应用访问时延的变化规律,调整该存储介质的迁移带宽,以便之后存储介质通过调整后的迁移带宽进行数据迁移,以降低固定的迁移带宽对应用程序访问存储介质所采用的带宽的影响,进而提高应用程序访问该存储介质的效率。This method obtains the access delay of the application program to access the storage medium, and then obtains the delay change information based on the obtained access delay, and then adjusts the application access delay of the storage medium according to the change rule of the application access delay of the storage medium indicated by the delay change information. Migration bandwidth of the storage medium, so that the storage medium can later migrate data through the adjusted migration bandwidth to reduce the impact of the fixed migration bandwidth on the bandwidth used by applications to access the storage medium, thereby improving the efficiency of applications accessing the storage medium.
在一种可能的实现方式中,应用程序对应至少一个第一时延阈值,第一时延阈值小于应用程序允许的最大访问时延,且第一时延阈值与第一带宽调整参数对应,在此基础上,根据变化规律调整第一存储介质的迁移带宽的过程可以是:若变化规律为应用访问时延递增,且获取的访问时延大于或等于第一时延阈值,根据第一时延阈值对应的第一带宽调整参数,减少第一存储介质的迁移带宽。In a possible implementation, the application corresponds to at least one first delay threshold, the first delay threshold is less than the maximum access delay allowed by the application, and the first delay threshold corresponds to the first bandwidth adjustment parameter. On this 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 delay increases, and the obtained access delay is greater than or equal to the first delay threshold, according to the first delay The first bandwidth adjustment parameter corresponding to the threshold reduces the migration bandwidth of the first storage medium.
基于上述可能的实现方式,在第一存储介质的数据迁移和应用程序访问第一存储介质同时进行的情况下,应用访问时延递增可能是该迁移带宽所导致的,因此,若该变化规律为该应用访问时延递增,则减少第一存储介质的迁移带宽,相应地,应用程序访问该第一存储介质的访问带宽增加,以降低迁移带宽对该应用访问时延的影响,从而能够降低应用程序的访问时延,提高应用程序访问第一存储介质的效率。Based on the above possible implementation, when the data migration of the first storage medium and the application program accessing the first storage medium are performed at the same time, the increase in application access delay may be caused by the migration bandwidth. Therefore, if the change rule is As the application access delay increases, the migration bandwidth of the first storage medium is reduced. Correspondingly, the access bandwidth of the application program to the first storage medium is increased to reduce the impact of the migration bandwidth on the application access delay, thereby reducing the application access delay. The access delay of the program improves the efficiency of the application program accessing the first storage medium.
在另一种可能的实现方式中,应用程序对应至少一个第二时延阈值,第二时延阈值小于应用程序允许的最大访问时延,且第二时延阈值与第二带宽调整参数对应,在此基础上,根据变化规律调整第一存储介质的迁移带宽的过程可以是:若变化规律为应用访问时延递减,且获取的访问时延小于或等于第二时延阈 值,根据第二时延阈值对应的第二带宽调整参数,增加第一存储介质的迁移带宽。In another possible implementation, the application corresponds to at least a second delay threshold, the second delay threshold is less than the maximum access delay allowed by the application, and the second delay threshold corresponds to the second bandwidth adjustment parameter, On this 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 delay decreases, and the obtained access delay is less than or equal to the second delay threshold value, and increase the migration bandwidth of the first storage medium according to the second bandwidth adjustment parameter corresponding to the second delay threshold.
基于上述可能的实现方式,在第一存储介质的数据迁移和应用程序访问第一存储介质同时进行的情况下,应用访问时延递减,说明此时应用程序的访问时延在减少,因此,若该变化规律指示该应用访问时延递减,增加第一存储介质的迁移带宽,从而在保证应用程序以小的访问时延访问第一存储介质的情况下,还能够提高第一存储介质数据迁移的效率。Based on the above possible implementation, when the data migration of the first storage medium and the application program accessing the first storage medium are performed at the same time, the application access delay decreases, indicating that the application access delay is decreasing at this time. Therefore, if This change pattern indicates that the access delay of the application is decreasing and the migration bandwidth of the first storage medium is increased, thereby improving the efficiency of data migration of the first storage medium while ensuring that the application accesses the first storage medium with a small access delay. efficiency.
在另一种可能的实现方式中,在第一存储介质支持多个应用程序访问的情况下,对于第一时延阈值或第二时延阈值中的任一时延阈值,任一时延阈值小于多个应用程序允许的各个最大访问时延中的最小时延;或者,若多个应用程序中存在提供目标业务的目标应用程序,任一时延阈值小于目标应用程序允许的最大访问时延。In another possible implementation, when the first storage medium supports access by multiple application programs, for any delay threshold in the first delay threshold or the second delay threshold, any delay threshold is less than multiple The minimum delay among the maximum access delays allowed by each application; or, if there is a target application that provides the target service among multiple applications, any delay threshold is smaller than the maximum access delay allowed by the target application.
基于上述可能的实现方式,在任一时延阈值小于该多个应用程序允许的各个最大访问时延中的最小时延的情况下,根据该任一时延调整第一存储介质的迁移带宽,从而避免第一存储介质的应用访问时延达到该最小时延,以满足多个应用程序对访问时延的要求,避免应用程序崩溃。在任一时延阈值小于目标应用程序允许的最大访问时延的情况下,根据该任一时延调整第一存储介质的迁移带宽,使得第一存储介质的应用访问时延能够满足目标业务的要求。Based on the above possible implementation manner, when any delay threshold is less than the minimum delay among the maximum access delays allowed by the multiple applications, the migration bandwidth of the first storage medium is adjusted according to any delay, so as to avoid the third The application access latency of a storage medium reaches this minimum latency to meet the access latency requirements of multiple applications and avoid application crashes. When any delay threshold is less than the maximum access delay allowed by the target application, 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 can meet the requirements of the target service.
在另一种可能的实现方式中,在获取应用程序访问第一存储介质的访问时延之前,此方法还包括如下步骤:若应用程序满足迁移带宽调整条件,执行获取应用程序访问第一存储介质的访问时延的步骤。In another possible implementation, before obtaining the access delay of the application program's access to the first storage medium, this method also includes the following steps: if the application program meets the migration bandwidth adjustment condition, perform the acquisition of the application program's access to the first storage medium. access delay steps.
基于上述可能的实现方式,在应用程序满足迁移带宽调整条件的情况下,才会获取该应用程序的访问时延,进而通过应用程序的访问时延,调整第一存储介质的迁移带宽,降低了工作量,减少了计算资源的消耗。Based on the above possible implementation method, the access delay of the application will be obtained only when the application meets the migration bandwidth adjustment conditions, and then the migration bandwidth of the first storage medium will be adjusted based on the access delay of the application, reducing the workload, reducing the consumption of computing resources.
在另一种可能的实现方式中,应用程序满足迁移带宽调整条件包括下述至少一项:接收到终端的迁移带宽调整请求,迁移带宽调整请求指示根据应用程序的访问时延调整迁移带宽;应用程序提供有目标业务;应用程序访问的第一存储介质的迁移进程已经运行,迁移进程用于对第一存储介质进行数据迁移;应用程序提供有目标业务;应用程序访问的第一存储介质的迁移进程已经运行,迁移进程用于对第一存储介质进行数据迁移。In another possible implementation, the application meeting the migration bandwidth adjustment condition includes at least one of the following: receiving a migration bandwidth adjustment request from the terminal, and the migration bandwidth adjustment request indicates that the migration bandwidth is adjusted according to the access delay of the application; applying The program provides a target service; the migration process of the first storage medium accessed by the application program has been run, and the migration process is used to migrate data to the first storage medium; the application program provides a target service; the migration of the first storage medium accessed by the application program The process has been run, and the migration process is used to migrate data to the first storage medium.
基于上述可能的实现方式,在应用程序满足迁移带宽调整条件包括接收到终端的迁移带宽调整请求或应用程序提供有目标业务的情况下,才会获取该应用程序的访问时延,进而通过应用程序的访问时延,调整第一存储介质的迁移带宽,以降低该迁移带宽对该应用程序的访问时延的影响,进而提高该应用程序访问第一存储介质的效率,从而能够保证而能够保证终端或目标业务对应用程序的访问时延的要求。由于迁移进程可能是迁移读进程,也可能是迁移写进程,在应用程序满足迁移带宽调整条件包括应用程序访问的第一存储介质的迁移进程已经运行的情况下,实现了对第一存储介质的迁移读带宽和迁移写带宽的统一化管理,管理方式简单,而无需对第一存储介质的迁移读带宽和迁移写带宽分别设计一套管理机制进行管理,避免了对同一存储介质的迁移读带宽和迁移写带宽的不对称性管理。Based on the above possible implementation methods, the access delay of the application will be obtained only when the application meets the migration bandwidth adjustment conditions, including receiving a migration bandwidth adjustment request from the terminal or the application provides a target service, and then through the application access delay, adjust the migration bandwidth of the first storage medium to reduce the impact of the migration bandwidth on the access delay of the application, thereby improving the efficiency of the application accessing the first storage medium, thereby ensuring that the terminal Or the access delay requirements of the target business for the application. Since the migration process may be a migration reading process or a migration writing process, when the application meets the migration bandwidth adjustment conditions including the migration process of the first storage medium accessed by the application is already running, the first storage medium is implemented. Unified management of migrated read bandwidth and migrated write bandwidth, the management method is simple, without the need to design a separate management mechanism to manage the migrated read bandwidth and migrated write bandwidth of the first storage medium, avoiding the need to manage the migrated read bandwidth of the same storage medium and asymmetry management of migration write bandwidth.
在另一种可能的实现方式中,访问时延包括读时延和写时延中的至少一项,读时延为应用程序从第一存储介质读取数据的时延,写时延为应用程序向第一存储介质写入数据的时延。In another possible implementation, the access delay includes at least one of a read delay and a write delay. The read delay is the delay of the application program in reading data from the first storage medium, and the write delay is the application delay. The delay for the program to write data to the first storage medium.
在另一种可能的实现方式中,获取应用程序访问第一存储介质的访问时延的过程可以是:若应用程序对第一存储介质的读写比例大于或等于目标比例,获取应用程序的读时延;若应用程序对第一存储介质的写读比例大于或等于目标比例,获取应用程序的写时延。In another possible implementation, the process of obtaining the access delay of the application program to the first storage medium may be: if the read-write ratio of the application program to the first storage medium is greater than or equal to the target ratio, obtain the read-write ratio of the application program to the first storage medium. Latency; if the application's write-to-read ratio to the first storage medium is greater than or equal to the target ratio, obtain the application's write delay.
基于上述可能的实现方式,根据应用程序对该第一存储介质的读写比例,选择获取应用程序的读时延还是写实现,而无需获取应用程序的写时延和读时延这两种访问时延,降低了工作量。Based on the above possible implementation method, according to the read and write ratio of the application program to the first storage medium, it is selected to obtain the read latency or the write implementation of the application program, without obtaining the write latency and read latency of the application program. delay, reducing workload.
在另一种可能的实现方式中,迁移带宽为迁移读带宽或迁移写带宽,迁移读带宽为数据迁移过程中将第一存储介质中的数据读出时所采用的带宽,迁移写带宽为数据迁移过程中将第二存储介质中的数据写入第一存储介质时所采用的带宽。In another possible implementation, the migration bandwidth is the migration read bandwidth or the migration write bandwidth, the migration read bandwidth is the bandwidth used when reading the data in the first storage medium during the data migration process, and the migration write bandwidth is the data The bandwidth used when writing data in the second storage medium to the first storage medium during the migration process.
在另一种可能的实现方式中,若第一存储介质和第二存储介质位于同一计算设备,第一存储介质和第二存储介质的种类不同;若第一存储介质和第二存储介质位于不同的计算设备,第一存储介质和第二存储介质的种类不同或者相同。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 of different types; if the first storage medium and the second storage medium are located on different For a computing device, the first storage medium and the second storage medium are of different or the same type.
第二方面,提供了一种存储介质的迁移带宽调整装置,该装置包括用于执行第一方面或第一方面任一种可能实现方式中的迁移带宽调整方法的各个模块。 A second aspect provides a storage medium migration bandwidth adjustment device, which includes various modules for executing the migration bandwidth adjustment method in the first aspect or any possible implementation of the first aspect.
第三方面,提供了一种混合内存系统,该混合内存系统包括控制器,该控制器用于执行第一方面或第一方面的任一种可能实现方式中的迁移带宽调整方法。In a third aspect, a hybrid memory system is provided. The hybrid memory system includes a controller configured to perform the migration bandwidth adjustment method in the first aspect or any possible implementation of the first aspect.
第四方面,提供一种芯片,该芯片应用于混合内存系统,该芯片用于执行第一方面或第一方面的任一种可能实现方式中的迁移带宽调整方法。A fourth aspect provides a chip, which is used in a hybrid memory system and is used to perform the migration bandwidth adjustment method in the first aspect or any possible implementation of the first aspect.
第五方面,提供一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该程序代码由混合内存系统的控制器读取,以使控制器所在计算设备执行如上述存储介质的迁移带宽调整方法所执行的操作。In a fifth aspect, a computer-readable storage medium is provided. At least one program code is stored in the storage medium. The program code is read by the controller of the hybrid memory system, so that the computing device where the controller is located executes the above-mentioned storage medium. The action performed by the migration bandwidth adjustment method.
第六方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,混合内存系统的控制器从计算机可读存储介质读取该程序代码,控制器执行该程序代码,使得该控制器所在计算设备执行上述第一方面或者第一方面的各种可能实现方式中提供的方法。In a sixth aspect, a computer program product or computer program is provided. The computer program product or computer program includes program code. The program code is stored in a computer-readable storage medium. The controller of the hybrid memory system obtains the program code from the computer-readable storage medium. The program code is read, and the controller executes the program code, so that the computing device where the controller is located executes the method provided in the first aspect or various possible implementations of the first aspect.
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。Based on the implementation methods provided in the above aspects, this application can also be further combined to provide more implementation methods.
附图说明Description of drawings
图1是本申请提供的一种混合内存系统100的系统架构示意图;Figure 1 is a schematic system architecture diagram of a hybrid memory system 100 provided by this application;
图2是本申请提供的一种应用混合内存系统100的计算设备200的示意图;Figure 2 is a schematic diagram of a computing device 200 using the hybrid memory system 100 provided by this application;
图3是本申请提供的一种应用混合内存系统100的计算设备集群300的示意图;Figure 3 is a schematic diagram of a computing device cluster 300 applying the hybrid memory system 100 provided by this application;
图4是本申请提供的一种存储介质的迁移带宽调整方法的流程图;Figure 4 is a flow chart of a storage medium migration bandwidth adjustment method provided by this application;
图5是本申请提供的一种基于迁移带宽调整条件的迁移带宽调整方法的流程图;Figure 5 is a flow chart of a migration bandwidth adjustment method based on migration bandwidth adjustment conditions provided by this application;
图6是本申请提供的一种基于应用程序的平均访问时延的迁移带宽调整方法的流程图;Figure 6 is a flow chart of a migration bandwidth adjustment method based on the average access delay of an application provided by this application;
图7是本申请提供的一种混合内存系统中的迁移带宽调整的流程示意图;Figure 7 is a schematic flow chart of migration bandwidth adjustment in a hybrid memory system provided by this application;
图8是本申请提供的一种存储介质的迁移带宽调整装置800的结构示意图;Figure 8 is a schematic structural diagram of a storage medium migration bandwidth adjustment device 800 provided by this application;
图9是本申请提供的一种芯片900的结构示意图。Figure 9 is a schematic structural diagram of a chip 900 provided by this application.
具体实施方式Detailed ways
为了能够对存储介质的迁移带宽进行调整,本申请提供一种迁移带宽调整方法,本方法根据混合内存系统中存储介质的应用访问时延的变化规律,调整该存储介质的迁移带宽。下面将结合附图对本申请实施方式作进一步地详细描述。In order to be able to adjust the migration bandwidth of the storage medium, this application provides a migration bandwidth adjustment method. This method adjusts the migration bandwidth of the storage medium according to the changing rules of the application access delay of the storage medium in the hybrid memory system. The embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
图1是本申请提供的一种混合内存系统100的系统架构示意图,参见图1,混合内存系统100包括至少一个处理器(central processing unit,CPU)11以及至少两个存储介质12。其中,图1是以混合内存系统100包括DRAM和NVM这两个存储介质12为例示出的,NVM例如相变存储器(phase change memory,PCM)以及磁性随机存储器(magnetic random access memory,MRAM)等。在另一些实施例中,混合内存系统100也可能包括除NVM或DRAM以外的其他种类的存储介质,该其他种类的存储介质例如双倍速率同步动态随机存储器(double data Rate SDRAM,DDR)、静态随机存取存储器(static random-access memory,SRAM)以及高速带宽内存(high bandwidth memory,HBM)等,在此,本申请实施例对混合内存系统100中CPU11的个数、存储介质12的数目以及种类不做限定。Figure 1 is a schematic system architecture diagram of a hybrid memory system 100 provided by this application. Referring to Figure 1, the hybrid memory system 100 includes at least one processor (central processing unit, CPU) 11 and at least two storage media 12. 1 shows an example of a hybrid memory system 100 including two storage media 12: DRAM and NVM. NVM is such as phase change memory (PCM) and magnetic random access memory (MRAM). . In other embodiments, the hybrid memory system 100 may also include other types of storage media besides NVM or DRAM, such as double-rate synchronous dynamic random access memory (double data rate SDRAM, DDR), static Random access memory (static random-access memory, SRAM) and high bandwidth memory (high bandwidth memory, HBM), etc. Here, the embodiment of the present application determines the number of CPUs 11 in the hybrid memory system 100, the number of storage media 12, and The types are not limited.
存储介质12提供有存储空间,该存储空间用于存储数据,存储介质12可能为CPU11的内存,也可能为所在CPU11的外存(如本地磁盘)。The storage medium 12 provides storage space, and the storage space is used to store data. The storage medium 12 may be the memory of the CPU 11 or the external storage (such as a local disk) of the CPU 11 where it is located.
存储介质12支持混合内存系统100中的CPU11的访问。例如,某一CPU11在运行应用程序的过程中,CPU11根据运行的应用程序,访问任一存储介质12中的存储空间(即应用程序访问存储介质),以读取该存储空间中的数据或者向该存储空间写入数据。The storage medium 12 supports access by the CPU 11 in the hybrid memory system 100 . For example, when a certain CPU 11 is running an application program, the CPU 11 accesses the storage space in any storage medium 12 according to the running application program (that is, the application program accesses the storage medium) to read data in the storage space or transfer data to the storage medium 12 . Data is written to this storage space.
混合内存系统100还包括控制器13,控制器13用于访问存储介质12中的数据,通过任意两种存储介质12之间的数据交互,实现数据迁移功能,其中,数据交换是指一种存储介质12中的数据可以存储到另一存储介质12,而另一存储介质12中的数据也可以存储到这种存储介质12。The hybrid memory system 100 also includes a controller 13. The controller 13 is used to access data in the storage medium 12, and implement data migration functions through data interaction between any two storage media 12, where data exchange refers to a storage medium. Data in medium 12 may be stored on another storage medium 12 , and data in another storage medium 12 may be stored on such storage medium 12 .
另外,控制器13还用于调整存储介质12的迁移带宽,该迁移带宽指示对应用程序所访问的存储介质12进行数据迁移时所采用的带宽。例如,对于任一存储介质12,控制器13根据应用程序访问存储介质12的访问时延,调整应用程序所访问的存储介质12的迁移带宽。 In addition, the controller 13 is also used to adjust the migration bandwidth of the storage medium 12, which indicates the bandwidth used for data migration on the storage medium 12 accessed by the application program. For example, for any storage medium 12, the controller 13 adjusts the migration bandwidth of the storage medium 12 accessed by the application program according to the access delay of the application program accessing the storage medium 12.
如图1所示,控制器13包括监测器(monitor)131、适配器(adaptor)132以及迁移引擎(migration engine)133。其中,监测器131用于监测应用程序121访问存储介质12的访问时延。例如,某一CPU11根据运行的应用程序,向某一存储介质12发送访问请求,以访问存储介质12的存储空间,之后,存储介质12根据接收的访问请求向CPU11返回访问响应,监测器131根据CPU11发送访问请求的时间以及接收访问响应的时间,获取应用程序本次访问存储介质12的访问时延。As shown in Figure 1, the controller 13 includes a monitor 131, an adapter 132 and a migration engine 133. The monitor 131 is used to monitor the access delay of the application program 121 accessing the storage medium 12 . For example, a certain CPU 11 sends an access request to a certain storage medium 12 according to the running application program to access the storage space of the storage medium 12. After that, the storage medium 12 returns an access response to the CPU 11 according to the received access request, and the monitor 131 responds according to the received access request. The time when the CPU 11 sends the access request and the time when it receives the access response obtains the access delay of the application program's current access to the storage medium 12 .
其中,CPU11发送的访问请求也称为主机请求(host request),CPU11接收的访问响应也称为主机响应(host response)。访问请求为数据读请求或数据写请求,访问响应为数据读响应或数据写响应。在访问请求为数据读请求的情况下,访问请求的访问响应为数据读响应,在访问请求为数据写请求的情况下,访问请求的访问响应为数据写响应。数据读请求指示从存储介质中读取数据,数据读响应指示从存储介质中读取到的数据。数据写请求指示向存储介质写入数据,数据写响应指示向存储介质写入数据是否成功。Among them, the access request sent by CPU11 is also called a host request (host request), and the access response received by 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 data write response. When the access request is a data read request, the access response to the access request is a data read response. When the access request is a data write request, the access response to the access request is a data write response. The data read request indicates reading data from the storage medium, and the data read response indicates the 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 is successful.
适配器132用于从监测器131获取应用程序的访问时延或者平均访问时延,根据获取到的访问时延或者平均访问时延,调整应用程序所访问的存储介质12的迁移带宽。The adapter 132 is used to obtain the access delay or average access delay of the application program from the monitor 131, and adjust the migration bandwidth of the storage medium 12 accessed by the application program based on the obtained access delay or average access delay.
迁移引擎133用于在对存储介质12进行数据迁移的过程中,根据调整后的迁移带宽,对存储介质12进行数据迁移。其中,迁移引擎133在将一个存储介质12(称为源存储介质)中的数据迁移至另一存储介质12(称为目的存储介质)的过程包括迁移读过程和迁移写过程,在迁移读过程中,迁移引擎133向源存储介质发送迁移读请求,其中,迁移读请求指示从源存储介质中读取待迁移数据。之后,源存储介质根据迁移读请求,向迁移引擎133返回迁移读响应,其中,迁移读响应携带从源存储介质中读取到的待迁移数据。迁移引擎133接收到迁移读响应后,进入迁移写过程,根据迁移读响应,向目的存储介质发送迁移写请求,其中,迁移写请求指示向目的存储介质写入待迁移数据。之后,目的存储介质将迁移写请求携带的待迁移数据写入目的存储介质,向迁移引擎133返回迁移写响应,其中,迁移写响应指示向目的存储介质写入待迁移数据是否成功,或者指示数据迁移是否完成。为了便于描述,在本申请中将迁移读请求和迁移写请求都称为迁移请求,迁移读响应为迁移读请求的迁移响应,迁移写响应为迁移写请求的迁移响应。The migration engine 133 is used to migrate data to the storage medium 12 according to the adjusted migration bandwidth during the data migration process of the storage medium 12 . Among them, the process of migrating data in one storage medium 12 (called the source storage medium) to another storage medium 12 (called the destination storage medium) by the migration engine 133 includes a migration reading process and a migration writing process. In the migration reading process , the migration engine 133 sends a migration read request to the source storage medium, where the migration read request indicates reading the data to be migrated from the source storage medium. Afterwards, the source storage medium 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 the migration write process, and sends a migration write request to the destination storage medium according to the migration read response, where the migration write request indicates writing the data to be migrated to the destination storage medium. Afterwards, the destination storage medium writes the data to be migrated carried in the migration write request into the destination storage medium, and returns a migration write response to the migration engine 133, where the migration write response indicates whether the writing of the data to be migrated to the destination storage medium is successful, or indicates whether the data is successfully written to the destination storage medium. Is the migration completed? For the convenience of description, in this application, the migration read request and the migration write request are both called migration requests, the migration read response is the migration response of the migration read request, and the migration write response is the migration response of the migration write request.
应理解的是,迁移读请求和迁移写请求是对数据迁移过程的细分,具体实施过程中,系统也可使用一个迁移请求,由该迁移请求分别触发上述迁移读请求和迁移写请求。It should be understood that the migration read request and the migration write request are subdivisions of the data migration process. During the specific implementation process, the system can also use a migration request, and the migration request triggers the above migration read request and migration write request respectively.
另外,监测器131以及迁移引擎133为控制器13中的可选组件,在另一些实施例中,监测器131以及迁移引擎133不位于控制器13中,而是位于控制器13以外的位置。例如,监测器131以及迁移引擎133位于混合内存系统100之内且独立于控制器13之外,或者位于混合内存系统100之外。In addition, the monitor 131 and the migration engine 133 are optional components in the controller 13. In other embodiments, the monitor 131 and the migration engine 133 are not located in the controller 13, but are located outside the controller 13. For example, the monitor 131 and the migration engine 133 are located within the hybrid memory system 100 and are independent of the controller 13 , or are located outside the hybrid memory system 100 .
混合内存系统100还包括调度器14,调度器14用于调度CPU11的访问请求以及迁移引擎133的迁移请求(migration request)。其中,迁移请求指示将某一存储介质12中的数据迁移至另一存储介质12。例如,CPU11的访问请求以及迁移引擎133的迁移请求都发送至调控器13,在迁移请求所指示的待迁移数据位于访问请求所访问的存储空间的情况下,调度器14按照先进先出(first input first output,FIFO)的原则,调度接收到的访问请求和迁移请求。以调度器14先接收到访问请求,后接收到迁移请求为例,调度器14先将访问请求发送给存储介质12,再将存储介质12返回的访问响应发送给CPU11,然后,调度器14再将迁移请求发送给存储介质12,之后,调度器14接收存储介质12根据迁移请求所返回的迁移响应(migration response),调度器14再将迁移响应发送给迁移引擎133。The hybrid memory system 100 also includes a scheduler 14, which is used to schedule access requests of the CPU 11 and migration requests of the migration engine 133. The migration request indicates migrating data in a certain storage medium 12 to another storage medium 12 . For example, the access request of the CPU 11 and the migration request of the migration engine 133 are both sent to the governor 13. When the data to be migrated indicated by the migration request is located in the storage space accessed by the access request, the scheduler 14 follows the first-in-first-out (first-in, first-out) method. Input first output, FIFO) principle, schedules the received access requests and migration requests. Taking the scheduler 14 first receiving the access request and then receiving the migration request as an example, the scheduler 14 first sends the access request to the storage medium 12, and then sends the access response returned by the storage medium 12 to the CPU 11, and then the scheduler 14 The migration request is sent to the storage medium 12, and then the scheduler 14 receives the migration response (migration response) returned by the storage medium 12 according to the migration request, and the scheduler 14 then sends the migration response to the migration engine 133.
至少一个CPU11和调度器14为混合内存系统100中的可选组件,在一些实施例中,至少一个CPU11和调度器14不属于混合内存系统100,而是属于混合内存系统100所在设备中且独立于混合内存系统100之外。At least one CPU 11 and the scheduler 14 are optional components in the hybrid memory system 100. In some embodiments, the at least one CPU 11 and the scheduler 14 do not belong to the hybrid memory system 100, but belong to the device where the hybrid memory system 100 is located and are independent. outside of the hybrid memory system 100 .
混合内存系统100可能部署在单个计算设备,也可能部署在计算设备集群,下面分别结合图2和图3,对混合内存系统100的这两种部署方式进行详细介绍。The hybrid memory system 100 may be deployed on a single computing device or in a cluster of computing devices. The following two deployment methods of the hybrid memory system 100 will be introduced in detail with reference to Figures 2 and 3 respectively.
图2是本申请提供的一种应用混合内存系统100的计算设备200的示意图,参见图2,计算设备200包括混合内存系统100,其中,计算设备200是服务器或终端设备,其中,服务器例如云服务器、中心服务器、边缘服务器、远端数据中心中的远端服务器或本地数据中心中的本地服务器等。终端设备例如台式机、笔记本电脑或者智能手机等。Figure 2 is a schematic diagram of a computing device 200 applying the hybrid memory system 100 provided by this application. Referring to Figure 2, the computing device 200 includes the hybrid memory system 100, where the computing device 200 is a server or a terminal device, where the server is such as a cloud. Server, central server, edge server, remote server in remote data center or local server in local data center, etc. Terminal devices such as desktop computers, laptops, or smartphones.
在混合内存系统100部署在计算设备200的情况下,混合内存系统100中的至少两个存储介质12分别属于不同的种类。可以理解的是,此时混合内存系统100包括至少两种存储介质12,这至少两种存储介质12均为混合内存系统100中的CPU11的本地存储节点。不同种类的存储介质12的性能可能不同,通 过在不同种类的存储介质之间进行数据迁移,以保证CPU在本地存储节点的访问效率。In the case where the hybrid memory system 100 is deployed on the computing device 200, at least two storage media 12 in the hybrid memory system 100 respectively belong to different categories. It can be understood that at this time, the hybrid memory system 100 includes at least two storage media 12 , and the at least two storage media 12 are local storage nodes of the CPU 11 in the hybrid memory system 100 . Different types of storage media 12 may have different performance, usually Data migration is performed between different types of storage media to ensure the efficiency of CPU access to local storage nodes.
可以理解的是,图1和图2的区别在于,图1示出的是混合内存系统的系统架构,而图2为图1所示的系统架构的一种应用场景。另外,图1所示的混合内存系统中的存储介质12可能有相同的种类,而图2所示的应用场景中的混合内存系统中的存储介质的种类不同。It can be understood that the difference between Figure 1 and Figure 2 is that Figure 1 shows the system architecture of a hybrid memory system, while Figure 2 is an application scenario of the system architecture shown in Figure 1 . In addition, the storage media 12 in the hybrid memory system shown in FIG. 1 may be of the same type, while the storage media 12 in the hybrid memory system in the application scenario shown in FIG. 2 may be of different types.
图3是本申请提供的一种应用混合内存系统100的计算设备集群300的示意图,参见图3,计算设备集群300包括多个计算设备301以及至少一个混合内存系统100(如图3中的100a、100b和100c),多个计算设备301之间通过无线或者有线的方式连接。该计算设备集群300为数据中心,或者为用于提供云服务的云计算中心,计算设备301是服务器,例如云服务器、中心服务器、边缘服务器、远端数据中心中的远端服务器或本地数据中心中的本地服务器等。Figure 3 is a schematic diagram of a computing device cluster 300 using a hybrid memory system 100 provided by this application. Referring to Figure 3, the computing device cluster 300 includes multiple computing devices 301 and at least one hybrid memory system 100 (100a in Figure 3 , 100b and 100c), multiple computing devices 301 are connected through wireless or wired methods. The computing device cluster 300 is a data center, or a cloud computing center for providing cloud services. The computing device 301 is a server, such as a cloud server, a central server, an edge server, a remote server in a remote data center, or a local data center. local server in etc.
在计算设备集群300中,同一混合内存系统100中的存储介质12可能位于不同的计算设备301,也可能位于同一存储介质,同一混合内存系统100中的CPU11可能位于同一计算设备301,也可能位于不同的计算设备301,同一混合内存系统100中的CPU11和存储介质12也可能位于不同的计算设备301。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 CPU 11 in the same hybrid memory system 100 may be located in the same computing device 301, or may be located in the same storage medium. Different computing devices 301 , the CPU 11 and the storage medium 12 in the same hybrid memory system 100 may also be located in different computing devices 301 .
以图3中的混合内存系统100a为例,混合内存系统100a中的存储介质12和CPU11分别位于两个计算设备301。再以图3中的混合内存系统100b为例,混合内存系统100b中的存储介质12位于两个计算设备301,混合内存系统100b中的CPU11也分别位于这两个计算设备301。再以图3中的混合内存系统100c为例,混合内存系统100c中的存储介质12位于两个计算设备301,混合内存系统100c中的CPU11位于另一计算设备301。Taking the hybrid memory system 100a in FIG. 3 as an example, the storage medium 12 and the CPU 11 in the hybrid memory system 100a are respectively located in two computing devices 301. Taking the hybrid memory system 100b in FIG. 3 as an example again, the storage medium 12 in the hybrid memory system 100b is located in two computing devices 301, and the CPUs 11 in the hybrid memory system 100b are also located in the two computing devices 301 respectively. Taking the hybrid memory system 100c in FIG. 3 as an example again, the storage medium 12 in the hybrid memory system 100c is located in two computing devices 301, and the CPU 11 in the hybrid memory system 100c is located in another computing device 301.
其中,混合内存系统100中与CPU11位于同一计算设备301内的存储介质12,为CPU11的本地存储节点,混合内存系统100中与CPU11位于不同计算设备301内的存储介质12,为CPU11的远端存储节点。在将远端存储节点中的数据迁移至本地存储节点的情况下,便于CPU从本地存储节点访问数据,提高了CPU的数据访问效率。Among them, the storage medium 12 located in the same computing device 301 as the CPU 11 in the hybrid memory system 100 is the local storage node of the CPU 11 , and the storage medium 12 located in a different computing device 301 with the CPU 11 in the hybrid memory system 100 is the remote end of the CPU 11 storage node. When the data in the remote storage node is migrated to the local storage node, it is convenient for the CPU to access data from the local storage node, and the data access efficiency of the CPU is improved.
在计算设备集群300中,同一计算设备301中的存储介质12均有至少一种,若混合内存系统100中的存储介质12位于不同的计算设备301,混合内存系统100中的至少两个存储介质12可能为不同种类的存储介质,也可能为同一种类的存储介质。In the computing device cluster 300, there is at least one storage medium 12 in the same computing device 301. If the storage media 12 in the hybrid memory system 100 are located in different computing devices 301, at least two storage media in the hybrid memory system 100 12 may be different types of storage media, or may be the same type of storage media.
在另一些实施例中,计算设备301也可能与图2中的计算设备200同理,计算设备301内部署有混合内存系统100。In other embodiments, the computing device 301 may be the same as the computing device 200 in FIG. 2 , and the hybrid memory system 100 is deployed in the computing device 301 .
可以理解的是,图1和图3的区别在于,图1示出的是混合内存系统100的系统架构,图3为图1所示的系统架构的另一种应用场景。图2和图3的区别在于,图2所示的混合内存系统100是位于同一计算设备内,而图3所示的混合内存系统100是跨计算设备的。另外,图2所示的混合内存系统中存储介质12种类不同,而图3所示的混合内存系统中不同计算设备内的存储介质12的种类可能相同。It can be understood that the difference between Fig. 1 and Fig. 3 is that Fig. 1 shows the system architecture of the hybrid memory system 100, and Fig. 3 shows another application scenario of the system architecture shown in Fig. 1. The difference between Figure 2 and Figure 3 is that the hybrid memory system 100 shown in Figure 2 is located within the same computing device, while the hybrid memory system 100 shown in Figure 3 is across computing devices. In addition, the storage media 12 in the hybrid memory system shown in FIG. 2 are of different types, while the storage media 12 in different computing devices in the hybrid memory system shown in FIG. 3 may be of the same type.
对于图1至图3中介绍的任一种混合内存系统,该混合内存系统中的任一存储介质可能为该任一存储介质所在计算设备的内存。For any of the hybrid memory systems introduced in Figures 1 to 3, any storage medium in the hybrid memory system may be the memory of the computing device where any storage medium is located.
对于混合内存系统100的控制器13,图2和图3均是以控制器13作为计算设备内的一个组件为例示出。在控制器13作为计算设备内的组件时,控制器13可能挂载在混合内存系统100中的CPU11,以作为混合内存系统100的调控组件,或者,控制器13也可能挂载在混合内存系统100中的存储介质12,以作为存储介质12的一种内存控制器,在此,本申请实施例对控制器13在计算设备内的挂载方式不做限定。Regarding the controller 13 of the hybrid memory system 100, both FIG. 2 and FIG. 3 illustrate the controller 13 as a component within the computing device. When the controller 13 is used as a component within the computing device, the controller 13 may be mounted on the CPU 11 in the hybrid memory system 100 to serve as a control component of the hybrid memory system 100, or the controller 13 may also be mounted on the hybrid memory system 100. The storage medium 12 in 100 serves as a memory controller for the storage medium 12. Here, the embodiment of the present application does not limit the mounting method of the controller 13 in the computing device.
图1至图3均是以控制器13位于混合内存系统100为例示出的,在一些实施例中,控制器13独立于混合内存系统100之外。在此,本申请实施例对控制器13是否属于混合内存系统100不做限定,控制器13能够调整混合内存系统100中的存储介质12的迁移带宽即可。Figures 1 to 3 all show an example in which the controller 13 is located in the hybrid memory system 100. In some embodiments, the controller 13 is independent of the hybrid memory system 100. Here, the embodiment of the present application does not limit whether the controller 13 belongs to the hybrid memory system 100. The controller 13 can adjust the migration bandwidth of the storage medium 12 in the hybrid memory system 100.
结合图1,控制器13通过软件实现、硬件实现或者软硬件结合的方式实现。其中,监测器131、适配器132以及迁移引擎133均可能通过软件实现或者硬件实现。示例性的,接下来以适配器132为例,介绍适配器132的实现方式。类似的,监测器131和迁移引擎133的实现方式可参考适配器132的实现方式。1 , the controller 13 is implemented through software implementation, hardware implementation, or a combination of software and hardware. Among them, the monitor 131, the adapter 132 and the migration engine 133 may all be implemented by software or hardware. Illustratively, the following takes the adapter 132 as an example to introduce the implementation of the adapter 132 . Similarly, the implementation of the monitor 131 and the migration engine 133 may refer to the implementation of the adapter 132 .
适配器132作为软件功能单元的一种举例,适配器132包括运行在计算实例上的代码。其中,计算实例包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,适配器132包括运行在多个主机/虚拟机/容器上的代码。另外,用于运行该代码的多个主机/虚拟机/容器可能分布在相同的区域(region)中,也可能分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可能分布在相同的可用区(availability zone,AZ)中,也可能分布在不同的AZ中, 每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。Adapter 132 is an example of a software functional unit. Adapter 132 includes code that runs on a computing instance. The computing instance includes at least one of a physical host (computing device), a virtual machine, and a container. Furthermore, the above computing instance may be one or more. For example, adapter 132 includes code running on multiple hosts/virtual machines/containers. In addition, multiple hosts/virtual machines/containers used to run the code may be distributed in the same region (region), or they may be distributed in different regions. Furthermore, multiple hosts/virtual machines/containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs. Each AZ includes one data center or multiple data centers that are geographically close to each other. Among them, usually a region can include multiple AZs.
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。Likewise, the multiple hosts/VMs/containers used to run the code can be distributed in the same virtual private cloud (VPC), or across multiple VPCs. Among them, usually a VPC is set up in a region. Cross-region communication between two VPCs in the same region and between VPCs in different regions requires a communication gateway in each VPC, and the interconnection between VPCs is realized through the communication gateway. .
适配器132作为硬件功能单元的一种举例,适配器132可能包括至少一个计算设备,如服务器等。或者,适配器132也可能是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。The adapter 132 is an example of a hardware functional unit. The adapter 132 may include at least one computing device, such as a server. Alternatively, the adapter 132 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). Among them, the above-mentioned PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL), or any combination thereof.
适配器132包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。适配器132包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,适配器132包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。Multiple computing devices included in the adapter 132 may be distributed in the same region or in different regions. Multiple computing devices included in the adapter 132 may be distributed in the same AZ or in different AZs. Likewise, multiple computing devices included in adapter 132 may be distributed in the same VPC or in multiple VPCs. The plurality of computing devices may be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
接下来,进一步说明混合内存系统中的控制器基于应用程序的访问时延,对存储介质的迁移带宽进行调整过程。参见图4本申请提供的一种存储介质的迁移带宽调整方法的流程图,该方法应用于混合内存系统,该方法由混合内存系统的控制器执行。Next, the controller in the hybrid memory system adjusts the migration bandwidth of the storage medium based on the access delay of the application. Refer to Figure 4 for a flow chart of a storage medium migration bandwidth adjustment method provided by this application. This method is applied to a hybrid memory system and is executed by a controller of the hybrid memory system.
步骤401、控制器获取应用程序访问第一存储介质的访问时延,该第一存储介质为该混合内存系统中一种存储介质。Step 401: The controller obtains the access delay of the application program accessing the first storage medium. The first storage medium is a storage medium in the hybrid memory system.
其中,该混合内存系统为图1至图3中介绍的任一混合内存系统。该应用程序为某一计算设备中的任一处理器运行的任一应用程序,以该混合内存系统部署在该计算设备为例,第一存储介质为该计算设备中部署的该混合内存系统内的任一种存储介质。第一存储介质中的存储空间已经分配给该应用程序,因此,该应用程序具有访问第一存储介质的权限,该应用程序能够访问第一存储介质。Wherein, the hybrid memory system is any of the hybrid memory systems introduced in Figures 1 to 3. The application program is any application program run by any processor in a certain computing device. Taking the hybrid memory system deployed on the computing device as an example, the first storage medium is within the hybrid memory system deployed in the computing device. any storage medium. The storage space in the first storage medium has been allocated to the application program. Therefore, the application program has the permission to access the first storage medium, and the application program can access the first storage medium.
应用程序访问第一存储介质的访问时延简称为应用程序的访问时延,该访问时延为该应用程序完成单次访问第一存储介质所占用的时间。应用程序访问第一存储介质的方式包括方式A1或方式A2,其中,方式A1为:应用程序从第一存储介质读取数据,方式A2为:应用程序向第一存储介质写入数据。相应地,访问时延为读时延或写时延,其中,该读时延为该应用程序从该第一存储介质读取数据的时延。该写时延为该应用程序向该第一存储介质写入数据的时延。The access delay of an application program's access to the first storage medium is referred to as the access delay of the application program. The access delay is the time it takes for the application program to complete a single access to the first storage medium. The ways in which the application program accesses the first storage medium include method A1 or method A2, wherein method A1 is: the application program reads data from the first storage medium, and method A2 is: the application program writes data to the first storage medium. Correspondingly, the access delay is a read delay or a write delay, where the read delay is the delay of the application program in reading data from the first storage medium. The write delay is the delay for the application program to write data to the first storage medium.
在本申请实施例中,应用程序的访问时延为控制器调整第一存储介质的迁移带宽所使用的参数,因此,在控制器调整第一存储介质的迁移带宽之前,先获取应用程序的访问时延,其获取的访问时延包括读时延和写时延中的至少一种。In this embodiment of the present application, the access delay of the application program is a parameter used by the controller to adjust the migration bandwidth of the first storage medium. Therefore, before the controller adjusts the migration bandwidth of the first storage medium, the access delay of the application program is first obtained. Latency, the access latency obtained includes at least one of read latency and write latency.
在默认读时延为调整该迁移带宽所使用的参数的情况下,控制器获取应用程序访问第一存储介质的读时延。在默认写时延为调整该迁移带宽所使用的参数的情况下,控制器获取该应用程序访问第一存储介质的写时延。在默认读时延和写时延为调整该迁移带宽所使用的参数的情况下,控制器获取应用程序访问第一存储介质的读时延和写时延。When the default read delay is a parameter used to adjust the migration bandwidth, the controller obtains the read delay of the application program accessing the first storage medium. When the default write delay is a parameter used to adjust the migration bandwidth, the controller obtains the write delay of the application program accessing the first storage medium. When the default read latency and write latency are parameters used to adjust the migration bandwidth, the controller obtains the read latency and write latency of the application program accessing the first storage medium.
在另一种可能的实现方式,控制器调整该迁移带宽所使用的参数是读时延还是写时延,由应用程序对第一存储介质的读写比例和写读比例来决定,其中,该读写比例为在应用程序运行的过程中,应用程序从第一存储介质读取数据的次数与向第一存储介质写入数据的次数的比值。写读比例为读写比例的倒数。In another possible implementation, whether the parameter used by the controller to adjust the migration bandwidth is read latency or write latency is determined by the read-write ratio and the write-read ratio of the application to the first storage medium, where, The read-write ratio is the ratio of the number of times the application program reads data from the first storage medium to the number of times the application program writes data to the first storage medium while the application program is running. The write-to-read ratio is the reciprocal of the read-to-write ratio.
例如,若该应用程序对该第一存储介质的读写比例大于或等于目标比例,控制器获取该应用程序访问第一存储介质的写时延;若该应用程序对该第一存储介质的写读比例大于或等于该目标比例,控制器获取该应用程序访问第一存储介质的写时延。其中,目标比例可根据实际应用场景进行设置,例如目标比例为7:3,在此,本申请实施例对目标比例的取值范围不做限定。For example, if the application's read-write ratio to the first storage medium is greater than or equal to the target ratio, the controller obtains the write delay of the application program's access to the first storage medium; If the read ratio is greater than or equal to the target ratio, the controller obtains the write latency of the application program accessing the first storage medium. The target ratio can be set according to the actual application scenario, for example, the target ratio is 7:3. Here, the embodiment of the present application does not limit the value range of the target ratio.
控制器根据应用程序对该第一存储介质的读写比例,选择获取应用程序的读时延还是写时延,而无需控制器获取应用程序的写时延和读时延这两种访问时延,降低了控制器的工作量。另外,若该应用程序对该第一存储介质的读写比例大于或等于目标比例,说明应用程序频繁的从第一存储介质读取数据,应用程序的读时延能够准确地反映出应用程序访问第一存储介质的时延情况,相应地,控制器根据应用程序的读时延能够准确调整第一存储介质的迁移带宽。若该应用程序对该第一存储介质的写读比例大于或等于目标 比例,说明应用程序频繁的向第一存储介质写入数据,应用程序的写时延能够准确的反映出应用程序访问第一存储介质的时延情况,相应地,控制器根据应用程序的写时延能够准确调整第一存储介质的迁移带宽。The controller chooses to obtain the read latency or the write latency of the application program based on the read and write ratio of the application program to the first storage medium, without the need for the controller to obtain the two access latencies of the application program, the write latency and the read latency. , reducing the workload of the controller. In addition, if the application's read-write ratio to the first storage medium is greater than or equal to the target ratio, it means that the application frequently reads data from the first storage medium, and the application's read latency can accurately reflect the application's access. According to the latency of the first storage medium, the controller can accurately adjust the migration bandwidth of the first storage medium according to the read latency of the application. If the application's write-to-read ratio on the first storage medium is greater than or equal to the target Ratio, indicating that the application frequently writes data to the first storage medium. The application's write delay can accurately reflect the application's access delay to the first storage medium. Correspondingly, the controller determines the application's write time based on the application's write time. Delay can accurately adjust the migration bandwidth of the first storage medium.
通过上述的介绍可知,应用程序的读时延和写时延均为应用程序访问第一存储介质的访问时延,控制器通过下述方式B1和方式B2中的任一方式,获取应用程序访问第一存储介质的访问时延。From the above introduction, it can be seen that the read latency and write latency of the application program are both the access latency of the application program accessing the first storage medium. The controller obtains the application program access through either of the following methods B1 and B2. The access delay of the first storage medium.
方式B1、控制器监测应用程序访问第一存储介质的访问时延,得到监测结果,该监测结果包括应用程序的至少一个访问时延。Method B1: The controller monitors the access delay of the application program in accessing the first storage medium and obtains a monitoring result, where the monitoring result includes at least one access delay of the application program.
例如,处理器在运行该应用程序的过程中,向第一存储介质发送访问请求,该访问请求包括第一时间戳,该第一时间戳指示该访问请求的发送时间。之后,第一存储介质接收该访问请求,第一存储介质根据该访问请求,向处理器返回访问响应。之后,处理器接收到该访问响应,通过第二时间戳指示访问响应的接收时间。控制器从处理器获取该第一时间戳和第二时间戳,将第二时间戳和第一时间戳之间的差值作为一个访问时延。控制器持续监测应用程序访问第一存储介质的访问时延,从而能够到多个访问时延。For example, during the process of running the application program, the processor sends an access request to the first storage medium. The access request includes a first timestamp, and the first timestamp indicates the sending time of the access request. Afterwards, the first storage medium receives the access request, and the first storage medium returns an access response to the processor according to the access request. Afterwards, the processor receives the access response and indicates the reception time of the access response through the second timestamp. The controller obtains the first timestamp and the second timestamp from the processor, and uses the difference between the second timestamp and the first timestamp as an access delay. The controller continuously monitors the access delay of the application program in accessing the first storage medium, thereby being able to detect multiple access delays.
下面对第一存储介质根据该访问请求,向处理器返回访问响应的过程作如下介绍:The following is an introduction to the process in which the first storage medium returns an access response to the processor according to the access request:
若该访问请求为数据读请求,第一存储介质根据数据读请求携带待读取存储空间的物理地址,查询第一存储介质中待读取的存储空间,根据查询到的存储空间中的第一数据,生成数据读响应,向处理器发送该数据读响应,其中,数据读响应包括第一数据,该第一数据也即是数据读请求所请求读取的数据。基于数据读请求,控制器所监测到的访问时延为读时延。If the access request is a data read request, the first storage medium carries the physical address of the storage space to be read according to the data read request, queries the storage space to be read in the first storage medium, and based on the first address in the queried storage space data, generate a data read response, and send the data read response to the processor, where the data read response includes first data, which is 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 the read delay.
若该访问请求为数据写请求,数据写请求包括第二数据,该第二数据为待写入数据,第一存储介质根据数据写请求,查询第一存储介质中待写入的存储空间,向查询到的存储空间写入第二数据,之后,向处理器发送该数据写响应,基于数据写请求,控制器所监测到的访问时延为写时延。If the access request is a data write request, and the data write request includes second data, and the second data is data to be written, the first storage medium queries the storage space to be written in the first storage medium according to the data write request, and sends the request to the first storage medium. The second data is written into the queried storage space, and then the data write response is sent to the processor. Based on the data write request, the access delay monitored by the controller is the write delay.
在一种可能的实现方式中,控制器包括监测器,监测器为控制器中用于监测应用程序的访问时延的功能模块,方式B1由控制器中的监测器来执行。以图1中的控制器13为例,方式B1由监测器131来执行。其中,控制器中的各个器件都可能通过软件实现或者硬件实现,从而使得控制器能够通过软件实现、硬件实现或者软硬件结合的方式实现。以控制器中的监测器为例,监测器可能通过软件实现或者硬件实现,监测器的实现方式可参考前文中介绍的配器132的实现方式。In a possible implementation manner, the controller includes a monitor. The monitor is a functional module in the controller used to monitor the access delay of the application program. Method B1 is executed by the monitor in the controller. Taking the controller 13 in Figure 1 as an example, mode B1 is executed by the monitor 131. Among them, each device in the controller may be implemented by software or hardware, so that the controller can be implemented by software, hardware, or a combination of software and hardware. Taking the monitor in the controller as an example, the monitor may be implemented by software or hardware. For the implementation of the monitor, please refer to the implementation of the orchestrator 132 introduced above.
另外,监测器为控制器中的可选地功能模块,在另一些实施例中,控制器不包括监测器,此时,控制器不具有监测应用程序的访问时延的功能,则控制器可以通过下述的方式B2获取应用程序的访问时延。In addition, the monitor is an optional functional module in the controller. In other embodiments, the controller does not include a monitor. In this case, the controller does not have the function of monitoring the access delay of the application program, then the controller can B2 obtains the access delay of the application program in the following manner.
方式B2、监测单元监测应用程序访问第一存储介质的访问时延,控制器从监测单元获取监测结果。Method B2: The monitoring unit monitors the access delay of the application program accessing the first storage medium, and the controller obtains the monitoring results from the monitoring unit.
其中,监测单元为控制器之外的用于监测应用程序的访问时延的功能模块,监测单元可能通过软件实现或者硬件实现,监测单元的实现方式可参考前文中介绍的适配器132的实现方式。另外,监测单元监测应用程序访问第一存储介质的访问时延的过程可参考方式B1。The monitoring unit is a functional module outside the controller that is used to monitor the access delay of the application program. The monitoring unit may be implemented by software or hardware. For the implementation of the monitoring unit, please refer to the implementation of the adapter 132 introduced above. In addition, the process of monitoring the access delay of the application program to the first storage medium by the monitoring unit may refer to method B1.
在获取到应用程序的访问时延之后,控制器根据应用程序的访问时延,对第一存储介质的迁移带宽进行调整。例如下述步骤402和403。After obtaining the access delay of the application program, the controller adjusts the migration bandwidth of the first storage medium according to the access delay of the application program. For example, steps 402 and 403 below.
步骤402、控制器根据获取的访问时延,确定时延变化信息,该时延变化信息指示第一存储介质的应用访问时延的变化规律,该应用访问时延为该第一存储介质被应用程序访问时所占用的时间。Step 402: The controller determines the delay change information based on the obtained access delay. The delay change information indicates the change rule of the application access delay of the first storage medium. The application access delay is used for the first storage medium. The time taken by the program to access.
其中,该变化规律包括该应用访问时延递增或递减,相应地,在一些实施例中,该时延变化信息包括第一规律标识或第二规律标识,其中,第一规律标识指示该应用访问时延递增,第二规律标识指示该应用访问时延递减。该第一规律标识和第二规律标识的表示方式不同,例如第一规律标识为1,第二规律标识为0,或者,第一规律标识为0,第二规律标识为1,在此,本申请实施例对第一规律标识和第二规律标识的表示方式不做限定。The change rule includes an increase or decrease in the application access delay. Correspondingly, in some embodiments, the delay change information includes a first rule identifier or a second rule identifier, where the first rule identifier indicates that the application access delay The delay increases, and the second rule indicator indicates that the access delay of the application decreases. The first rule identifier and the second rule identifier are expressed in different ways. For example, the first rule identifier is 1 and the second rule identifier is 0, or the first rule identifier is 0 and the second rule identifier is 1. Here, this The application embodiment does not limit the expression methods of the first regularity identifier and the second regularity identifier.
在一种可能的实现方式中,每经过目标时长,控制器获取到一个监测结果,为了便于描述,将在当前目标时长获取的监测结果称为第一监测结果,将当前目标时长的上一个目标时长获取到的监测结果称为第二监测结果。每经过目标时长,控制器根据当前目标时长中的第一监测结果以及上一个目标时长中的第二监测结果,确定时延变化信息。In one possible implementation, the controller obtains a monitoring result every time the target duration passes. For convenience of description, the monitoring result obtained during the current target duration is called the first monitoring result, and the previous target of the current target duration is called the first monitoring result. The monitoring results obtained for a longer period of time are called second monitoring results. Each time the target duration passes, the controller determines the delay change information based on the first monitoring result in the current target duration and the second monitoring result in the previous target duration.
例如,控制器将第一监测结果以及第二监测结果中的访问时延,组成访问时延序列,若该访问时延序列中的访问时延的数值依次增加,说明该应用访问时延的变化规律是递增,则控制器生成包括第一规律标识的时延变化信息,若该访问时延序列中的访问时延的数值依次减少,说明该应用时延的变化规律是递减,则该应用程序生成包括第二规律标识的时延变化信息。 For example, the controller combines the access delays in the first monitoring result and the second monitoring result to form an access delay sequence. If the access delay values in the access delay sequence increase sequentially, it means that the access delay of the application changes. If the pattern is increasing, the controller generates delay change information including the first pattern identifier. If the access delay values in the access delay sequence decrease successively, it means that the change pattern of the application delay is decreasing, then the application Generate delay change information including the second law identifier.
步骤403、控制器根据该变化规律,调整该第一存储介质的迁移带宽,该迁移带宽指示对该第一存储介质进行数据迁移时所采用的带宽。Step 403: The controller adjusts the migration bandwidth of the first storage medium according to the change rule. The migration bandwidth indicates the bandwidth used when migrating data to the first storage medium.
其中,该迁移带宽为迁移读带宽或迁移写带宽,该迁移读带宽为数据迁移过程中将该第一存储介质中的数据读出时所采用的带宽,该迁移写带宽为数据迁移过程中将第二存储介质中的数据写入该第一存储介质时所采用的带宽。该第二存储介质为该混合内存系统中除第一存储介质以外的任一存储介质。以混合内存系统部署在一个计算设备为例,该第二存储介质和第一存储介质的种类不同。Wherein, the migration bandwidth is the migration read bandwidth or the migration write bandwidth. The migration read bandwidth is the bandwidth used when reading the data in the first storage medium during the data migration process. The migration write bandwidth is the bandwidth used during the data migration process. The bandwidth used when data in the second storage medium is written to the first storage medium. The second storage medium is any storage medium in the hybrid memory system except the first storage medium. Taking a hybrid memory system deployed on a computing device as an example, the second storage medium and the first storage medium are of different types.
该第一存储介质的迁移进程用于实现该第一存储介质与该第二存储介质之间的数据迁移。该迁移进程包括迁移读进程或迁移写进程,其中,迁移读进程用于实现数据迁移过程中的迁移读过程,例如迁移读进程通过生成迁移读请求,从该第一存储介质中读取待迁移。迁移读写进程用于实现数据迁移过程中的迁移写过程,例如迁移写进程通过生成迁移写请求,向该第二存储介质写入从第一存储介质读取到的待迁移数据。The migration process of the first storage medium is used to implement data migration between the first storage medium and the second storage medium. The migration process includes a migration reading process or a migration writing process. The migration reading process is used to implement the migration reading process in the data migration process. For example, the migration reading process generates a migration read request to read the data to be migrated from the first storage medium. . The migration reading and writing process is used to implement the migration writing process in the data migration process. For example, the migration writing process generates a migration writing request to write the data to be migrated read from the first storage medium to the second storage medium.
若第一存储介质的迁移读进程已经运行,控制器基于该变化规律,对该第一存储介质的迁移读带宽进行调整。若第一存储介质的迁移写进程已经运行,控制器基于该变化规律,对该第一存储介质的迁移写带宽进行调整,从而控制器根据应用程序的访问时延,既能调整第一存储介质的迁移读带宽,也能调整第一存储介质的迁移写带宽,实现了对第一存储介质的迁移读带宽和迁移写带宽的统一化管理,管理方式简单,而无需对第一存储介质的迁移读带宽和迁移写带宽分别设计一套管理机制进行管理,避免了对同一存储介质的迁移读带宽和迁移写带宽的不对称性管理。If the migration read process of the first storage medium is already running, the controller adjusts the migration read bandwidth of the first storage medium based on the change rule. If the migration write process of the first storage medium has been run, the controller adjusts the migration write bandwidth of the first storage medium based on the change rule, so that the controller can adjust the first storage medium according to the access delay of the application program. The migration read bandwidth can also be adjusted to the migration write bandwidth of the first storage medium, realizing unified management of the migration read bandwidth and migration write bandwidth of the first storage medium. The management method is simple and does not require the migration of the first storage medium. A separate management mechanism is designed for read bandwidth and migrated write bandwidth to avoid asymmetric management of migrated read bandwidth and migrated write bandwidth of the same storage medium.
对于迁移读带宽和迁移写带宽中的任一迁移带宽,结合下述的方式C1和方式C2,对控制器基于该变化规律,对该第一存储介质的该迁移读带宽进行调整的过程做如下介绍:For any migration bandwidth among the migration read bandwidth and the migration write bandwidth, combined with the following method C1 and method C2, the controller adjusts the migration read bandwidth of the first storage medium based on the change rule as follows: introduce:
方式C1、若该变化规律为该应用访问时延递增,则该控制器减少该迁移带宽。Method C1: If the change pattern is that the application access delay increases, the controller reduces the migration bandwidth.
在第一存储介质的数据迁移和应用程序访问第一存储介质同时进行的情况下,该应用访问时延递增可能是该迁移带宽所导致的,因此,若该变化规律为该应用访问时延递增,该控制器减少该迁移带宽,相应地,应用程序访问该第一存储介质的访问带宽增加,以降低迁移带宽对该应用访问时延的影响,从而能够降低应用程序的访问时延,提高应用程序访问第一存储介质的效率。In the case where the data migration of the first storage medium and the application accessing the first storage medium are performed at the same time, the increase in the application access delay may be caused by the migration bandwidth. Therefore, if the change pattern is the increase in the application access delay , the controller reduces the migration bandwidth. Correspondingly, the access bandwidth of the application to the first storage medium is increased to reduce the impact of the migration bandwidth on the application access delay, thereby reducing the access delay of the application and improving the application The efficiency with which the program accesses the first storage medium.
在一种可能的实现方式中,控制器根据应用程序允许的最大访问时延,减少该迁移带宽。其中,应用程序允许的最大访问时延是指应用程序允许的访问存储介质最大的访问时延。In one possible implementation, the controller reduces the migration bandwidth based on the maximum access delay allowed by the application. Among them, the maximum access delay allowed by the application refers to the maximum access delay allowed by the application to access the storage medium.
例如,该应用程序对应至少一个第一时延阈值,该第一时延阈值小于该应用程序允许的最大访问时延,且该第一时延阈值与第一带宽调整参数对应。若该变化规律为该应用访问时延递增,且获取的该访问时延大于或等于该第一时延阈值,控制器根据该第一时延阈值对应的第一带宽调整参数,减少该迁移带宽。此处获取的该访问时延可能为最新获取到的访问时延,例如,访问时延序列中的最后一个访问时延。For example, the application corresponds to at least a first delay threshold, the first delay threshold is less than the maximum access delay allowed by the application, and the first delay threshold corresponds to a first bandwidth adjustment parameter. If the change pattern is that the application access delay increases, and the obtained access delay is greater than or equal to the first delay threshold, the controller reduces the migration bandwidth according to the first bandwidth adjustment parameter corresponding to the first delay threshold. . The access delay obtained here may be the latest access delay obtained, for example, the last access delay in the access delay sequence.
在应用程序对应多个第一时延阈值的情况下,多个第一时延阈值可能对应同一第一带宽调整参数,也可能对应不同的第一带宽调整参数。在多个第一时延阈值对应不同的第一带宽调整参数的情况下,存在多个不同的第一带宽调整参数,且每个第一时延阈值对应多个第一带宽调整参数中的一个第一带宽调整参数。例如,按照多个第一时延阈值从小到大的顺序,多个第一时延阈值对应的第一带宽调整参数依次增加或者依次减少。In the case where the application program corresponds to multiple first delay thresholds, the multiple first delay thresholds may correspond to the same first bandwidth adjustment parameter, or may correspond to different first bandwidth adjustment parameters. In the case where multiple first delay thresholds correspond to different first bandwidth adjustment parameters, there are multiple different first bandwidth adjustment parameters, and each first delay threshold corresponds to one of the multiple first bandwidth adjustment parameters. The first bandwidth adjustment parameter. For example, in an ascending order of the plurality of first delay thresholds, the first bandwidth adjustment parameters corresponding to the plurality of first delay thresholds increase or decrease in sequence.
若该变化规律为该应用访问时延递增,访问时延序列中的最后一个访问时延大于或等于多个第一时延阈值中的最大第一时延阈值,则控制器根据该最大第一时延阈值对应的第一带宽调整参数,减少该迁移带宽。If the change pattern is that the access delay of the application increases and the last access delay in the access delay sequence is greater than or equal to the maximum first delay threshold among the plurality of first delay thresholds, the controller will The first bandwidth adjustment parameter corresponding to the delay threshold reduces the migration bandwidth.
在一种可能的实现方式中,控制器将多个第一时延阈值组成第一时延阈值序列,根据第一时延阈值序列中第一时延阈值的位置,来减少迁移带宽。例如,在该多个第一时延阈值按照从小到大的顺序组成第一时延阈值序列情况下,若该变化规律为该应用访问时延递增,访问时延序列中的最后一个访问时延大于或等于任一第一时延阈值,且该最后一个访问时延小于第一时延阈值序列中该任一第一时延阈值的后一个第一时延阈值,则控制器根据该任一第一时延阈值对应的第一带宽调整参数,减少该迁移带宽。In a possible implementation, the controller combines multiple first delay thresholds into a first delay threshold sequence, and reduces the migration bandwidth according to the position of the first delay threshold in the first delay threshold sequence. For example, in the case where the plurality of first delay thresholds form a first delay threshold sequence in order from small to large, if the change pattern is that the application access delay increases, the last access delay in the access delay sequence is greater than or equal to any first delay threshold, and the last access delay is less than the next first delay threshold after any first delay threshold in the first delay threshold sequence, then the controller will The first bandwidth adjustment parameter corresponding to the first delay threshold reduces the migration bandwidth.
再例如,在该多个第一时延阈值按照从大到小的顺序组成第一时延阈值序列的情况下,若该变化规律为该应用访问时延递增,访问时延序列中的最后一个访问时延大于或等于任一第一时延阈值,且该最后一个访问时延小于第一时延阈值序列中该任一第一时延阈值的前一个第一时延阈值,则控制器基于该任一第一时延阈值对应的第一带宽调整参数,减少该迁移带宽。 For another example, in the case where the plurality of first delay thresholds form a sequence of first delay thresholds in descending order, if the change pattern is that the application access delay increases, the last one in the access delay sequence If the access delay is greater than or equal to any first delay threshold, and the last access delay is less than the previous first delay threshold of any first delay threshold in the first delay threshold sequence, then the controller based on The first bandwidth adjustment parameter corresponding to any first delay threshold reduces the migration bandwidth.
下面以一组关联的第一时延阈值和第一带宽调整参数为例,详细介绍如何减少迁移带宽:The following takes a set of associated first delay thresholds and first bandwidth adjustment parameters as an example to introduce in detail how to reduce migration bandwidth:
在第一带宽调整参数为第一调整比例或者第一调整幅度,在第一带宽调整为调整比例的情况下,该控制器在当前的迁移带宽的基础上减少调整比例的该迁移带宽。在第一带宽调整为第一调整幅度的情况下,该控制器在当前的迁移带宽基础上减少第一调整幅度。When the first bandwidth adjustment parameter is the first adjustment ratio or the first adjustment amplitude, and the first bandwidth is adjusted to the adjustment ratio, the controller reduces the migration bandwidth by the adjustment ratio based on the current migration bandwidth. When the first bandwidth is adjusted to the first adjustment amplitude, the controller reduces the first adjustment amplitude based on the current migration bandwidth.
方式C2、若该变化规律为该应用访问时延递减,则该控制器增加该迁移带宽。Method C2: If the change pattern is that the application access delay decreases, the controller increases the migration bandwidth.
在第一存储介质的数据迁移和应用程序访问第一存储介质同时进行的情况下,该应用访问时延递减,说明此时应用程序的访问时延在减少,因此,若该变化规律指示该应用访问时延递减,该控制器增加该迁移带宽,从而在保证应用程序以小的访问时延访问第一存储介质的情况下,还能够提高第一存储介质数据迁移的效率。When the data migration of the first storage medium and the application program accessing the first storage medium are performed at the same time, the access delay of the application decreases, indicating that the access delay of the application program is decreasing at this time. Therefore, if the change pattern indicates that the application As the access delay decreases, the controller increases the migration bandwidth, thereby improving the efficiency of data migration in the first storage medium while ensuring that the application program accesses the first storage medium with a small access delay.
在一种可能的实现方式中,控制器根据应用程序允许的最大访问时延,增加该迁移带宽。例如,该应用程序对应至少一个第二时延阈值,该第二时延阈值小于该应用程序允许的最大访问时延,且该第二时延阈值与第二带宽调整参数。示例性的,该至少一个第二时延阈值小于至少一个第一时延阈值中的最小时延阈值。In one possible implementation, the controller increases the migration bandwidth based on the maximum access delay allowed by the application. For example, the application program corresponds to at least a 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 the second bandwidth adjustment parameter. Exemplarily, the at least one second delay threshold is smaller than the minimum delay threshold among the at least one first delay threshold.
若该变化规律为该应用访问时延递减,且获取的该访问时延小于或等于该第二时延阈值,控制器根据该第二时延阈值对应的第二带宽调整参数,增加该迁移带宽。此处获取的该访问时延可能为最新获取到的访问时延,例如,访问时延序列中的最后一个访问时延。If the change pattern is that the application access delay decreases, and the obtained access delay is less than or equal to the second delay threshold, the controller increases the migration bandwidth according to the second bandwidth adjustment parameter corresponding to the second delay threshold. . The access delay obtained here may be the latest access delay obtained, for example, the last access delay in the access delay sequence.
在应用程序对应多个第二时延阈值的情况下,多个第二时延阈值可能对应同一第二带宽调整参数,也可能对应不同的第二带宽调整参数。在多个第二时延阈值对应不同的第二带宽调整参数的情况下,存在多个不同的第二带宽调整参数,且每个第二时延阈值对应多个第二带宽调整参数中的一个第二带宽调整参数。例如,按照多个第二时延阈值从小到大的顺序,多个第二时延阈值对应的第二带宽调整参数依次增加或者依次减少。In the case where the application program corresponds to multiple second delay thresholds, the multiple second delay thresholds may correspond to the same second bandwidth adjustment parameter, or may correspond to different second bandwidth adjustment parameters. In the case where multiple second delay thresholds correspond to different second bandwidth adjustment parameters, there are multiple different second bandwidth adjustment parameters, and each second delay threshold corresponds to one of the multiple second bandwidth adjustment parameters. Second bandwidth adjustment parameter. For example, in an ascending order of the plurality of second delay thresholds, the second bandwidth adjustment parameters corresponding to the plurality of second delay thresholds increase or decrease in sequence.
若该变化规律为该应用访问时延递减,访问时延序列中的最后一个访问时延小于或等于多个第二时延阈值中的最小第二时延阈值,则控制器根据最小第二时延阈值对应的第二带宽调整参数,增加该迁移带宽。If the change pattern is that the application access delay decreases and the last access delay in the access delay sequence is less than or equal to the minimum second delay threshold among the plurality of second delay thresholds, the controller will The second bandwidth adjustment parameter corresponding to the delay threshold is used to increase the migration bandwidth.
在一种可能的实现方式中,控制器将多个第二时延阈值组成第二时延阈值序列,根据第二时延阈值序列中第二时延阈值的位置,来增加迁移带宽。In a possible implementation, the controller combines multiple second delay thresholds into a second delay threshold sequence, and increases the migration bandwidth according to the position of the second delay threshold in the second delay threshold sequence.
例如,在该多个第二时延阈值按照从小到大的顺序组成第二时延阈值序列情况下,若该变化规律为该应用访问时延递减,访问时延序列中的最后一个访问时延小于或等于任一第二时延阈值,且该最后一个访问时延大于第二时延阈值序列中该任一第一时延阈值的前一个第二时延阈值,则控制器根据该任一第二时延阈值对应的第二带宽调整参数,增加该迁移带宽。For example, in the case where 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 decreases, the last access delay in the access delay sequence is less than or equal to any second delay threshold, and the last access delay is greater than the previous second delay threshold of any first delay threshold in the second delay threshold sequence, then the controller will The second bandwidth adjustment parameter corresponding to the second delay threshold increases the migration bandwidth.
再例如,在该多个第二时延阈值按照从大到小的顺序组成第二时延阈值序列的情况下,若该变化规律为该应用访问时延递减,访问时延序列中的最后一个访问时延小于或等于任一第二时延阈值,且该最后一个访问时延大于第一时延阈值序列中该任一第一时延阈值的后一个第二时延阈值,则控制器基于该任一第二时延阈值对应的第二带宽调整参数,增加该迁移带宽。For another example, in the case where the plurality of second delay thresholds form a second delay threshold sequence in descending order, if the change rule is that the application access delay decreases, the last one in the access delay sequence The access delay is less than or equal to any second delay threshold, and the last access delay is greater than the second delay threshold after any first delay threshold in the first delay threshold sequence, then the controller based on The second bandwidth adjustment parameter corresponding to any second delay threshold increases the migration bandwidth.
下面以一组关联的第二时延阈值和第二带宽调整参数为例,详细介绍如何增加迁移带宽:The following takes a set of associated second delay thresholds and second bandwidth adjustment parameters as an example to introduce in detail how to increase the migration bandwidth:
在第二带宽调整参数为第二调整比例或者第二调整幅度,在第二带宽调整为调整比例的情况下,该控制器在当前的迁移带宽的基础上增加调整比例的该迁移带宽。在第二带宽调整为第二调整幅度的情况下,该控制器在当前的迁移带宽基础上增加第二调整幅度。When the second bandwidth adjustment parameter is the second adjustment ratio or the second adjustment amplitude, and the second bandwidth is adjusted to the adjustment ratio, the controller increases the migration bandwidth by the adjustment ratio based on the current migration bandwidth. When the second bandwidth is adjusted to the second adjustment range, the controller increases the second adjustment range based on the current migration bandwidth.
每经过一个目标时长,控制器确定一次时延变化信息,根据本次确定时延变化信息所指示的变化规律,调整第一存储介质的迁移带宽,从而实现了对第一存储介质的迁移带宽的动态调整。在应用程序对应多个第一时延阈值和多个第二时延阈值的情况下,第一存储介质的应用访问时延每递增至一个第一时延阈值,控制器根据该第一时延阈值对应的第一调整参数减少第一存储介质的迁移带宽,该应用访问时延每递减至一个第二时延阈值,控制器根据该第二时延阈值对应的第二调整参数增加第一存储介质的迁移带宽,从而实现精细化且平稳地动态调整第一存储介质的迁移带宽,以避免应用程序的访问时延大幅度变化,使得应用程序对访问时延的变化不感知。Each time a target duration passes, the controller determines the delay change information, and adjusts the migration bandwidth of the first storage medium according to the change pattern indicated by the delay change information determined this time, thereby realizing the migration bandwidth of the first storage medium. Dynamic Adjustment. In the case where the application program corresponds to multiple first delay thresholds and multiple second delay thresholds, each time the application access delay of the first storage medium increases to a first delay threshold, the controller will The first adjustment parameter corresponding to the threshold reduces the migration bandwidth of the first storage medium. Each time the application access delay decreases to a second delay threshold, the controller increases the first storage medium according to the second adjustment parameter corresponding to the second delay threshold. The migration bandwidth of the medium can be refined and smoothly dynamically adjusted to the migration bandwidth of the first storage medium to avoid large changes in the access delay of the application program, making the application unaware of changes in the access delay.
在一种可能的实现方式中,控制器包括适配器,本步骤403由控制器中的适配器来执行。以图1中的控制器13为例,本步骤403由控制器13中的适配器132来执行。适配器132将调整后的迁移带宽发送给迁移引擎,由迁移引擎采用调整后的迁移带宽,对第一存储介质进行数据迁移。 In a possible implementation, the controller includes an adapter, and step 403 is performed by the adapter in the controller. Taking the controller 13 in Figure 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 migrate data to the first storage medium.
另外,在该迁移规律不是该应用访问时延递增或递减,而是基本不变,说明该应用程序时延在相邻目标时长内是稳定的,则控制器无需执行本步骤403。控制器还能持续获取应用程序的访问时延,每经过一个目标时长执行步骤402-步骤403的过程,从而实现动态调整迁移带宽。In addition, if the migration pattern does not increase or decrease the application access delay, but basically remains unchanged, indicating that the application program delay is stable within the adjacent target duration, the controller does not need to perform this step 403. The controller can also continuously obtain the access delay of the application program, and execute the process of steps 402 to 403 every time a target duration passes, thereby realizing dynamic adjustment of the migration bandwidth.
通过获取应用程序访问存储介质的访问时延,再根据获取到的访问时延,获取时延变化信息,然后根据时延变化信息所指示存储介质的应用访问时延的变化规律,调整该存储介质的迁移带宽,以便之后存储介质通过调整后的迁移带宽进行数据迁移,以降低固定的迁移带宽对应用程序访问存储介质所采用的带宽的影响,进而提高应用程序访问该存储介质的效率。By obtaining the access delay of the application accessing the storage medium, and then obtaining the delay change information based on the obtained access delay, and then adjusting the storage medium according to the change pattern of the application access delay of the storage medium indicated by the delay change information. The migration bandwidth is used so that the storage medium can later migrate data through the adjusted migration bandwidth, thereby reducing the impact of the fixed migration bandwidth on the bandwidth used by applications to access the storage medium, thereby improving the efficiency of applications accessing the storage medium.
对于控制器获取应用程序的访问时延的过程,在图4所示的实施例中,控制器实时获取应用程序的访问时延,而在例如图5所示的实施例中,控制器是在应用程序满足迁移带宽调整条件时,才获取应用程序的访问时延。其中,图5是本申请提供的一种基于迁移带宽调整条件的迁移带宽调整方法的流程图,该方法应用于混合内存系统,该方法由混合内存系统的控制器执行。Regarding the process of the controller obtaining the access delay of the application program, in the embodiment shown in Figure 4, the controller obtains the access delay of the application program in real time, while in the embodiment shown in Figure 5, for example, the controller is in The access delay of the application is obtained only when the application meets the migration bandwidth adjustment conditions. Among them, FIG. 5 is a flow chart of a migration bandwidth adjustment method based on migration bandwidth adjustment conditions provided by this application. This method is applied to a hybrid memory system, and the method is executed by a controller of the hybrid memory system.
步骤501、若应用程序满足迁移带宽调整条件,控制器获取应用程序访问第一存储介质的访问时延,该第一存储介质为所述混合内存系统中一种存储介质。Step 501: If the application program meets the migration bandwidth adjustment condition, the controller obtains the access delay of the application program accessing the first storage medium, and the first storage medium is a storage medium in the hybrid memory system.
其中,该应用程序满足迁移带宽调整条件包括下述情况1至情况3中的至少一项:Among them, the application meeting the migration bandwidth adjustment conditions includes at least one of the following situations 1 to 3:
情况1:接收到终端的迁移带宽调整请求,该迁移带宽调整请求指示根据所述应用程序的访问时延调整第一存储介质的迁移带宽。Case 1: A migration bandwidth adjustment request from the terminal is received, which indicates that the migration bandwidth of the first storage medium is adjusted according to the access delay of the application program.
情况2:该应用程序提供有目标业务。Scenario 2: The application provides targeted services.
情况3:该应用程序访问的第一存储介质的迁移进程已经运行,该迁移进程用于对该第一存储介质进行数据迁移。Situation 3: The migration process of the first storage medium accessed by the application program has been run, and the migration process is used to migrate data to the first storage medium.
以应用程序满足迁移带宽调整条件包括情况1至情况3中的一种情况,控制器获取应用程序访问第一存储介质的访问时延为例,对本步骤501进行介绍。应用程序满足迁移带宽调整条件包括情况1至情况3中至少两个情况的组合,控制器获取应用程序访问第一存储介质的访问时延的过程,可参考满足单个情况时的获取过程。This step 501 will be introduced by taking the application meeting the migration bandwidth adjustment condition, including one of cases 1 to 3, and the controller obtaining the access delay of the application to access the first storage medium as an example. The application satisfying the migration bandwidth adjustment condition includes a combination of at least two of the situations 1 to 3. The process of the controller obtaining the access delay of the application accessing the first storage medium can be referred to the acquisition process when a single situation is satisfied.
对于情况1,终端提供有迁移带宽调整模式的开启选项,用户对该开启选项进行选择操作,终端响应于对该开启选项的选择操作,向控制器发送迁移带宽调整请求。相应地,控制器接收终端的迁移带宽调整请求,则该应用程序满足迁移带宽调整条件,控制器根据该迁移带宽调整请求,调整该应用程序访问第一存储介质的迁移带宽,因此,调整该迁移带宽之前,控制器先获取应用程序访问第一存储介质的访问时延。For case 1, the terminal provides an option to enable the migration bandwidth adjustment mode, the user selects the option, and the terminal sends a migration bandwidth adjustment request to the controller in response to the selection operation. Correspondingly, the controller receives the migration bandwidth adjustment request from the terminal, then the application meets the migration bandwidth adjustment condition, and the controller adjusts the migration bandwidth for the application to access the first storage medium according to the migration bandwidth adjustment request. Therefore, the migration is adjusted. Before determining the bandwidth, the controller first obtains the access delay of the application program accessing the first storage medium.
对于情况2,该目标业务为对应用程序的访问时延要求较高的业务,例如,该目标业务要求应用程序的访问时延小于或等于目标时延阈值。该目标时延阈值小于应用程序允许的最大访问时延。该目标业务包括远程字典服务(remote dictionary server,Redis)、关系型数据库管理系统(MySQL)以及计算引擎(Spark)所提供的业务等。For case 2, the target service is a service that requires a high access delay of the application program. For example, the target service requires that the access delay of the application program is less than or equal to the target delay threshold. The target latency threshold is less than the maximum access latency allowed by the application. The target business includes services provided by remote dictionary service (remote dictionary server, Redis), relational database management system (MySQL), and computing engine (Spark).
例如,内存混合系统中的CPU允许运行多个应用程序,若该多个应用程序中的任一应用程序提供有目标业务,则该应用程序满足迁移带宽调整条件,控制器根据应用程序的访问时延,调整该应用程序访问第一存储介质的迁移带宽,因此,调整该迁移带宽之前,控制器先获取应用程序访问第一存储介质的访问时延。For example, the CPU in a memory hybrid system is allowed to run multiple applications. If any of the multiple applications provides a target service, the application meets the migration bandwidth adjustment conditions, and the controller adjusts the migration bandwidth according to the access time of the application. delay, and adjust the migration bandwidth of the application program to access the first storage medium. Therefore, before adjusting the migration bandwidth, the controller first obtains the access delay of the application program to the first storage medium.
对于情况3,控制器检测第一存储介质的迁移进程是否已经运行,若检测到该第一存储介质的迁移进程已经运行,该应用程序满足迁移带宽调整条件,控制器根据访问该第一存储介质的应用程序的访问时延,调整该第一存储介质的迁移带宽,因此,调整该迁移带宽之前,控制器先获取应用程序访问第一存储介质的访问时延。For case 3, the controller detects whether the migration process of the first storage medium has been run. If it is detected that the migration process of the first storage medium has been run, the application meets the migration bandwidth adjustment condition, and the controller accesses the first storage medium based on The access delay of the application program is used to adjust the migration bandwidth of the first storage medium. Therefore, before adjusting the migration bandwidth, the controller first obtains the access delay of the application program accessing the first storage medium.
在应用程序满足迁移带宽调整条件的情况下,控制器才会获取该应用程序的访问时延,进而通过应用程序的访问时延,调整第一存储介质的迁移带宽,降低了控制器的工作量,减少了计算资源的消耗。在接收到终端的迁移带宽调整请求或应用程序提供有目标业务的情况下,控制器才会获取该应用程序的访问时延,进而通过应用程序的访问时延,调整第一存储介质的迁移带宽,以降低该迁移带宽对该应用程序的访问时延的影响,进而提高该应用程序访问第一存储介质的效率,从而能够保证而能够保证终端或目标业务对应用程序的访问时延的要求。When the application meets the migration bandwidth adjustment conditions, the controller will obtain the access delay of the application, and then adjust the migration bandwidth of the first storage medium based on the access delay of the application, reducing the workload of the controller. , reducing the consumption of computing resources. Only after receiving a migration bandwidth adjustment request from the terminal or the application provides a target service, the controller will obtain the access delay of the application, and then adjust the migration bandwidth of the first storage medium based on the access delay of the application. , to reduce the impact of the migration bandwidth on the access delay of the application, thereby improving the efficiency of the application in accessing the first storage medium, thereby ensuring the access delay requirements of the terminal or target business for the application.
另外,控制器获取应用程序访问第一存储介质的访问时延的过程可参考上述步骤401。In addition, the controller may refer to the above-mentioned step 401 for the process of obtaining the access delay of the application program accessing the first storage medium.
步骤502、控制器根据获取的访问时延,确定时延变化信息,该时延变化信息指示该第一存储介质的 应用访问时延的变化规律,该应用访问时延为该第一存储介质被应用程序访问时所占用的时间。Step 502: The controller determines delay change information based on the obtained access delay. The delay change information indicates the delay change information of the first storage medium. The changing rule of the application access delay is the time occupied by the first storage medium when it is accessed by the application program.
其中,本步骤502与步骤402同理,在此,本申请实施例对步骤502不再赘述。Step 502 is the same as step 402. Step 502 will not be described again in this embodiment of the present application.
步骤503、控制器根据该变化规律,调整该第一存储介质的迁移带宽,该迁移带宽指示对该第一存储介质进行数据迁移时所采用的带宽。Step 503: The controller adjusts the migration bandwidth of the first storage medium according to the change rule. The migration bandwidth indicates the bandwidth used for data migration of the first storage medium.
其中,本步骤503与步骤403同理,在此,本申请实施例对步骤503不再赘述。Step 503 is the same as step 403. Step 503 will not be described again in this embodiment of the present application.
通过获取应用程序访问存储介质的访问时延,再根据获取到的访问时延,获取时延变化信息,然后根据时延变化信息所指示存储介质的应用访问时延的变化规律,调整该存储介质的迁移带宽,以便之后存储介质通过调整后的迁移带宽进行数据迁移,以降低固定的迁移带宽对应用程序访问存储介质所采用的带宽的影响,进而提高应用程序访问该存储介质的效率。By obtaining the access delay of the application accessing the storage medium, and then obtaining the delay change information based on the obtained access delay, and then adjusting the storage medium according to the change pattern of the application access delay of the storage medium indicated by the delay change information. The migration bandwidth is used so that the storage medium can later migrate data through the adjusted migration bandwidth, thereby reducing the impact of the fixed migration bandwidth on the bandwidth used by applications to access the storage medium, thereby improving the efficiency of applications accessing the storage medium.
对于控制器确定时延变化信息的过程,图4是根据访问时延序列中访问时延的递增或递减情况确定的时延变化信息,而在图6所示的实施例中,控制器根据应用程序的平均访问时延,来确定时延变化信息,以确定出应用程序的访问时延的总体变化趋势。其中,图6是本申请提供的一种基于应用程序的平均访问时延的迁移带宽调整方法的流程图,该方法应用于混合内存系统,该方法由混合内存系统的控制器执行。Regarding the process of the controller determining the delay change information, Figure 4 shows the delay change information determined based on the increment or decrement of the access delay in the access delay sequence. In the embodiment shown in Figure 6, the controller determines the delay change information based on the application. The average access delay of the program is used to determine the delay change information to determine the overall change trend of the access delay of the application. Among them, FIG. 6 is a flow chart of a migration bandwidth adjustment method based on the average access delay of an application provided by this application. This method is applied to a hybrid memory system, and the method is executed by the controller of the hybrid memory system.
步骤601、控制器获取应用程序访问第一存储介质的平均访问时延,该第一存储介质为该混合内存系统中一种存储介质。Step 601: The controller obtains the average access delay of the application program's access to the first storage medium, which is a storage medium in the hybrid memory system.
其中,该平均访问时延为在目标时长内该应用程序单次访问第一存储介质的平均时间。The average access delay is the average time it takes for the application to access the first storage medium in a single time within the target duration.
例如,每经过一个目标时长,控制器获取到一个监测结果,控制器对该监测结果中的访问时延进行求和,得到总时延,统计监测结果中访问时延的总个数,将该总时延与该总个数之间的比值作为平均访问时延。For example, every time a target duration passes, the controller obtains a monitoring result. The controller sums the access delays in the monitoring results to obtain the total delay, counts the total number of access delays in the monitoring results, and adds the total number of access delays in the monitoring results. The ratio between the total delay and the total number is used as the average access delay.
在另一种可能的实现方式中,若应用程序满足迁移带宽调整条件,控制器执行本步骤601,这种实现方式可参考上述步骤501。In another possible implementation, if the application meets the migration bandwidth adjustment condition, the controller executes step 601. For this implementation, please refer to the above step 501.
另外,在控制器包括适配器的情况下,本步骤601由控制器中的适配器来执行。以图1中的控制器13为例,本步骤601由控制器13中的适配器132来执行。In addition, if the controller includes an adapter, this step 601 is performed by the adapter in the controller. Taking the controller 13 in Figure 1 as an example, this step 601 is performed by the adapter 132 in the controller 13.
步骤602、控制器根据获取的平均访问时延,确定时延变化信息,该时延变化信息指示第一存储介质的应用访问时延的变化规律,该应用访问时延为该第一存储介质被应用程序访问时所占用的时间。Step 602: The controller determines the delay change information based on the obtained average access delay. The delay change information indicates the change rule of the application access delay of the first storage medium. The application access delay is the first storage medium. The time taken by the application to access.
在一种可能的实现方式中,每经过目标时长,控制器获取到一个平均访问时延,为了便于描述,将在当前目标时长获取的平均访问时延称为第一平均访问时延,将当前目标时长的上一个目标时长获取到的平均访问时延称为第二平均访问时延。每经过目标时长,控制器根据当前目标时长中的第一平均访问时延以及上一个目标时长中的第二平均访问时延,确定时延变化信息。In one possible implementation, the controller obtains an average access delay every time the target duration passes. For the convenience of description, the average access delay obtained during the current target duration is called the first average access delay, and the current The average access delay obtained from the previous target duration is called the second average access delay. Each time the target duration passes, the controller determines the delay change information based on the first average access delay in the current target duration and the second average access delay in the previous target duration.
例如,若第一平均访问时延大于第二平均访问时延,说明应用程序的访问时延的变化规律是递增,则控制器生成包括第一规律标识的时延变化信息,若第一平均访问时延小于第二平均访问时延,说明应用程序的访问时延的变化规律是递减,则该应用程序生成包括第二规律标识的时延变化信息。For example, if the first average access delay is greater than the second average access delay, it means that the change pattern of the application's access delay is increasing, and the controller generates delay change information including the first rule identifier. If the first average access delay If the delay is less than the second average access delay, it means that the change pattern of the access delay of the application program is decreasing, and the application program generates delay change information including the second rule identifier.
步骤603、控制器根据该变化规律,调整该第一存储介质的迁移带宽,该迁移带宽指示对该第一存储介质进行数据迁移时所采用的带宽。Step 603: The controller adjusts the migration bandwidth of the first storage medium according to the change rule. The migration bandwidth indicates the bandwidth used when migrating data to the first storage medium.
其中,本步骤603与步骤403同理,在此,本申请实施例对步骤603不再赘述。Step 603 is the same as step 403. Step 603 will not be described again in this embodiment of the present application.
通过获取应用程序访问存储介质的访问时延,再根据获取到的访问时延,获取时延变化信息,然后根据时延变化信息所指示存储介质的应用访问时延的变化规律,调整该存储介质的迁移带宽,以便之后存储介质通过调整后的迁移带宽进行数据迁移,以降低固定的迁移带宽对应用程序访问存储介质所采用的带宽的影响,进而提高应用程序访问该存储介质的效率。By obtaining the access delay of the application accessing the storage medium, and then obtaining the delay change information based on the obtained access delay, and then adjusting the storage medium according to the change pattern of the application access delay of the storage medium indicated by the delay change information. The migration bandwidth is used so that the storage medium can later migrate data through the adjusted migration bandwidth, thereby reducing the impact of the fixed migration bandwidth on the bandwidth used by applications to access the storage medium, thereby improving the efficiency of applications accessing the storage medium.
为了便于理解,接下来,以图7作为一种示例,进一步介绍本申请提供的一种混合内存系统中的迁移带宽调整方法。For ease of understanding, next, FIG. 7 is used as an example to further introduce a migration bandwidth adjustment method in a hybrid memory system provided by this application.
其中,该混合内存系统为图1至图3所示的任一混合内存系统。可以理解的是,图3中虽然没有示出混合内存系统100a至100c的控制器,但混合内存系统100a至100c都具有控制器,因此,在该混合内存系统为图3所示的任一混合内存系统时,图7是对图3所示的任一混合内存系统中的存储介质进行迁移带宽调整的示例。下面,以混合内存系统的控制器包括监测器、适配器以及迁移引擎为例,对图7作如下介绍:Wherein, the hybrid memory system is any of the hybrid memory systems shown in Figures 1 to 3. It can be understood that although the controllers of the hybrid memory systems 100a to 100c are not shown in Figure 3, the hybrid memory systems 100a to 100c all have controllers. Therefore, in this hybrid memory system, any hybrid memory system shown in Figure 3 When using a memory system, Figure 7 is an example of migration bandwidth adjustment for storage media in any hybrid memory system shown in Figure 3. Below, taking the controller of the hybrid memory system including monitors, adapters and migration engines as an example, Figure 7 is introduced as follows:
如图7所示,在控制器上电后,控制器进行初始化,初始化过程例如控制器中的适配器通过配置接口 向迁移引擎配置该混合内存系统中存储介质的迁移带宽(如迁迁移读带宽为80MB/s,迁移写带宽为30MB/s),适配器为应用访问时延配置、第一时延阈值、第二时延值、第一带宽调整参数以及第二带宽调整参数,监测器开启时延监测功能,以监测应用程序的访问时延。As shown in Figure 7, after the controller is powered on, the controller initializes. For example, the adapter in the controller configures the interface through the initialization process. Configure the migration bandwidth of the storage medium in the hybrid memory system to the migration engine (for example, the migration read bandwidth is 80MB/s and the migration write bandwidth is 30MB/s). The adapter configures the application access delay, the first delay threshold, and the second delay threshold. The delay value, the first bandwidth adjustment parameter and the second bandwidth adjustment parameter, the monitor turns on the delay monitoring function to monitor the access delay of the application program.
之后,监测器对具有访问该存储介质权限的应用程序进行访问时延监测,在某一处理器运行该应用程序的过程中,向该存储介质下发访问请求,相应地,监测器监测到该应用程序的访问时延。若该存储介质满足迁移条件,迁移引擎运行该存储介质的迁移进程,以采用当前配置的迁移带宽,对该存储介质进行数据迁移,其中,该存储介质满足迁移条件包括该存储介质的某一个内存页为热页、某一个内存页为冷页、该存储介质故障或者其他的存储介质向该存储介质迁移数据。例如,若该存储介质的某一个内存页为热页,则向该混合内存系统中比该存储介质的数据传输性能高的另一存储介质迁移该热页。若该存储介质的某一个内存页为冷页,则向该混合内存系统中比该存储介质的数据传输性能低的另一存储介质迁移该冷页。若该存储介质故障,则向该混合内存系统中无故障的另一存储介质迁移故障存储介质中的数据。当然,该存储介质也可能满足除上述介绍的迁移条件之外的其他迁移条件,在此,本申请实施例对该存储介质满足迁移条件的情况不做限定。After that, the monitor monitors the access delay of the application that has the permission to access the storage medium. When a certain processor is running the application, it issues an access request to the storage medium. Correspondingly, the monitor detects that the application has the permission to access the storage medium. Application access latency. If the storage medium meets the migration conditions, the migration engine runs the migration process of the storage medium to migrate data to the storage medium using the currently configured migration bandwidth. Among them, the storage medium meeting the migration conditions includes a certain memory of the storage medium. The page is a hot page, a certain memory page is a cold page, the storage medium fails, or other storage media migrates 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 transmission performance than the storage medium. If a certain memory page of the storage medium is a cold page, the cold page is migrated to another storage medium in the hybrid memory system that 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 non-faulty storage medium in the hybrid memory system. Of course, the storage medium may also satisfy other migration conditions besides the migration conditions introduced above. Here, the embodiment of the present application does not limit the situation in which the storage medium meets the migration conditions.
从迁移进程对存储介质开始数据迁移,在该存储介质的迁移进程与应用程序访问该存储介质并行的情况下,适配器以目标时长为一个轮询周期,每经过一个轮询周期,轮询监测器,以从监测器获取该目标时长内的访问时延的数量以及总访问时延,若迁移进程没有运行,此时数据迁移结束,适配器不再调整迁移带宽。Data migration starts from the migration process to the storage medium. When the migration process of the storage medium is parallel to the application accessing the storage medium, the adapter uses the target duration as a polling cycle. After each polling cycle, the adapter polls the monitor. , to obtain the number of access delays within the target duration and the total access delay from the monitor. If the migration process is not running, the data migration ends at this time, and the adapter will no longer adjust the migration bandwidth.
若迁移进程还在运行,适配器根据获取到的访问时延的数量以及总访问时延,确定是否调整该存储介质的迁移带宽。例如,适配器根据获取到的访问时延的数量以及总访问时延,确定应用程序的平均访问时延,根据本次获取的平均访问时延以及之前获取的平均访问时延,确定该存储介质的应用时延的变化规律,若应用时延的变化规律为递增,且本次获取的平均访问时延达到第一时延阈值,则适配器适当减少迁移带宽(如根据第一带宽调整参数减少迁移带宽)。若应用时延的变化规律为递减,且本次获取的平均访问时延小于或等于第二时延阈值,则适配器适当增加迁移带宽(如根据第二带宽调整参数增加迁移带宽)。若应用时延的变化规律为基本不变,则适配器不调整该迁移带宽。If the migration process is still running, the adapter determines whether to adjust the migration bandwidth of the storage medium based on the number of access delays obtained and the total access delay. For example, the adapter determines the average access delay of the application based on the number of access delays obtained and the total access delay, and determines the storage medium based on the average access delay obtained this time and the average access delay obtained previously. The change pattern of application delay. If the change pattern of application delay is increasing, and the average access delay obtained this time reaches the first delay threshold, the adapter appropriately reduces the migration bandwidth (such as reducing the migration bandwidth according to the first bandwidth adjustment parameter). ). If the change pattern of application delay is decreasing, and the average access delay obtained this time is less than or equal to the second delay threshold, the adapter appropriately increases the migration bandwidth (for example, increases the migration bandwidth according to the second bandwidth adjustment parameter). If the change pattern of application delay is basically unchanged, the adapter does not adjust the migration bandwidth.
在适配器调整了该迁移带宽的情况下,适配器通过配置接口,向迁移引擎配置调整后的迁移带宽。迁移引擎在目标时长内保持调整后的迁移带宽不变,采用调整后的迁移带宽,对该存储介质继续进行数据迁移,此时对于迁移引擎而言,调整后的迁移带宽也即是当前迁移带宽。在适配器没有调整该迁移带宽的情况下,迁移引擎在目标时长内保持之前配置的迁移带宽不变,采用之前配置的迁移带宽,对该存储介质继续进行数据迁移,此时对于迁移引擎而言,之前配置的迁移带宽也即是当前迁移带宽。When 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 within the target duration, uses the adjusted migration bandwidth, and continues to migrate data to the storage medium. At this time, for the migration engine, the adjusted migration bandwidth is also the current migration bandwidth. . When the adapter does not adjust the migration bandwidth, the migration engine keeps the previously configured migration bandwidth unchanged within the target duration, uses the previously configured migration bandwidth, and continues to migrate data to the storage medium. At this time, for the migration engine, The previously configured migration bandwidth is also the current migration bandwidth.
在迁移引擎保持当前迁移带宽不变的情况下,适配器等待下一个轮询周期。The adapter waits for the next polling cycle while the migration engine maintains the current migration bandwidth.
图4至图7所示的实施例,均是以根据单个应用程序的访问时延,调整第一存储介质的迁移带宽为例进行说明的,在一些实施例中,第一存储介质中的存储空间可能分配给多个应用程序,从而该第一存储介质支持这多个应用程序的访问,相应地,控制器还能够获取多个应用程序的访问时延,根据获取的多个应用程序访问第一存储介质的访问时延,调整第一存储介质的迁移带宽。The embodiments shown in Figures 4 to 7 all take the example of adjusting the migration bandwidth of the first storage medium according to the access delay of a single application. In some embodiments, the storage in the first storage medium The space may be allocated to multiple applications, so that the first storage medium supports access by the multiple applications. Correspondingly, the controller can also obtain the access delays of the multiple applications, and access the third application program according to the obtained access delays. The access delay of the first storage medium is adjusted to the migration bandwidth of the first storage medium.
其中,控制器先获取多个应用程序的访问时延的方式可参考上述方法实施例中获取单个应用程序的访问时延的方式。在根据获取的多个应用程序访问第一存储介质的访问时延,调整第一存储介质的迁移带宽的过程中,控制器根据获取的多个应用程序访问第一存储介质的访问时延,确定时延变化信息,根据时延变化信息所指示的变化规律,调整第一存储介质的迁移带宽。The controller first obtains the access delays of multiple applications by referring to the method of obtaining the access delays of a single application in the above method embodiment. In the process of adjusting the migration bandwidth of the first storage medium based on the obtained access delays of multiple application programs accessing the first storage medium, the controller determines based on the obtained access delays of multiple application programs accessing the first storage medium. The delay change information adjusts the migration bandwidth of the first storage medium according to the change rule indicated by the delay change information.
控制器根据获取的多个应用程序访问第一存储介质的访问时延,确定时延变化信息的过程可参考步骤402或者步骤601至步骤602。控制器根据时延变化信息所指示的变化规律,调整第一存储介质的迁移带宽可参考上述步骤403,但在参考403时,控制器可根据多个应用程序选取第二时延阈值和第二时延阈值。例如,对于第一时延阈值或第二时延阈值中的任一时延阈值,该任一时延阈值小于该多个应用程序允许的各个最大访问时延中的最小时延,根据该任一时延调整第一存储介质的迁移带宽,从而避免第一存储介质的应用访问时延达到该最小时延,以满足多个应用程序对访问时延的要求,避免应用程序崩溃。或者,若该多个应用程序中存在提供目标业务的目标应用程序,该任一时延阈值小于该目标应用程序允许的最大访问时延,根据该任一时延调整第一存储介质的迁移带宽,使得第一存储介质的应用访问时延能够满足目标业务的要求。 The controller may refer to step 402 or step 601 to step 602 for the process of determining the delay change information based on the acquired access delays of multiple application programs accessing the first storage medium. The controller can adjust the migration bandwidth of the first storage medium according to the change pattern indicated by the delay change information by referring to step 403. However, when referring to step 403, the controller can select the second delay threshold and the second delay threshold according to multiple applications. Delay threshold. For example, for any delay threshold among the first delay threshold or the second delay threshold, and the delay threshold is less than the minimum delay among the maximum access delays allowed by the multiple applications, according to the delay Adjust the migration bandwidth of the first storage medium to prevent the application access delay of the first storage medium from reaching the minimum delay, so as to meet the access delay requirements of multiple applications and avoid application crashes. Or, if there is a target application that provides target services among the multiple applications, and any delay threshold is less than the maximum access delay allowed by the target application, 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 can meet the requirements of the target business.
以上介绍了本申请实施例的方法,以下介绍本申请实施例的装置。应理解,以下介绍的装置具有上述方法中混合内存系统的控制器的任意功能。The method of the embodiment of the present application is introduced above, and the device of the embodiment of the present application is introduced below. It should be understood that the device introduced below has any function of the controller of the hybrid memory system in the above method.
参见图8,本申请提供了一种存储介质的迁移带宽调整装置800的结构示意图,迁移带宽调整装置800可以为前面各个实施例中混合内存系统的控制器或控制器的部分,用于执行控制器所执行的方法。其中,迁移带宽调整装置800应用于混合内存系统,迁移带宽调整装置800包括:Referring to Figure 8, this application provides a schematic structural diagram of a storage medium migration bandwidth adjustment device 800. The migration bandwidth adjustment device 800 can be the controller or part of the controller of the hybrid memory system in the previous embodiments, and is used to perform control. The method executed by the implementer. Among them, the migration bandwidth adjustment device 800 is applied to a hybrid memory system, and the migration bandwidth adjustment device 800 includes:
获取模块801,用于获取应用程序访问第一存储介质的访问时延,该第一存储介质为混合内存系统中一种存储介质;Obtaining module 801 is used to obtain the access delay of the application program accessing the first storage medium. The first storage medium is a storage medium in the hybrid memory system;
确定模块802,用于根据获取的访问时延,确定时延变化信息,时延变化信息指示第一存储介质的应用访问时延的变化规律,应用访问时延为第一存储介质被应用程序访问时所占用时间;Determining module 802 is configured to determine delay change information based on the obtained access delay. The delay change information indicates the change pattern of the application access delay of the first storage medium. The application access delay is when the first storage medium is accessed by an application program. time occupied;
调整模块803,用于根据该变化规律调整第一存储介质的迁移带宽,迁移带宽指示对第一存储介质进行数据迁移时所采用的带宽。The adjustment module 803 is configured to adjust the migration bandwidth of the first storage medium according to the change rule. The migration bandwidth indicates the bandwidth used when migrating data to the first storage medium.
应理解的是,本发明本申请实施例的迁移带宽调整装置800可以通过中央处理单元(central processing unit,CPU)实现,也可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)、数据处理单元(data processing unit,DPU)、片上系统(system on chip,SoC)或其任意组合。也可以通过软件实现图4至图7所示的迁移带宽调整方法时,迁移带宽调整装置800及其各个模块也可以为软件模块。It should be understood that the migration bandwidth adjustment device 800 in this embodiment of the present invention can be implemented by a central processing unit (CPU), or can be implemented by an application-specific integrated circuit (ASIC), or can be Programmable logic device (PLD) implementation. The above PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), or a general array logic (generic array). logic, GAL), data processing unit (DPU), system on chip (SoC), or any combination thereof. When the migration bandwidth adjustment method shown in Figures 4 to 7 can also be implemented through software, the migration bandwidth adjustment device 800 and its respective modules can also be software modules.
在一种可能的实现方式中,应用程序对应至少一个第一时延阈值,第一时延阈值小于应用程序允许的最大访问时延,且第一时延阈值与第一带宽调整参数对应,调整模块803用于:In a possible implementation, the application corresponds to at least one first delay threshold, the first delay threshold is less than the maximum access delay allowed by the application, and the first delay threshold corresponds to the first bandwidth adjustment parameter, and the adjustment Module 803 is used for:
若该变化规律为应用访问时延递增,且获取的访问时延大于或等于第一时延阈值,根据第一时延阈值对应的第一带宽调整参数,减少该迁移带宽。If the change pattern is that the application access delay increases, and the obtained access delay is greater than or equal to the first delay threshold, the migration bandwidth is reduced according to the first bandwidth adjustment parameter corresponding to the first delay threshold.
在一种可能的实现方式中,应用程序对应至少一个第二时延阈值,第二时延阈值小于应用程序允许的最大访问时延,且第二时延阈值与第二带宽调整参数对应;调整模块803用于:In a possible implementation, the application corresponds to at least a second delay threshold, the second delay threshold is less than the maximum access delay allowed by the application, and the second delay threshold corresponds to the second bandwidth adjustment parameter; adjust Module 803 is used for:
若该变化规律为应用访问时延递减,且获取的访问时延小于或等于第二时延阈值,根据第二时延阈值对应的第二带宽调整参数,增加该迁移带宽。If the change pattern is that the application access delay decreases, and the obtained access delay is less than or equal to the second delay threshold, the migration bandwidth is increased according to the second bandwidth adjustment parameter corresponding to the second delay threshold.
在一种可能的实现方式中,在第一存储介质支持多个应用程序访问的情况下,对于第一时延阈值或第二时延阈值中的任一时延阈值,任一时延阈值小于多个应用程序允许的各个最大访问时延中的最小时延;或者,若多个应用程序中存在提供目标业务的目标应用程序,任一时延阈值小于目标应用程序允许的最大访问时延。In a possible implementation, when the first storage medium supports access by multiple application programs, for any delay threshold in the first delay threshold or the second delay threshold, any delay threshold is smaller than multiple The minimum delay among the maximum access delays allowed by the application; or, if there is a target application that provides the target service among multiple applications, any delay threshold is smaller than the maximum access delay allowed by the target application.
在一种可能的实现方式中,获取模块801还用于:In a possible implementation, the acquisition module 801 is also used to:
若应用程序满足迁移带宽调整条件,执行获取应用程序访问第一存储介质的访问时延的步骤。If the application meets the migration bandwidth adjustment conditions, perform the step of obtaining the access delay of the application to access the first storage medium.
在一种可能的实现方式中,应用程序满足迁移带宽调整条件包括下述至少一项:In a possible implementation, the conditions for the application to meet the migration bandwidth adjustment include at least one of the following:
接收到终端的迁移带宽调整请求,迁移带宽调整请求指示根据应用程序的访问时延调整迁移带宽;应用程序提供有目标业务;应用程序访问的第一存储介质的迁移进程已经运行,迁移进程用于对第一存储介质进行数据迁移。A migration bandwidth adjustment request from the terminal is received. The migration bandwidth adjustment request indicates that the migration bandwidth is adjusted according to the access delay of the application; the application provides a target service; the migration process of the first storage medium accessed by the application has been run, and the migration process is used Perform data migration on the first storage medium.
在一种可能的实现方式中,访问时延包括读时延和写时延中的至少一项,读时延为应用程序从第一存储介质读取数据的时延,写时延为应用程序向第一存储介质写入数据的时延。In a possible implementation, the access delay includes at least one of a read delay and a write delay. The read delay is the delay of the application program in reading data from the first storage medium, and the write delay is the application program's delay in reading data from the first storage medium. The delay in writing data to the first storage medium.
在一种可能的实现方式中,获取模块用于:In one possible implementation, the acquisition module is used to:
若应用程序对第一存储介质的读写比例大于或等于目标比例,获取应用程序的读时延;If the read-write ratio of the application program to the first storage medium is greater than or equal to the target ratio, obtain the read latency 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, obtain the write latency of the application program. In a possible implementation, the migration bandwidth is a migration read bandwidth or a migration write bandwidth. The migration read bandwidth is the bandwidth used when reading data from the first storage medium during the data migration process. The migration write bandwidth is the data bandwidth. The bandwidth used when writing data in the second storage medium to the first storage medium during the migration process.
在一种可能的实现方式中,若第一存储介质和第二存储介质位于同一计算设备,第一存储介质和第二存储介质的种类不同;若第一存储介质和第二存储介质位于不同的计算设备,第一存储介质和第二存储介质的种类不同或者相同。 In a possible implementation, if the first storage medium and the second storage medium are located in 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 The computing device, the first storage medium and the second storage medium are of different or the same type.
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。All the above optional technical solutions can be combined in any way to form optional embodiments of the present application, and will not be described again one by one.
应理解,迁移带宽调整装置800对应于上述方法实施例中的控制器,迁移带宽调整装置800中的各模块和上述其他操作和/或功能分别为了实现方法实施例中的控制器所实施的各种步骤和方法,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。It should be understood that the migration bandwidth adjustment device 800 corresponds to the controller in the above method embodiment, and each module in the migration bandwidth adjustment device 800 and the above other operations and/or functions are respectively intended to implement various functions implemented by the controller in the method embodiment. The steps and methods can be found in the above-mentioned method embodiments for specific details. For the sake of brevity, they will not be described again here.
应理解,迁移带宽调整装置800在调整存储介质的迁移带宽时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将迁移带宽调整装置800的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的迁移带宽调整装置800与上述方法实施例属于同一构思,其具体实现过程详见上述方法实施例,这里不再赘述。It should be understood that when the migration bandwidth adjustment device 800 adjusts the migration bandwidth of the storage medium, it only takes the division of the above functional modules as an example. In actual applications, the above function allocation can be completed by different functional modules as needed, that is, migration The internal structure of the bandwidth adjustment device 800 is divided into different functional modules to complete all or part of the functions described above. In addition, the migration bandwidth adjustment device 800 provided in the above embodiments belongs to the same concept as the above method embodiments, and its specific implementation process can be found in the above method embodiments, which will not be described again here.
应理解,迁移带宽调整装置800可以相当混合内存系统100的控制器13,或者相当于控制器13中的执行部件。例如,获取模块801相当于控制器13中的监测器131,确定模块802以及调整模块803相当于控制器13中的适配器132。It should be understood that the migration bandwidth adjustment device 800 may be equivalent to the controller 13 of the hybrid memory system 100 , or equivalent to an execution component in the controller 13 . For example, the acquisition module 801 is equivalent to the monitor 131 in the controller 13 , and the determination module 802 and the adjustment module 803 are equivalent to the adapter 132 in the controller 13 .
图9是本申请提供的一种芯片900的结构示意图,如图9所示,芯片900应用于混合内存系统,以作为混合内存系统的控制器,芯片900包括一个或多个处理器901以及一个或多个存储器902。该一个或多个存储器901与一个或多个处理器902耦合,一个或多个存储器902用于存储程序代码,当一个或多个处理器901执行程序代码时,使得芯片900执行上述相关方法步骤,以实现上述实施例中的存储介质的迁移带宽调整方法。Figure 9 is a schematic structural diagram of a chip 900 provided by this application. As shown in Figure 9, the chip 900 is used in a hybrid memory system as a controller of the hybrid memory system. The chip 900 includes one or more processors 901 and a or multiple memories 902. The one or more memories 901 are coupled to one or more processors 902. The one or more memories 902 are used to store program codes. When the one or more processors 901 execute the program codes, the chip 900 performs the above related method steps. , to implement the storage medium migration bandwidth adjustment method in the above embodiment.
其中,处理器901可以是CPU,处理器901还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。Among them, the processor 901 can be a CPU, and the processor 901 can 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 Programmed logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor, etc.
作为一种可能的实现方式,本申请还提供一种包括处理器和供电电路的芯片,供电电路用于为处理器供电,处理器用于实现上述相关方法步骤,以实现上述实施例中的存储介质的迁移带宽调整方法,为了简洁,在此不再赘述。As a possible implementation manner, this application also provides a chip including a processor and a power supply circuit. The power supply circuit is used to power the processor. The processor is used to implement the above related method steps to implement the storage medium in the above embodiment. The migration bandwidth adjustment method will not be described again for the sake of simplicity.
作为另一种可能的实现方式,本申请还提供一种计算设备,该计算设备包括上述芯片,芯片用于实现上述实施例中的存储介质的迁移带宽调整方法,为了简洁,在此不再赘述。As another possible implementation manner, this application also provides a computing device, which includes the above-mentioned chip. The chip is used to implement the storage medium migration bandwidth adjustment method in the above-mentioned embodiment. For the sake of brevity, details will not be described here. .
作为另一种可能的实现方式,本申请还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由混合内存系统的控制器(如芯片900中的处理器901)读取,使控制器所在设备(如芯片)执行并完成上述实施例中的存储介质的迁移带宽调整方法。其中,计算机可读存储介质的实现方式可参考图9所示的存储器902。As another possible implementation, the present application also provides a computer-readable storage medium, such as a memory including program code. The program code can be read by the controller of the hybrid memory system (such as the processor 901 in the chip 900). Get, cause the device (such as a chip) where the controller is located to execute and complete the migration bandwidth adjustment method of the storage medium in the above embodiment. For the implementation of the computer-readable storage medium, reference may be made to the memory 902 shown in FIG. 9 .
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,混合内存系统的控制器(如芯片900中的处理器901)从计算机可读存储介质读取该程序代码,控制器执行该程序代码,使得控制器所在设备(如芯片900)执行上述存储介质的迁移带宽调整方法。上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)或者半导体介质。半导体介质可以是固态硬盘(solid state disk,SSD)。Embodiments of the present application also provide a computer program product or computer program. The computer program product or computer program includes program code. The program code is stored in a computer-readable storage medium. The controller of the hybrid memory system (such as chip 900 The processor 901) reads the program code from the computer-readable storage medium, and the controller executes the program code, so that the device where the controller is located (such as the chip 900) executes 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 using 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 the computer program instructions are loaded or executed on a computer, the processes or functions described in the embodiments of the present invention are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server, or data center to Transmission to another website, computer, server or data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server or a data center that contains one or more sets of available media. The available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media. The semiconductor medium may be a solid state disk (SSD).
以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。 The above are only specific implementations of the present application. Those skilled in the art may think of changes or substitutions based on the specific implementations provided in this application, and they shall all be covered by the protection scope of this application.

Claims (14)

  1. 一种存储介质的迁移带宽调整方法,其特征在于,所述方法应用于混合内存系统,所述方法包括:A storage medium migration bandwidth adjustment method, characterized in that the method is applied to a hybrid memory system, and the method includes:
    获取应用程序访问第一存储介质的访问时延,所述第一存储介质为所述混合内存系统中一种存储介质;Obtain the access delay of the application program accessing the first storage medium, and the first storage medium is a storage medium in the hybrid memory system;
    根据获取的所述访问时延,确定时延变化信息,所述时延变化信息指示所述第一存储介质的应用访问时延的变化规律,所述应用访问时延为所述第一存储介质被应用程序访问时所占用时间;Determine delay change information according to the obtained access delay. The delay change information indicates the change pattern of the application access delay of the first storage medium. The application access delay is the first storage medium. The time taken when accessed by the application;
    根据所述变化规律调整所述第一存储介质的迁移带宽,所述迁移带宽指示对所述第一存储介质进行数据迁移时所采用的带宽。The migration bandwidth of the first storage medium is adjusted according to the change rule, and the migration bandwidth indicates the bandwidth used when performing data migration on the first storage medium.
  2. 根据权利要求1所述的方法,其特征在于,所述应用程序对应至少一个第一时延阈值,所述第一时延阈值小于所述应用程序允许的最大访问时延,且所述第一时延阈值与第一带宽调整参数对应;The method of claim 1, wherein the application corresponds to at least a first delay threshold, the first delay threshold is less than the maximum access delay allowed by the application, and the first The delay threshold corresponds to the first bandwidth adjustment parameter;
    所述根据所述变化规律调整所述第一存储介质的迁移带宽包括:The adjusting the migration bandwidth of the first storage medium according to the change law includes:
    若所述变化规律为所述应用访问时延递增,且获取的所述访问时延大于或等于所述第一时延阈值,根据所述第一时延阈值对应的第一带宽调整参数,减少所述迁移带宽。If the change pattern is that the application access delay increases, and the obtained access delay is greater than or equal to the first delay threshold, according to the first bandwidth adjustment parameter corresponding to the first delay threshold, reduce The migration bandwidth.
  3. 根据权利要求1所述的方法,其特征在于,所述应用程序对应至少一个第二时延阈值,所述第二时延阈值小于所述应用程序允许的最大访问时延,且所述第二时延阈值与第二带宽调整参数对应;The method of claim 1, wherein the application corresponds to at least a second delay threshold, the second delay threshold is less than the maximum access delay allowed by the application, and the second The delay threshold corresponds to the second bandwidth adjustment parameter;
    所述根据所述变化规律调整所述第一存储介质的迁移带宽包括:The adjusting the migration bandwidth of the first storage medium according to the change law includes:
    若所述变化规律为所述应用访问时延递减,且获取的所述访问时延小于或等于所述第二时延阈值,根据所述第二时延阈值对应的第二带宽调整参数,增加所述迁移带宽。If the change rule is that the application access delay decreases, and the obtained access delay is less than or equal to the second delay threshold, according to the second bandwidth adjustment parameter corresponding to the second delay threshold, increase The migration bandwidth.
  4. 根据权利要求2或3所述的方法,其特征在于,在所述第一存储介质支持多个应用程序访问的情况下,对于所述第一时延阈值或所述第二时延阈值中的任一时延阈值,所述任一时延阈值小于所述多个应用程序允许的各个最大访问时延中的最小时延;The method according to claim 2 or 3, characterized in that when the first storage medium supports access by multiple application programs, for the first delay threshold or the second delay threshold, Any delay threshold, the any delay threshold is less than the minimum delay among the maximum access delays allowed by the multiple applications;
    或者,若所述多个应用程序中存在提供目标业务的目标应用程序,所述任一时延阈值小于所述目标应用程序允许的最大访问时延。Alternatively, if there is a target application that provides a target service among the plurality of applications, any of the delay thresholds is less than the maximum access delay allowed by the target application.
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,所述获取应用程序访问第一存储介质的访问时延之前,所述方法还包括:The method according to any one of claims 1 to 4, characterized in that before obtaining the access delay of the application program accessing the first storage medium, the method further includes:
    若所述应用程序满足迁移带宽调整条件,执行所述获取应用程序访问第一存储介质的访问时延的步骤。If the application meets the migration bandwidth adjustment condition, perform the step of obtaining the access delay of the application to access the first storage medium.
  6. 根据权利要求5所述的方法,其特征在于,所述应用程序满足迁移带宽调整条件包括下述至少一项:The method according to claim 5, wherein the application meeting the migration bandwidth adjustment condition includes at least one of the following:
    接收到终端的迁移带宽调整请求,所述迁移带宽调整请求指示根据所述应用程序的访问时延调整所述迁移带宽;Receive a migration bandwidth adjustment request from the terminal, the migration bandwidth adjustment request indicating that the migration bandwidth is adjusted according to the access delay of the application;
    所述应用程序提供有目标业务;The application provides targeted services;
    所述应用程序访问的第一存储介质的迁移进程已经运行,所述迁移进程用于对所述第一存储介质进行数据迁移。The migration process of the first storage medium accessed by the application program has been run, and the migration process is used to migrate data to the first storage medium.
  7. 根据权利要求1-6中任一项所述的方法,其特征在于,所述访问时延包括读时延和写时延中的至少一项,所述读时延为所述应用程序从所述第一存储介质读取数据的时延,所述写时延为所述应用程序向所述第一存储介质写入数据的时延。The method according to any one of claims 1 to 6, characterized in that the access delay includes at least one of a read delay and a write delay, and the read delay is the The delay in reading data from the first storage medium is the delay in writing data by the application program to the first storage medium.
  8. 根据权利要求7所述的方法,其特征在于,所述获取应用程序访问第一存储介质的访问时延包括:The method according to claim 7, wherein obtaining the access delay of the application program accessing the first storage medium includes:
    若所述应用程序对所述第一存储介质的读写比例大于或等于目标比例,获取所述应用程序的所述读时延;If the read-write ratio of the application program to the first storage medium is greater than or equal to the target ratio, obtain the read latency 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, obtain the Write latency.
  9. 根据权利要求1-8中任一项所述的方法,其特征在于,所述迁移带宽为迁移读带宽或迁移写带宽,所述迁移读带宽为数据迁移过程中将所述第一存储介质中的数据读出时所采用的带宽,所述迁移写带宽为数据迁移过程中将所述第二存储介质中的数据写入所述第一存储介质时所采用的带宽。The method according to any one of claims 1 to 8, characterized in that the migration bandwidth is a migration read bandwidth or a migration write bandwidth, and the migration read bandwidth is the data stored in the first storage medium during the data migration process. The bandwidth used when reading data, the migration write bandwidth is the bandwidth used when writing data in the second storage medium to the first storage medium during the data migration process.
  10. 根据权利要求9所述的方法,其特征在于,若所述第一存储介质和所述第二存储介质位于同一计算设备,所述第一存储介质和所述第二存储介质的种类不同;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 on different computing devices, the types of the first storage medium and the second storage medium are different or the same.
  11. 一种存储介质的迁移带宽调整装置,其特征在于,所述装置应用于混合内存系统,所述装置包括:A storage medium migration bandwidth adjustment device, characterized in that the device is applied to a hybrid memory system, and the device includes:
    获取模块,用于获取应用程序访问第一存储介质的访问时延,所述第一存储介质为所述混合内存系统中一种存储介质;An acquisition module, configured to acquire the access delay of an application program's access to a first storage medium, where the first storage medium is a storage medium in the hybrid memory system;
    确定模块,用于根据获取的所述访问时延,确定时延变化信息,所述时延变化信息指示所述第一存储介质的应用访问时延的变化规律,所述应用访问时延为所述第一存储介质被应用程序访问时所占用时间;Determining module, configured to determine delay change information according to the obtained access delay, where the delay change information indicates a change rule of application access delay of the first storage medium, where the application access delay is The time taken when the first storage medium is accessed by the application program;
    调整模块,用于根据所述变化规律调整所述第一存储介质的迁移带宽,所述迁移带宽指示对所述第一存储介质进行数据迁移时所采用的带宽。An adjustment module, configured to adjust the migration bandwidth of the first storage medium according to the change rule, where the migration bandwidth indicates the bandwidth used when performing data migration on the first storage medium.
  12. 一种混合内存系统,其特征在于,所述混合内存系统包括控制器,所述控制器用于执行如权利要求1至权利要求10中任一项所述的方法。A hybrid memory system, characterized in that the hybrid memory system includes a controller, and the controller is configured to perform the method according to any one of claims 1 to 10.
  13. 一种芯片,其特征在于,所述芯片应用于混合内存系统,所述芯片用于执行如权利要求1至权利要求10中任一项所述的方法。A chip, characterized in that the chip is used in a hybrid memory system, and the chip is used to perform the method according to any one of claims 1 to 10.
  14. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由混合内存系统的控制器读取,以使所述控制器执行如权利要求1至权利要求10中任一项所述的方法。 A computer-readable storage medium, characterized in that at least one program code is stored in the storage medium, and the at least one program code is read by the controller of the hybrid memory system, so that the controller executes the claims The method of any one of 1 to 10.
PCT/CN2023/103715 2022-08-31 2023-06-29 Method, apparatus and system for adjusting migration bandwidth of storage medium, and chip WO2024045846A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211066383.3 2022-08-31
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
WO2024045846A1 true WO2024045846A1 (en) 2024-03-07

Family

ID=90066935

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/103715 WO2024045846A1 (en) 2022-08-31 2023-06-29 Method, apparatus and system for adjusting migration bandwidth of storage medium, and chip

Country Status (2)

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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193646A (en) * 2017-05-24 2017-09-22 中国人民解放军理工大学 A kind of high-efficiency dynamic paging method that framework is hosted based on mixing
CN110413590A (en) * 2019-07-24 2019-11-05 北京百度网讯科技有限公司 Data migration method, device, equipment and medium
CN111143279A (en) * 2019-12-29 2020-05-12 浪潮电子信息产业股份有限公司 Data migration method, device and equipment and readable storage medium
CN113296696A (en) * 2021-03-02 2021-08-24 阿里巴巴新加坡控股有限公司 Data access method, computing device and 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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193646A (en) * 2017-05-24 2017-09-22 中国人民解放军理工大学 A kind of high-efficiency dynamic paging method that framework is hosted based on mixing
CN110413590A (en) * 2019-07-24 2019-11-05 北京百度网讯科技有限公司 Data migration method, device, equipment and medium
CN111143279A (en) * 2019-12-29 2020-05-12 浪潮电子信息产业股份有限公司 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
CN117666936A (en) 2024-03-08

Similar Documents

Publication Publication Date Title
US11221975B2 (en) Management of shared resources in a software-defined storage environment
US20200341664A1 (en) Intelligent wide port phy usage
US9778856B2 (en) Block-level access to parallel storage
WO2021004231A1 (en) Data storage method for flash memory device and flash memory device
US11262916B2 (en) Distributed storage system, data processing method, and storage node
EP3074873A1 (en) Method and apparatus for storing data
US20180196603A1 (en) Memory Management Method, Apparatus, and System
US11914894B2 (en) Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system
WO2023051715A1 (en) Data processing method and apparatus, processor, and hybrid memory system
WO2023051000A1 (en) Memory management method and apparatus, processor and computing device
US20230325277A1 (en) Memory controller performing selective and parallel error correction, system including the same and operating method of memory device
WO2024045846A1 (en) Method, apparatus and system for adjusting migration bandwidth of storage medium, and chip
WO2023051359A1 (en) Method and apparatus for controlling memory bandwidth, processor and computing device
WO2020024113A1 (en) Memory interleaving method and device
US11829641B2 (en) Storage device and operating method for managing a command queue
WO2017036245A1 (en) Storage array operation method and device
CN115495433A (en) Distributed storage system, data migration method and storage device
WO2018188416A1 (en) Data search method and apparatus, and related devices
US20230028301A1 (en) Data management apparatus, data management method, and data storage device
US20230214258A1 (en) Storage controller and storage device
US11972148B2 (en) Proactive storage operation management using thermal states
US11055218B2 (en) Apparatus and methods for accelerating tasks during storage caching/tiering in a computing environment
US20230385118A1 (en) Selective execution of workloads using hardware accelerators
US10908828B1 (en) Enhanced quality of service (QoS) for multiple simultaneous replication sessions in a replication setup
WO2024016751A1 (en) Memory allocation method and apparatus, and computer

Legal Events

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

Ref document number: 23858884

Country of ref document: EP

Kind code of ref document: A1