WO2024045846A1 - Procédé, appareil et système d'ajustement de largeur de bande de migration de support d'enregistrement, et puce - Google Patents

Procédé, appareil et système d'ajustement de largeur de bande de migration de support d'enregistrement, et puce 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
English (en)
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/fr

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).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un procédé, un appareil et un système d'ajustement d'une largeur de bande de migration d'un support d'enregistrement, et une puce, qui se rapportent au domaine technique de l'enregistrement. Dans le procédé, un retard d'accès d'un programme d'application à un support d'enregistrement est acquis, des informations de changement de retard sont ensuite acquises selon le retard d'accès acquis, et une largeur de bande de migration du support d'enregistrement est ensuite ajustée selon une règle de changement, qui est indiquée par les informations de changement de retard, d'un retard d'accès d'une application, de telle sorte que le support d'enregistrement effectue ensuite une migration de données au moyen d'une largeur de bande de migration ajustée, de façon à réduire l'influence d'une largeur de bande de migration fixe sur une largeur de bande qui est utilisée par le programme d'application pour accéder au support d'enregistrement, ce qui permet d'améliorer l'efficacité du programme d'application accédant au support d'enregistrement.
PCT/CN2023/103715 2022-08-31 2023-06-29 Procédé, appareil et système d'ajustement de largeur de bande de migration de support d'enregistrement, et puce WO2024045846A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211066383.3 2022-08-31
CN202211066383.3A CN117666936A (zh) 2022-08-31 2022-08-31 存储介质的迁移带宽调整方法、装置、系统以及芯片

Publications (1)

Publication Number Publication Date
WO2024045846A1 true WO2024045846A1 (fr) 2024-03-07

Family

ID=90066935

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/103715 WO2024045846A1 (fr) 2022-08-31 2023-06-29 Procédé, appareil et système d'ajustement de largeur de bande de migration de support d'enregistrement, et puce

Country Status (2)

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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193646A (zh) * 2017-05-24 2017-09-22 中国人民解放军理工大学 一种基于混合主存架构的高效动态页面调度方法
CN110413590A (zh) * 2019-07-24 2019-11-05 北京百度网讯科技有限公司 数据迁移方法、装置、设备和介质
CN111143279A (zh) * 2019-12-29 2020-05-12 浪潮电子信息产业股份有限公司 一种数据迁移方法、装置、设备及可读存储介质
CN113296696A (zh) * 2021-03-02 2021-08-24 阿里巴巴新加坡控股有限公司 一种数据的访问方法、计算设备及存储介质
CN114167972A (zh) * 2020-08-21 2022-03-11 深圳市中兴微电子技术有限公司 存储器的访问方法、模块、控制器、系统和介质
CN114968854A (zh) * 2021-02-25 2022-08-30 华为技术有限公司 对存储器的输入带宽进行调整的方法及存储系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193646A (zh) * 2017-05-24 2017-09-22 中国人民解放军理工大学 一种基于混合主存架构的高效动态页面调度方法
CN110413590A (zh) * 2019-07-24 2019-11-05 北京百度网讯科技有限公司 数据迁移方法、装置、设备和介质
CN111143279A (zh) * 2019-12-29 2020-05-12 浪潮电子信息产业股份有限公司 一种数据迁移方法、装置、设备及可读存储介质
CN114167972A (zh) * 2020-08-21 2022-03-11 深圳市中兴微电子技术有限公司 存储器的访问方法、模块、控制器、系统和介质
CN114968854A (zh) * 2021-02-25 2022-08-30 华为技术有限公司 对存储器的输入带宽进行调整的方法及存储系统
CN113296696A (zh) * 2021-03-02 2021-08-24 阿里巴巴新加坡控股有限公司 一种数据的访问方法、计算设备及存储介质

Also Published As

Publication number Publication date
CN117666936A (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
US11221975B2 (en) Management of shared resources in a software-defined storage environment
US11422722B2 (en) Intelligent wide port PHY usage
WO2021004231A1 (fr) Procédé de stockage de données pour dispositif de mémoire flash et dispositif de mémoire flash
US9778856B2 (en) Block-level access to parallel storage
US11262916B2 (en) Distributed storage system, data processing method, and storage node
US11914894B2 (en) Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system
WO2023051715A1 (fr) Procédé et appareil de traitement de données, processeur et système de mémoire hybride
WO2023051000A1 (fr) Procédé et appareil de gestion de mémoire, processeur et dispositif informatique
US20230325277A1 (en) Memory controller performing selective and parallel error correction, system including the same and operating method of memory device
WO2024045846A1 (fr) Procédé, appareil et système d'ajustement de largeur de bande de migration de support d'enregistrement, et puce
WO2023051359A1 (fr) Procédé et appareil de commande de bande passante de mémoire, processeur et dispositif informatique
EP4390646A1 (fr) Procédé de traitement de données dans un système distribué, et système associé
WO2020024113A1 (fr) Procédé et dispositif d'entrelacement de mémoire
US11829641B2 (en) Storage device and operating method for managing a command queue
WO2017036245A1 (fr) Procédé et dispositif de fonctionnement de réseau de stockage
CN115495433A (zh) 一种分布式存储系统、数据迁移方法及存储装置
WO2018188416A1 (fr) Procédé et appareil de recherche de données, et dispositifs associés
US20230028301A1 (en) Data management apparatus, data management method, and data storage device
US20240220334A1 (en) Data processing method in distributed system, and related system
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 (fr) Procédé et appareil d'attribution de mémoire, et ordinateur

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