A hierarchical storage control method, device, equipment and readable storage medium

By generating a sorted queue by counting read and write operations in the tiered storage system and determining the amount of data migration based on the load status, the problem of excessive or untimely data migration is solved, achieving efficient tiered storage management and simplifying the user experience.

CN115167779BActive Publication Date: 2026-02-17INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210893102.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-27
Publication Date
2026-02-17
Estimated Expiration
2042-07-27

AI Technical Summary

Technical Problem

In existing tiered storage systems, excessive data migration or untimely migration makes it difficult to determine the thresholds for hot and cold data, hindering effective and efficient management and impacting user experience.

Method used

By statistically analyzing the number of data reads and writes on each storage medium of a tiered storage system throughout the information lifecycle, a sorting queue is generated. The amount of data to migrate is determined based on the load status. Data with a high number of reads and writes is migrated to the next higher storage medium, while data with a low number of reads and writes is migrated to the next lower storage medium. This eliminates the need to set hot and cold thresholds, simplifying the management process.

Benefits of technology

It simplifies the management of tiered storage systems, improves management performance, optimizes user experience, and enables simpler and more efficient tiered storage management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115167779B_ABST
    Figure CN115167779B_ABST
Patent Text Reader

Abstract

This application discloses a control method, apparatus, device, and readable storage medium for hierarchical storage. By statistically analyzing the read / write counts of data on each storage medium in the hierarchical storage system during the current information lifecycle, the data on each storage medium is sorted in ascending order of read / write counts to generate a sorting queue. Then, based on the load status of the hierarchical storage system, the amount of data to be migrated is determined. The first amount of data to be migrated to the upper storage medium and the second amount of data to be migrated to the lower storage medium are directly determined from the sorting queue. This eliminates the need to set hot / cold thresholds for data migration and takes into account the load status of the hierarchical storage system, simplifying hierarchical management and enabling more efficient and simpler hierarchical storage. This improves the management performance of the hierarchical storage system and optimizes the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of storage technology, and in particular to a control method, apparatus, device, and readable storage medium for hierarchical storage. Background Technology

[0002] Tiered storage, also known as hierarchical storage management, broadly speaking, involves storing data across different tiers of media and performing automatic or manual data migration and replication between these media. Tiered storage is also a specific application and implementation of information lifecycle management. Different storage media are used at different tiers to meet both performance and capacity requirements at the same cost. These differences primarily lie in access speed and capacity. High-speed media typically have higher unit costs and relatively lower capacity. Conversely, slower-speed media are usually chosen to meet capacity and cost requirements, achieving greater capacity at the same cost. Therefore, in this sense, tiered storage is a storage technology and solution that enables automatic or manual data migration, replication, and management between high-speed, low-capacity media tiers and low-speed, high-capacity media tiers.

[0003] However, due to limitations in storage system performance, data across different storage tiers cannot be freely migrated. Migration requires considering both the real-time "cold" and "hot" characteristics of the data (cold data being accessed less frequently, and hot data being accessed more frequently) and the storage system's performance to determine migration conditions. Real-time monitoring of all data is necessary to ensure that the data meets either the "cold data" requirement (typically access frequency below a certain threshold) or the "hot data" requirement (typically access frequency above another threshold) before migration proceeds. This means that the more tiers the system has, the more likely it is to experience excessive data migration or untimely data migration, making it difficult to determine the "cold" and "hot" data thresholds for migration and hindering effective and efficient management. This results in significant user dissatisfaction with the management performance of tiered storage systems. Summary of the Invention

[0004] The purpose of this application is to provide a control method, apparatus, device, and readable storage medium for hierarchical storage, which simplifies hierarchical management of hierarchical storage systems, enables hierarchical storage to be implemented more simply and efficiently, and thereby improves the management performance of hierarchical storage systems.

[0005] To address the aforementioned technical problems, this application provides a hierarchical storage control method, comprising:

[0006] During the current information lifecycle, count the number of read and write operations of data on each storage medium in the tiered storage system.

[0007] For each layer of storage medium, the data information is sorted in ascending order of read / write count to generate a sorted queue;

[0008] The amount of data migration is determined based on the load status of the tiered storage system;

[0009] Based on the data migration amount, the first number of data with a large number of read / write operations in the sorting queue is migrated to the storage medium above the storage medium in the same layer, and the second number of data with a small number of read / write operations in the sorting queue is migrated to the storage medium below the storage medium in the same layer.

[0010] The faster the access speed of the storage medium, the higher the level of the storage medium.

[0011] Optionally, the step of sorting the data information in each layer of the storage medium according to the order of read / write counts from smallest to largest, and generating a sorted queue, specifically involves:

[0012] For each layer of storage medium, a bucket sort algorithm or a heap sort algorithm is used to sort the data information in ascending order of read / write counts to generate the sorted queue.

[0013] Optionally, the step of sorting the data information in each layer of the storage medium according to the order of read / write counts from smallest to largest, and generating a sorted queue, specifically includes:

[0014] For each layer of storage medium, the number of reads and writes of each data is input into a preset bucket index expression to obtain the bucket number corresponding to each data.

[0015] Store the information of each data point into the bucket with the corresponding bucket number;

[0016] The preset bucket index expression is determined based on the number of buckets corresponding to the storage medium in the current layer and the relationship between the number of read / write operations of data and the position of the read / write operations of each data in the storage medium in the current layer.

[0017] Optionally, each layer of storage medium corresponds to a preset fixed number of buckets.

[0018] Optionally, each layer of storage medium corresponds to 12 buckets;

[0019] Accordingly, the preset bucket index expression is specifically as follows:

[0020] bucketIndex=((Cur-min) / (max-min))×10+1;

[0021] Wherein, bucketIndex is the bucket number, Cur is the number of reads and writes of the data, min is the minimum number of reads and writes of all data in the storage medium of the data layer, and max is the maximum number of reads and writes of all data in the storage medium of the data layer.

[0022] Optionally, determining the data migration amount based on the load status of the tiered storage system specifically involves:

[0023] Based on the load status of the tiered storage system, determine the number of buckets corresponding to the data to be migrated during the current information lifecycle.

[0024] Optionally, the number of buckets corresponding to the storage medium in a given layer is determined based on the load status of the tiered storage system.

[0025] Optionally, the number of read and write operations of data in each storage medium of the statistical tiered storage system is specifically as follows:

[0026] The number of read and write operations is counted in units of logical blocks.

[0027] Optionally, the tiered storage system includes three layers of storage media.

[0028] The storage medium in the first layer is a solid-state drive, the storage medium in the second layer is a hard disk drive, and the storage medium in the third layer is a nearline memory.

[0029] To address the aforementioned technical problems, this application also provides a hierarchical storage control device, comprising:

[0030] The statistics unit is used to count the number of read and write operations of data on each storage medium in the hierarchical storage system during the current information lifecycle.

[0031] The sorting unit is used to sort the information of the data in each layer of the storage medium according to the order of read and write counts from smallest to largest, and generate a sorting queue.

[0032] The determining unit is used to determine the amount of data migration based on the load status of the hierarchical storage system.

[0033] The migration unit is configured to migrate, according to the data migration amount, a first quantity of data with a large number of read / write operations in the sorting queue to the storage medium above the storage medium in the current layer, and a second quantity of data with a small number of read / write operations in the sorting queue to the storage medium below the storage medium in the current layer.

[0034] The faster the access speed of the storage medium, the higher the level of the storage medium.

[0035] To address the aforementioned technical problems, this application also provides a control device for hierarchical storage, comprising:

[0036] Memory, used to store computer programs;

[0037] A processor for executing the computer program, which, when executed by the processor, implements the steps of the hierarchical storage control method as described in any of the preceding descriptions.

[0038] To address the aforementioned technical problems, this application also provides a readable storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements the steps of the hierarchical storage control method as described in any of the preceding claims.

[0039] The hierarchical storage control method provided in this application, after counting the number of read and write operations of data in each storage medium of the hierarchical storage system during the current information lifecycle, sorts the data information of each storage medium in ascending order of read and write operations to generate a sorting queue. Then, based on the load status of the hierarchical storage system, after determining the amount of data to be migrated, it directly determines the first amount of data to be migrated to the upper storage medium and the second amount of data to be migrated to the lower storage medium from the sorting queue. There is no need to set hot and cold thresholds for data migration conditions, and the load status of the hierarchical storage system is taken into account, which simplifies the hierarchical management of the hierarchical storage system, enables hierarchical storage to be implemented more simply and efficiently, thereby improving the management performance of the hierarchical storage system and optimizing the user experience.

[0040] This application also provides a control device, equipment, and readable storage medium for hierarchical storage, which has the above-mentioned beneficial effects, and will not be elaborated here. Attached Figure Description

[0041] To more clearly illustrate the technical solutions of the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0042] Figure 1 A flowchart illustrating a hierarchical storage control method provided in an embodiment of this application;

[0043] Figure 2 This is a schematic diagram of the structure of a hierarchical storage control device provided in an embodiment of this application;

[0044] Figure 3 This is a schematic diagram of the structure of a hierarchical storage control device provided in an embodiment of this application. Detailed Implementation

[0045] The core of this application is to provide a control method, apparatus, device, and readable storage medium for hierarchical storage, which simplifies the hierarchical management of hierarchical storage systems, enables hierarchical storage to be implemented more simply and efficiently, and thereby improves the management performance of hierarchical storage systems.

[0046] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0047] Example 1

[0048] Figure 1 A flowchart illustrating a hierarchical storage control method provided in an embodiment of this application.

[0049] like Figure 1 As shown, the hierarchical storage control method provided in this application includes:

[0050] S101: During the current information lifecycle, count the number of read and write operations of data on each storage medium in the tiered storage system.

[0051] S102: Sort the data information of each storage medium in ascending order of read / write count to generate a sorted queue.

[0052] S103: Determine the amount of data migration based on the load status of the tiered storage system.

[0053] S104: Based on the amount of data migration, migrate the first number of data with the largest number of read / write operations in the sorting queue to the storage medium above the current storage medium, and migrate the second number of data with the smallest number of read / write operations in the sorting queue to the storage medium below the current storage medium.

[0054] The faster the access speed of the storage medium, the higher the level of the storage medium.

[0055] In practical implementation, the information lifecycle refers to the configuration content included in the pre-defined tiered storage strategy within the tiered storage system. Specifically, it controls the data migration cycle of the tiered storage system. That is, after each information lifecycle, a unified data migration is performed on the data in the tiered storage system.

[0056] In this embodiment, a tiered storage system can refer to a centralized storage server or a distributed storage system. In a tiered storage system, the fastest access speed is typically defined as Tier 0, with Tier 1, Tier 2, and so on decreasing in speed. Since too many tiers increase the difficulty of data and media management, reduce availability, and increase costs, the number of tiers is usually set to between 2 and 4. In this embodiment, the tiered storage system can include three tiers of storage media; the first tier uses a solid-state drive (SSD), the second tier uses a hard disk drive (HDD), and the third tier uses nearline storage, with access speeds decreasing sequentially. Of course, this embodiment does not limit the number of tiers in the tiered storage system or the type of storage media used in each tier.

[0057] During the initialization of a tiered storage system, data is distributed across the middle tier of storage media. As the information lifecycle progresses, hot and cold data are analyzed to gradually migrate to the upper tiers of storage media with faster access speeds but smaller capacities, while cold data is gradually migrated to the lower tiers of storage media with slower access speeds but larger capacities, ultimately resulting in a uniform distribution across all tiers of storage media.

[0058] The smallest storage unit in a storage system is a logical block (extent), and logical blocks (extents) form a virtual disk (vdisk). Therefore, in the hierarchical storage control method provided in this application embodiment, S101 counts the number of read and write operations of data in each layer of the hierarchical storage system, specifically by counting the number of read and write operations per logical block. Correspondingly, in S102, the data information for each layer of storage media is sorted in ascending order of read and write operations, specifically by sorting the information of the logical blocks corresponding to each layer of storage media in ascending order of read and write operations, generating a sorting queue of logical block information. In S103, the data migration amount is determined based on the load status of the hierarchical storage system, specifically by determining the total number of logical blocks to be migrated for each layer of storage media based on the load status of the hierarchical storage system. In S104, it is possible to set the first number of logical blocks with a large number of read / write operations to the storage medium above the storage medium of the current layer, and the second number of logical blocks with a small number of read / write operations to the storage medium below the storage medium of the current layer, so that the sum of the first number and the second number is not greater than the total number of logical blocks to be migrated corresponding to the storage medium of the current layer.

[0059] For S101, data that meets the migration criteria in its respective storage layer is included in tiered storage management. Data that does not meet the migration criteria can be data that has been written to its current storage layer for no more than one information lifecycle, or data that has been allocated to a lower-level storage layer with slower access speeds and is rarely read. For each storage layer, the number of reads and writes of data that meets the migration criteria is counted; specifically, the number of reads and writes can be calculated using an Exponential Moving Average (EMA).

[0060] For S102, the data information is sorted either in ascending order of read / write count or in descending order of read / write count to obtain a sorted queue. The information used for sorting is the unique identifier of the data in the storage medium of its respective layer, and the generated sorted queue is written to the sorting management file corresponding to the storage medium of its respective layer.

[0061] S102: For each storage layer, sort the data information according to the order of read / write counts from smallest to largest, generating a sorted queue. Specifically, this can be done by using either bucket sort or heap sort to sort the data information according to the order of read / write counts from smallest to largest, generating a sorted queue. Bucket sort, also known as bin sort, is a sorting algorithm that divides the array into a finite number of buckets, and then sorts each bucket individually (possibly using other sorting algorithms or recursively continuing the bucket sort process). Heap sort is a sorting algorithm that utilizes a heap data structure. A heap is an approximately complete binary tree structure that satisfies the heap property: the key or index of a child node is always less than (or greater than) its parent node. Furthermore, other sorting algorithms can also be used to sort data according to the number of reads and writes.

[0062] S103 can be executed simultaneously with S101 and S102, or before S101.

[0063] For S103, the data migration amount for each storage medium layer in each information lifecycle can be predetermined. This data migration amount is the maximum allowable data migration amount for each storage medium layer in that information lifecycle. A load threshold for the tiered storage system can be preset. When the load of the tiered storage system does not exceed the load threshold, the preset data migration amount is used as the maximum data migration amount to determine the amount of data to be migrated. If the load of the tiered storage system exceeds the load threshold, the data migration amount is reduced to decrease the maximum allowable data migration amount. Alternatively, the data migration amount for the current information lifecycle can be determined in advance by setting the conversion relationship between the load status of the tiered storage system and the data migration amount for each information lifecycle.

[0064] For S104, a first quantity and a second quantity are determined based on the data migration amount of the current information lifecycle. That is, the sum of the first quantity and the second quantity does not exceed the data migration amount of the current information lifecycle. In this way, the first quantity of hot data is migrated to the upper layer storage medium with fast access speed but small capacity, and the second quantity of cold data is migrated to the lower layer storage medium with slow access speed but large capacity.

[0065] The hierarchical storage control method provided in this application, after counting the number of read and write operations of data in each storage medium of the hierarchical storage system during the current information lifecycle, sorts the data information of each storage medium in ascending order of read and write operations to generate a sorting queue. Then, based on the load status of the hierarchical storage system, after determining the amount of data to be migrated, it directly determines the first amount of data to be migrated to the upper storage medium and the second amount of data to be migrated to the lower storage medium from the sorting queue. There is no need to set hot and cold thresholds for data migration conditions, and the load status of the hierarchical storage system is taken into account. This simplifies the hierarchical management of the hierarchical storage system, enables hierarchical storage to be implemented more simply and efficiently, thereby improving the management performance of the hierarchical storage system and optimizing the user experience.

[0066] Example 2

[0067] Based on the above embodiments, this application provides a specific method for sorting data information using the bucket sort algorithm to generate a sorted queue.

[0068] In the hierarchical storage control method provided in this application embodiment, S102: For each layer of storage medium, the data information is sorted in ascending order of read / write count to generate a sorting queue, specifically including:

[0069] For each storage medium layer, the number of reads and writes of each data is input into the preset bucket index expression to obtain the bucket number corresponding to each data.

[0070] Store the information of each data point into the bucket with the corresponding bucket number;

[0071] The preset bucket index expression is determined based on the number of buckets corresponding to the storage medium of the current layer and the relationship between the number of reads and writes of data and their positions in the number of reads and writes of each data in the storage medium of the current layer.

[0072] In practical implementation, a corresponding number of buckets is pre-set for each layer of storage media. For example, each layer of storage media can correspond to a preset fixed number of buckets. The types of buckets include buckets for storing information about data that does not meet the migration conditions, buckets for storing cold data, and buckets for storing hot data. Here, the transition from cold data to hot data is a relative concept, meaning that multiple buckets are divided according to the number of read / write operations. If each layer of storage media can correspond to a preset fixed number of buckets, in step S103, the data migration amount is determined based on the load status of the tiered storage system. Specifically, this can be achieved by determining the number of buckets corresponding to the data to be migrated during the current information lifecycle, based on the load status of the tiered storage system during the current information lifecycle. That is, based on the load status of the tiered storage system during the current information lifecycle, it is determined how many buckets of cold data and how many buckets of hot data need to be migrated.

[0073] Once the number of buckets corresponding to the storage medium is determined, a preset bucket index expression can be set to describe the relationship between the position of the data read / write count in the read / write count of each data in the storage medium of the same layer and the conversion relationship to the bucket number. This allows the data information to be quickly assigned to the corresponding bucket based on the data read / write count.

[0074] In S102, during the current information lifecycle, the information of each data item is migrated between buckets. In S103, after the information of each data item has been migrated between buckets, according to the pre-configuration, the hot data corresponding to one or more buckets used to store hot data information (excluding the buckets storing information of data that does not meet the migration conditions) is migrated to the storage medium above the current storage medium, and the cold data corresponding to one or more buckets used to store cold data information is migrated to the storage medium below the current storage medium.

[0075] To achieve load balancing, the number of buckets corresponding to the storage medium in each tier can be determined based on the load status of the tiered storage system. That is, at each information lifecycle, the number of buckets can be determined based on the current load status of the tiered storage system before determining the preset bucket index expression.

[0076] Example 3

[0077] Based on the above embodiment, each layer of storage medium can be configured with 12 buckets, namely bucket 0, bucket 1, ..., bucket 11. Bucket 0 is used to store information about data that does not meet the migration conditions, and buckets 1 to 11 are used to store information about data sorted in ascending order of read / write count.

[0078] Accordingly, the default bucket index expression is as follows:

[0079] bucketIndex=((Cur-min) / (max-min))×10+1;

[0080] Where bucketIndex is the bucket number, Cur is the number of reads and writes of the data, min is the minimum number of reads and writes of all data in the storage medium where the data resides, and max is the maximum number of reads and writes of all data in the storage medium where the data resides.

[0081] In practice, we can count the number of I / O reads and writes for each logical block (extent) on the hard disk (mdisk) during the current information lifecycle (using data calculated using an exponential moving average). We can then determine the maximum and minimum read / write counts for these logical blocks (extents), and calculate the bucketIndex for each logical block (extent) using the formula: bucketIndex = ((Cur-min) / (max-min)) × 10 + 1. This data is then placed into the corresponding bucket[bucketIndex]. Excluding bucket 0 (which stores data that does not meet the migration criteria), we determine the data to be migrated from one end of bucket 1 and one end of bucket 11. For example, after sorting the data according to the current information lifecycle, we can migrate the cold data corresponding to bucket 1 to the next layer of storage medium, and migrate the hot data corresponding to bucket 11 to...

[0082] The above details various embodiments of the hierarchical storage control method. Based on this, this application also discloses a hierarchical storage control device, equipment, and readable storage medium corresponding to the above method.

[0083] Example 4

[0084] Figure 2 This is a schematic diagram of the structure of a hierarchical storage control device provided in an embodiment of this application.

[0085] like Figure 2 As shown, the hierarchical storage control device provided in this application embodiment includes:

[0086] The statistics unit 201 is used to count the number of read and write operations of data in each layer of storage media in the hierarchical storage system during the current information lifecycle.

[0087] The sorting unit 202 is used to sort the information of the data in each layer of storage medium according to the order of read and write times from smallest to largest, and generate a sorting queue;

[0088] The determining unit 203 is used to determine the amount of data migration based on the load status of the tiered storage system;

[0089] The migration unit 204 is used to migrate the first number of data with a large number of read and write operations in the sorting queue to the storage medium above the current storage medium, and to migrate the second number of data with a small number of read and write operations in the sorting queue to the storage medium below the current storage medium, based on the amount of data migration.

[0090] The faster the access speed of the storage medium, the higher the level of the storage medium.

[0091] Furthermore, the sorting unit 202 sorts the data information of each storage medium layer in ascending order of read / write frequency, generating a sorted queue, which can be specifically:

[0092] For each layer of storage media, a bucket sort algorithm or a heap sort algorithm is used to sort the data information in ascending order of read and write counts, generating a sorted queue.

[0093] Furthermore, the sorting unit 202 may specifically include:

[0094] The calculation subunit is used to input the number of reads and writes of each data into a preset bucket index expression for each layer of storage medium to obtain the bucket number corresponding to each data.

[0095] The sorting subunit is used to store the information of each data item into the bucket with the corresponding bucket number;

[0096] The preset bucket index expression is determined based on the number of buckets corresponding to the storage medium of the current layer and the relationship between the number of reads and writes of data and their positions in the number of reads and writes of each data in the storage medium of the current layer.

[0097] Furthermore, each layer of storage media corresponds to a predetermined fixed number of buckets.

[0098] Furthermore, each layer of storage media corresponds to 12 buckets;

[0099] Accordingly, the default bucket index expression is as follows:

[0100] bucketIndex=((Cur-min) / (max-min))×10+1;

[0101] Where bucketIndex is the bucket number, Cur is the number of reads and writes of the data, min is the minimum number of reads and writes of all data in the storage medium where the data resides, and max is the maximum number of reads and writes of all data in the storage medium where the data resides.

[0102] Furthermore, determining unit 203 determines the amount of data migration based on the load status of the tiered storage system, specifically:

[0103] Based on the load status of the tiered storage system, determine the number of buckets corresponding to the data to be migrated during the current information lifecycle.

[0104] Furthermore, the number of buckets corresponding to the storage medium in a given tier can be determined based on the load status of the tiered storage system.

[0105] Furthermore, the statistics unit 201 counts the number of read and write operations of data on each storage medium in the hierarchical storage system, specifically:

[0106] The number of read and write operations is counted in units of logical blocks.

[0107] Furthermore, a tiered storage system can comprise three layers of storage media;

[0108] The first layer of storage medium is a solid-state drive (SSD), the second layer is a hard disk drive (HDD), and the third layer is a nearline memory (NMR).

[0109] Since the embodiments of the apparatus and the embodiments of the method correspond to each other, please refer to the description of the embodiments of the method for the embodiments of the apparatus, which will not be repeated here.

[0110] Example 5

[0111] Figure 3 This is a schematic diagram of the structure of a hierarchical storage control device provided in an embodiment of this application.

[0112] like Figure 3 As shown, the hierarchical storage control device provided in this application embodiment includes:

[0113] Memory 310 is used to store computer program 311;

[0114] Processor 320 is configured to execute computer program 311, which, when executed by processor 320, implements the steps of the hierarchical storage control method as described in any of the above embodiments.

[0115] The processor 320 may include one or more processing cores, such as a 3-core processor or an 8-core processor. The processor 320 may be implemented using at least one hardware form selected from Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), and Programmable Logic Array (PLA). The processor 320 may also include a main processor and a coprocessor. The main processor, also known as a Central Processing Unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 320 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 320 may also include an Artificial Intelligence (AI) processor, which handles computational operations related to machine learning.

[0116] The memory 310 may include one or more readable storage media, which may be non-transitory. The memory 310 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory 310 is used to store at least the following computer program 311, wherein, after being loaded and executed by the processor 320, the computer program 311 is able to implement the relevant steps in the hierarchical storage control method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 310 may also include an operating system 312 and data 313, and the storage method may be temporary storage or permanent storage. The operating system 312 may be Windows. The data 313 may include, but is not limited to, the data involved in the above methods.

[0117] In some embodiments, the control device for hierarchical storage may further include a display screen 330, a power supply 340, a communication interface 350, an input / output interface 360, a sensor 370, and a communication bus 380.

[0118] Those skilled in the art will understand that Figure 3 The structure shown does not constitute a limitation on the control device for hierarchical storage and may include more or fewer components than illustrated.

[0119] The hierarchical storage control device provided in this application includes a memory and a processor. When the processor executes the program stored in the memory, it can implement the hierarchical storage control method as described above, with the same effect.

[0120] Example 6

[0121] It should be noted that the device and equipment embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or modules may be electrical, mechanical, or other forms. Modules described as separate components may or may not be physically separate, and components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0122] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.

[0123] If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods described in the various embodiments of this application.

[0124] Therefore, embodiments of this application also provide a readable storage medium storing a computer program, which, when executed by a processor, implements the steps of a control method such as hierarchical storage.

[0125] The readable storage medium may include: USB flash drive, portable hard drive, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, and other media that can store program code.

[0126] The computer program contained in the readable storage medium provided in this embodiment can implement the steps of the hierarchical storage control method described above when executed by a processor, with the same effect.

[0127] The foregoing has provided a detailed description of a hierarchical storage control method, apparatus, device, and readable storage medium provided in this application. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus, device, and readable storage medium disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple, and relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

[0128] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

Claims

1. A control method of hierarchical storage characterized by, The method comprises the following steps: In the current information life cycle, the read-write times of data in each layer of the hierarchical storage system are counted respectively; For each layer of the storage medium, the information of the data is sorted in order of read-write times from small to large to generate a sorting queue; According to the load state of the hierarchical storage system, the data migration amount is determined; According to the data migration amount, a first amount of data with larger read-write times in the sorting queue is migrated to the storage medium of the upper layer of the storage medium of the layer, and a second amount of data with smaller read-write times in the sorting queue is migrated to the storage medium of the lower layer of the storage medium of the layer; Wherein, the faster the access speed of the storage medium is, the higher the level of the storage medium is; The method comprises the following steps: For each layer of the storage medium, the read-write times of each data are input into a preset bucket index expression to obtain the bucket serial number corresponding to each data; The information of each data is stored in the bucket corresponding to the bucket serial number; Wherein, the preset bucket index expression is determined according to the relationship between the number of buckets corresponding to the storage medium of the layer and the bit order of the read-write times of the data in the read-write times of each data of the storage medium of the layer.

2. The control method according to claim 1, characterized by, The method comprises the following steps: For each layer of the storage medium, a bucket sorting algorithm or a heap sorting algorithm is used to sort the information of the data in order of read-write times from small to large to generate the sorting queue.

3. The control method according to claim 1, characterized by, Each layer of the storage medium corresponds to a preset fixed number of buckets.

4. The control method according to claim 3, characterized by Each layer of the storage medium corresponds to 12 buckets. Correspondingly, the preset bucket index expression is specifically: bucketIndex=((Cur-min) / (max-min))×10+1; Wherein, bucketIndex is the bucket serial number, Cur is the read-write times of the data, min is the minimum value of the read-write times of each data of the storage medium of the layer, and max is the maximum value of the read-write times of each data of the storage medium of the layer.

5. The control method according to claim 3, characterized by, The method comprises the following steps: According to the load state of the hierarchical storage system, the number of buckets corresponding to the data to be migrated in the current information life cycle is determined.

6. The control method according to claim 1, characterized by The number of buckets corresponding to the storage medium of the layer is determined according to the load state of the hierarchical storage system.

7. The control method according to claim 1, characterized by, The read-write times of data in each layer of the hierarchical storage system are counted in units of logical blocks. The hierarchical storage system comprises three layers of storage media; 8. The control method according to claim 1, characterized by, Among them, the first layer of the storage medium is a solid state disk, the second layer of the storage medium is a hard disk drive, and the third layer of the storage medium is a nearline storage. The method comprises the following steps:

9. A control device for tiered storage, characterized by, The statistical unit is used to count the read-write times of data in each layer of the hierarchical storage system in the current information life cycle. ​ The sorting unit is used to sort the information of the data in each layer of the storage medium according to the order of read and write counts from smallest to largest, and generate a sorting queue. The determining unit is used to determine the amount of data migration based on the load status of the hierarchical storage system. The migration unit is configured to migrate, according to the data migration amount, a first quantity of data with a large number of read / write operations in the sorting queue to the storage medium above the storage medium in the current layer, and a second quantity of data with a small number of read / write operations in the sorting queue to the storage medium below the storage medium in the current layer. The faster the access speed of the storage medium, the higher the level of the storage medium. The step of sorting the data in each layer of the storage medium according to the order of read / write counts from smallest to largest, and generating a sorted queue, specifically includes: For each layer of storage medium, the number of reads and writes of each data is input into a preset bucket index expression to obtain the bucket number corresponding to each data. Store the information of each data point into the bucket with the corresponding bucket number; The preset bucket index expression is determined based on the number of buckets corresponding to the storage medium in the current layer and the relationship between the number of read / write operations of data and the position of the read / write operations of each data in the storage medium in the current layer.

10. A control device for hierarchical storage, characterized by, include: Memory, used to store computer programs; A processor for executing the computer program, which, when executed by the processor, implements the steps of the hierarchical storage control method as described in any one of claims 1 to 8.

11. A readable storage medium, having stored thereon a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the hierarchical storage control method as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Data migration method and device

    CN113741810A