A tiered storage system based on data block activity

Through a tiered storage system based on data block activity, using NVMe SSD and SATA SSD/HDD layers, automatic dynamic migration of data between high-level and low-level layers is achieved, solving the problem of data migration without human intervention and optimizing the performance and capacity of the storage system.

CN116185284BActive Publication Date: 2025-09-12BEIJING INST OF COMP TECH & APPL
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211655199.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-21
Publication Date
2025-09-12
Estimated Expiration
2042-12-21

AI Technical Summary

Technical Problem

In the existing technology, the dynamic migration of data between the high-level layer and the low-level layer requires human intervention, and it is impossible to achieve efficient dynamic migration without human intervention.

Method used

A tiered storage system based on data block activity is designed. It adopts two storage layers: NVMe SSD layer and SATA SSD/HDD layer. Through metadata management, data block valuation, migration control and system monitoring modules, it realizes automatic dynamic migration of data blocks. Dynamic migration is performed between high-level and low-level layers according to the access frequency of data blocks.

Benefits of technology

It realizes the automatic dynamic migration of data without human intervention, optimizes the performance and capacity of the storage system, reduces management complexity, and improves the efficiency of the storage system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116185284B_ABST
    Figure CN116185284B_ABST
Patent Text Reader

Abstract

The present invention relates to a tiered storage system based on data block activity, belonging to the field of data storage technology. The tiered storage system employs two storage hierarchies: an NVMe SSD layer and a SATA SSD / HDD layer. The NVMe SSD layer is a high-level layer, and the SATA SSD / HDD layer is a low-level layer. The tiered storage system dynamically migrates data between the high-level and low-level layers based on the access frequency of data blocks without human intervention. The present invention dynamically migrates data between the high-level and low-level layers based on the access frequency of data blocks without human intervention.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of data storage, and in particular relates to a hierarchical storage system based on data block activity. Background Art

[0002] NVMe SSDs offer high-speed storage performance, while SATA / HDDs offer low prices and large capacities. Different storage media offer different advantages. By leveraging hot and cold data tiering, we can leverage these advantages, storing hot data on high-speed devices and cold data on relatively inexpensive devices, achieving a good balance between storage system performance, capacity, and price. Summary of the Invention

[0003] (1) Technical issues to be resolved

[0004] The technical problem to be solved by the present invention is: how to realize the dynamic migration of data between the high-level layer and the low-level layer without human intervention.

[0005] (2) Technical solution

[0006] In order to solve the above technical problems, the present invention provides a design method for a tiered storage system based on data block activity. The tiered storage system adopts two storage levels: NVMe SSD layer and SATA SSD / HDD layer. The NVMe SSD layer is the high-level layer, and the SATA SSD / HDD layer is the low-level layer. The tiered storage system realizes dynamic data migration between the high-level layer and the low-level layer according to the access frequency of the data block without human intervention.

[0007] Preferably, the tiered storage system defines two modes according to the initial positioning scheme: HotDST priority for the hot dynamic storage layer and ColdDST priority for the cold dynamic storage layer. In the ColdDST priority mode, data is initially stored in the lower layer, and during use, hot data is periodically dynamically migrated to the higher layer. This migration process is also called downgrade migration; in the HotDST priority mode, data is initially stored in the higher layer, and during use, cold data is periodically dynamically migrated to the lower layer. This migration process is called upgrade migration.

[0008] Preferably, the tiered storage system automatically selects a corresponding block size value for the user based on system IOPS, system bandwidth, and storage resource size.

[0009] Preferably, the tiered storage system performs data tiering based on data blocks, performs dynamic statistics and migration of data block access frequencies, and implements all functions by inserting an intelligent tiered storage driver on top of the block device driver; the intelligent tiered storage driver includes: a metadata management module, a data block valuation module, a migration control module, a system monitoring module, and a migration module;

[0010] The metadata management module retains sampling information (I / O data access information) such as the access time, access type, location information, and storage hierarchy of the data block, as well as data heat information generated by identification based on the sampling information. The sampling information and data heat information constitute the metadata information, which is updated with each external read and write request.

[0011] The data block value determination module evaluates the data block before each data migration and determines the value of the data block based on the metadata information of the data block. The determination result reflects the activity level of the data block. The data block value determination module sorts the determination results to form a data block migration plan table, which is passed to the migration control module.

[0012] The migration control module receives the data block valuation results of the data block valuation module, i.e., the data block migration schedule, and controls the migration module to migrate data blocks. The migration control module determines the timing, interval, and method of migration. The timing of migration is determined by the system load and remaining storage space. A reasonable migration interval enables timely migration of hot or cold data, while ensuring that the impact of the system migration activity on the normal operation of the system is within an acceptable range.

[0013] The system monitoring module collects system performance information, including the system's current CPU utilization, memory utilization, storage device IOPS, and remaining capacity of each layer of resources;

[0014] The migration module takes out the migration task from the data block migration plan table and migrates the data blocks on different storage levels; the migration control module adjusts the data block migration rate of the migration module according to the system performance information provided by the system monitoring module.

[0015] Preferably, the intelligent tiered storage driver further includes an access redirection module, which provides a virtual layer, maps physical addresses, and provides a unified storage interface to the outside.

[0016] Preferably, when the metadata management module performs hot data sampling, it adopts a hot data identification strategy to segment and store the requested LBA, thereby identifying and saving data heat information; in each cached hot data entry, the metadata management module maintains an ID, a counter, and a recency bit for it;

[0017] The counter is used to track the frequency information of the LBA, and the recency bit is used to check whether the item has been accessed recently; the last 16 bits of the 32-bit LBA are used to identify the LBA, and the 16-bit ID consists of a primary ID and a secondary ID; in the processing of the LBA, two hash functions are used, one for generating the primary ID and the other for generating the secondary ID; the hash function for generating the secondary ID only obtains the last 4 LSBs of the LBA, while the hash function for generating the primary ID uses the remaining 12 LSBs; for sequential access, the starting primary ID and secondary ID of the LBA will also be stored sequentially, and only the offset sub-ID will be stored, and the offset primary ID will not be stored.

[0018] Preferably, when the metadata management module performs hot data identification, it works as follows: whenever a user issues a write request, the requested LBA is hashed by two hash functions to check whether the LBA is already stored in the cache; if the requested LBA hits the cache, the corresponding counter value is incremented by 1 to capture its frequency, and the recency bit is set to 1 for recency capture; if the counter value is greater than or equal to a predetermined hot threshold, it is classified as hot data, otherwise it is cold data; in the case of a cache miss, a sampling-based method is used to insert this newly requested LBA into the cache.

[0019] Preferably, when the metadata management module performs hot data sampling, the LBA is retained with a probability of 50%, and the aging mechanism periodically divides the access counter value by 2. For recency aging, the recency value is reset to 0 at the same time as the access counter value is divided by 2. For any access to new data, its recency value is set to 1.

[0020] Preferably, when the metadata management module performs hot data identification, during the entry replacement process, if the cache is full and a newly sampled LBA needs to be inserted into the cache, a replacement entry needs to be selected; if the access counter value is less than a predetermined hot threshold and its recency bit is reset to 0, such LBA is classified as a candidate replacement entry; when the policy performs the decay process, these candidate replacement entries are stored in a candidate replacement entry list; the candidate replacement entry list is regularly updated for each decay period to reflect the latest information, and when a cold item needs to be removed from the cache, it first selects a candidate replacement entry from the list and directly checks whether the candidate can be removed; if the candidate replacement entry is still cold, the candidate replacement entry is deleted and the new item is inserted into the cache; if the candidate replacement entry has become hot data since the last aging period, it is not replaced.

[0021] The present invention also provides an application of the system in the field of data storage technology.

[0022] (3) Beneficial effects

[0023] The hierarchical storage system based on data block activity of the present invention adopts two storage layers and realizes dynamic migration of data between a high-level layer and a low-level layer according to the access frequency of the data blocks without human intervention. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 This is a schematic diagram of the heat identification of the LBA entry of the present invention;

[0025] Figure 2 Schematic diagram of selection of candidate replacement items of the present invention. DETAILED DESCRIPTION

[0026] In order to make the purpose, content and advantages of the present invention more clear, the specific implementation methods of the present invention are further described in detail below with reference to the accompanying drawings and examples.

[0027] The present invention adopts a tiered storage system based on data block activity that adopts two storage hierarchies (tiered mode), an NVMe SSD layer (high-level) and a SATA SSD / HDD layer (low-level), wherein the NVMe SSD layer is the high-level layer and the SATA SSD / HDD layer is the low-level layer. The tiered storage system realizes dynamic migration of data between the high-level layer and the low-level layer according to the access frequency of the data block without human intervention. The tiered storage system based on data block activity will define two modes according to the initial positioning scheme: HotDST (HotDynamicStorageTiered, hot dynamic storage layer) priority and ColdDST (ColdDynamicStorageTiered, cold dynamic storage layer) priority. In the ColdDST priority mode, data is initially stored in the low-level layer, and during use, the "hot data" is periodically dynamically migrated to the high-level layer. This migration process is also called downgrade migration. In the HotDST priority mode, data is initially stored in the high-level layer, and during use, the "cold data" is periodically dynamically migrated to the low-level layer. This migration process is called upgrade migration.

[0028] Tiered storage technology based on data block activity first needs to determine the size of the data block. The size of the data block should not be too large or too small. If it is too large, it will not be able to truly distinguish between "hot data" and "cold data". Although a too small size can ensure the correct measurement of the "hotness" of the data, it will lead to excessive metadata capacity, bring management costs to data migration scheduling, and increase system complexity. This invention will study the relationship between block size and system, and provide multiple typical block sizes. In actual application, the system will automatically select the corresponding block size value for the user based on the system IOPS, system bandwidth, and storage resource size.

[0029] This system implements data tiering based on data blocks, dynamically counting and migrating access frequencies for data blocks. All functions are implemented by inserting an intelligent tiered storage driver above the block device driver. This intelligent tiered storage driver includes a metadata management module, a data block valuation module, a migration control module, an access redirection module, a system monitoring module, and a migration module.

[0030] ①Metadata management module

[0031] The metadata management module stores sampling information (I / O data access information) such as the access time, access type, location, and storage hierarchy of the data block. This information, combined with data popularity information, is used to identify and generate the data popularity information. This information constitutes metadata, which is updated with each external read or write request. This information provides the basis for the data block valuation module to perform its valuation.

[0032] ②Data block valuation judgment module

[0033] The data block value determination module evaluates data blocks before each data migration. This module determines the value of data blocks based on their metadata, with the results reflecting the activity level of the data blocks. The module sorts these results and creates a data block migration schedule, which it passes to the migration control module. This schedule is the prerequisite and foundation for the migration control module's operation.

[0034] ③Migration control module

[0035] The migration control module is closely integrated with the data block valuation module. The former receives the latter's data block valuation results, namely the data block migration schedule, and controls the migration module's data block migration. The migration control module determines the timing, interval, and method of migration. Migration timing is determined by factors such as system load and available storage space. A reasonable migration interval ensures timely migration of "hot" or "cold" data while ensuring that the impact of migration activities on normal system operations is within an acceptable range.

[0036] ④Access redirection module

[0037] The access directional module provides a virtual layer to map the physical address and provide a unified storage interface to the outside world.

[0038] ⑤System monitoring module

[0039] The system monitoring module collects system performance information, including the system's current CPU utilization, memory utilization, storage device IOPS, and remaining capacity of each layer of resources.

[0040] ⑥Migration module

[0041] The migration module retrieves migration tasks from the data block migration plan table and migrates data blocks on different storage tiers. The migration control module adjusts the migration module's data block migration rate based on system performance information provided by the system monitoring module.

[0042] There are two key points in online hot data statistics: one is to sample and identify hot data, and the other is to perform hierarchical hash indexing on the sampled data.

[0043] (1) Thermal data sampling

[0044] When sampling hot data, since most I / Os are localized and in the case of sequential access, only the least significant bits (LSBs) of a few logical block addresses (LBAs) are changed, while most of their other bits are not affected. Based on this, the present invention designs and adopts a hot data identification strategy to segment the requested LBAs, thereby efficiently identifying and preserving data heat information. In each cached hot data entry, the metadata management module maintains an ID, a counter, and a recent bit for it, such as Figure 1 shown.

[0045] The counter tracks LBA frequency information, and the recency bit checks whether an item has been recently accessed. To reduce memory usage, the last 16 bits of the 32-bit LBA are used to identify the LBA. This 16-bit ID consists of a major ID (12 bits) and a minor ID (4 bits). Two hash functions are used during LBA processing: one to generate the major ID and the other to generate the minor ID. The minor ID hash function only extracts the last four LSBs of the LBA, while the major ID hash function uses the remaining 12 LSBs. This two-level hierarchical hash indexing scheme significantly reduces cache lookup overhead by directly accessing LBA information in the cache. Since many access patterns in workloads typically exhibit high spatial and temporal locality, this design exploits spatial locality. For sequential access, the starting major and minor IDs of the LBA are also stored sequentially, and only the offset sub-ID is stored, not the offset major ID. This significantly reduces memory usage. While this partial LBA retrieval method may lead to incorrect LBA hotness identification, increasing the number of bits in the major ID significantly improves identification accuracy.

[0046] (2) Hot data identification

[0047] In the hot data identification process, our system's online hot data identification operates as follows: whenever a user issues a write request, the requested LBA is hashed using two hash functions to check whether the LBA is already stored in the cache. If the requested LBA hits the cache, the corresponding counter value is incremented by 1 to capture its frequency, and the recency bit is set to 1 to capture recency. If the counter value is greater than or equal to a predetermined hot threshold, it is classified as hot data; otherwise, it is cold data. In the event of a cache miss, the newly requested LBA is inserted into the cache using a sampling-based approach.

[0048] During sampling, the LBA is retained with a 50% probability. Therefore, it not only reduces memory consumption but also computational overhead. The aging mechanism in this scheme periodically divides the access counter value by 2. For recency aging, the recency value is reset to 0 when the access counter value is divided by 2. For any new data access, the recency value is reset to 1.

[0049] like Figure 2 During the entry replacement process shown, if the cache is full and a newly sampled LBA needs to be inserted into the cache, a replacement entry must be selected. To reduce overhead, the policy maintains a list of candidate replacement entries. If the access counter value is less than a predetermined hot threshold and its recency bit is reset to 0, such an LBA is classified as a candidate replacement entry. As the policy performs the decay process, these candidate replacement entries are stored in the list. The candidate replacement entry list is regularly updated every decay period to reflect the latest information. When a cold item needs to be removed from the cache, it first selects a candidate replacement entry from the list and directly checks whether the candidate can be removed. If the candidate replacement entry is still cold, the candidate replacement entry is deleted and the new item is inserted into the cache. If the candidate replacement entry has become hot data since the last aging period, it is not replaced. The candidate replacement entry list enables direct search of candidate replacement entries by using a two-level hierarchical hash index scheme, which significantly reduces the search overhead for replacement entries.

[0050] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the technical principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A tiered storage system based on data block activity, characterized in that: The tiered storage system uses two storage layers: an NVMe SSD layer and a SATA SSD / HDD layer. The NVMe SSD layer is the higher-level layer, while the SATA SSD / HDD layer is the lower-level layer. The tiered storage system dynamically migrates data between the higher-level and lower-level layers based on the access frequency of data blocks without human intervention. The tiered storage system defines two modes: Hot DST priority for the hot dynamic storage tier and Cold DST priority for the cold dynamic storage tier. In Cold DST priority mode, data is initially stored in the lower tier and periodically migrated to the higher tier during use. This migration process is also called downgrade migration. In the Hot DST priority mode, data is initially stored in the higher-tier tier. During use, cold data is periodically and dynamically migrated to the lower-tier tier. This migration process is called an upgrade migration. The tiered storage system performs data tiering based on data blocks, dynamically counting and migrating data block access frequencies. All functions are implemented by inserting an intelligent tiered storage driver on top of the block device driver. The intelligent tiered storage driver includes a metadata management module, a data block valuation module, a migration control module, a system monitoring module, and a migration module. The metadata management module retains sampling information such as the access time, access type, location information, and storage level of the data block, as well as data heat information generated by identification based on the sampling information. The sampling information and data heat information constitute the metadata information, which is updated with each external read and write request; The data block value determination module evaluates the data block before each data migration and determines the value of the data block based on the metadata information of the data block. The determination result reflects the activity level of the data block. The data block value determination module sorts the determination results to form a data block migration plan table, which is passed to the migration control module. The migration control module receives the data block valuation results of the data block valuation module, i.e., the data block migration schedule, and controls the migration module to migrate data blocks. The migration control module determines the timing, interval, and method of migration. The timing of migration is determined by the system load and remaining storage space. A reasonable migration interval enables timely migration of hot or cold data, while ensuring that the impact of the system migration activity on the normal operation of the system is within an acceptable range. The system monitoring module collects system performance information, including the system's current CPU utilization, memory utilization, storage device IOPS, and remaining capacity of each layer of resources; The migration module takes out the migration task from the data block migration plan table and migrates the data blocks on different storage levels; the migration control module adjusts the data block migration rate of the migration module according to the system performance information provided by the system monitoring module.

2. The system according to claim 1, wherein The tiered storage system automatically selects the appropriate block size value for the user based on system IOPS, system bandwidth, and storage resource size.

3. The system according to claim 1, wherein: The intelligent tiered storage driver also includes an access redirection module, which provides a virtual layer, maps physical addresses, and provides a unified storage interface to the outside world.

4. The system according to claim 1, wherein: When the metadata management module performs hot data sampling, it uses a hot data identification strategy to segment and store the requested LBA, thereby identifying and saving data heat information; in each cached hot data entry, the metadata management module maintains an ID, a counter, and a recency bit for it; The counter is used to track the frequency information of the LBA, and the recency bit is used to check whether the item has been accessed recently. The last 16 bits of the 32-bit LBA are used to identify the LBA. The 16-bit ID consists of a major ID and a minor ID. During the processing of the LBA, two hash functions are used, one to generate the major ID and the other to generate the minor ID. The hash function for generating the minor ID only obtains the last 4 LSBs of the LBA, while the hash function for generating the major ID uses the remaining 12 LSBs. For sequential access, the starting major ID and minor ID of the LBA will also be stored sequentially, and only the offset sub-ID will be stored, not the offset major ID.

5. The system according to claim 1, wherein: When the metadata management module performs hot data identification, it works as follows: whenever a user issues a write request, the requested LBA is hashed by two hash functions to check whether the LBA is already stored in the cache; if the requested LBA hits the cache, the corresponding counter value is incremented by 1 to capture its frequency, and the recency bit is set to 1 for recency capture; if the counter value is greater than or equal to a predetermined hot threshold, it is classified as hot data, otherwise it is cold data; in the case of a cache miss, a sampling-based method is used to insert this newly requested LBA into the cache.

6. The system according to claim 5, wherein: When the metadata management module performs hot data sampling, it retains the LBA with a probability of 50%. The aging mechanism periodically divides the access counter value by 2. For recency aging, the recency value is reset to 0 when the access counter value is divided by 2. For any access to new data, its recency value is set to 1.

7. The system according to claim 5, wherein: When the metadata management module identifies hot data, during the entry replacement process, if the cache is full and a newly sampled LBA needs to be inserted into the cache, a replacement entry needs to be selected; if the access counter value is less than a predetermined hot threshold and its recency bit is reset to 0, such an LBA is classified as a candidate replacement entry; when the policy performs the decay process, these candidate replacement entries are stored in a candidate replacement entry list; The list of candidate replacement entries is regularly updated for each decay period to reflect the latest information. When a cold item needs to be removed from the cache, it first selects a candidate replacement entry from this list and directly checks whether the candidate can be removed; If the candidate replacement entry is still cold, remove the candidate replacement entry and insert the new item into the cache; If a candidate replacement entry has become hot data since the last aging period, it is not replaced.

Citation Information

Patent Citations

  • Hierarchical storage method

    CN103150263A

  • Storage system

    CN110515947A