CN116185284B - A tiered storage system based on data block activity - Google Patents
A tiered storage system based on data block activityInfo
- Publication number
- CN116185284B CN116185284B CN202211655199.2A CN202211655199A CN116185284B CN 116185284 B CN116185284 B CN 116185284B CN 202211655199 A CN202211655199 A CN 202211655199A CN 116185284 B CN116185284 B CN 116185284B
- Authority
- CN
- China
- Prior art keywords
- data
- migration
- data block
- module
- lba
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Optical Recording Or Reproduction (AREA)
Abstract
The invention relates to a hierarchical storage system based on data block liveness, and belongs to the technical field of data storage. The hierarchical storage system adopts two storage layers, namely NVMeSSD layers and SATA SSD/HDD layers, wherein NVMeSSD layers are high-level layers, SATASSD/HDD layers are low-level layers, and the hierarchical storage system realizes dynamic migration of data between the high-level layers and the low-level layers under the condition of no human intervention according to the access frequency of the data blocks. According to the access frequency of the data block, the invention realizes the dynamic migration of the data between the high-level layer and the low-level layer under the condition of no human intervention.
Description
Technical Field
The invention belongs to the technical field of data storage, and particularly relates to a hierarchical storage system based on data block liveness.
Background
NVMeSSD has the characteristic of high-speed storage performance, SATASATA/HDD has the characteristic of low price and large capacity, and different storage media have different advantages. The advantages of different media are fully utilized in a cold and hot data layering mode, hot data are stored on high-speed equipment, and cold data are stored on equipment with relatively low price, so that the performance, capacity and price of a storage system can be well balanced.
Disclosure of Invention
First, the technical problem to be solved
The invention aims to solve the technical problem of realizing dynamic migration of data between a high-level layer and a low-level layer without human intervention.
(II) technical scheme
In order to solve the technical problems, the invention provides a design method of a layered storage system based on data block liveness, wherein the layered storage system adopts two storage layers, namely an NVMe SSD layer and a SATASSD/HDD layer, wherein the NVMeSSD layer is a high-level layer, the SATA SSD/HDD layer is a low-level layer, and the layered storage system realizes dynamic migration of data between the high-level layer and the low-level layer under the condition of no human intervention according to the access frequency of the data block.
Preferably, the tiered storage system defines two modes according to an initial positioning scheme, namely, a thermodynamic storage layer HotDST is prioritized and a cold dynamic storage layer ColdDST is prioritized, in a ColdDST prioritized mode, data is initially stored in a lower level layer, during use, the thermodynamic data is dynamically migrated to an upper level layer, the migration process is also called downgrade migration, in a HotDST prioritized mode, data is initially stored in an upper level layer, during use, the cold data is dynamically migrated to a lower level layer, and the migration process becomes upgrade migration.
Preferably, the tiered storage system automatically selects a corresponding block size value for the user based on the system IOPS and system bandwidth and storage resource size.
Preferably, the hierarchical storage system performs data layering based on data blocks to complete dynamic statistics and migration of the access frequency of the data blocks, and an intelligent hierarchical storage driver is inserted into an upper layer of a block device driver to realize all functions, wherein the intelligent hierarchical storage driver comprises a metadata management module, a data block estimation module, a migration control module, a system monitoring module and a migration module;
the metadata management module reserves sampling information (access information of I/O data) of access time, access type, position information and storage level of the data block, and data heat information generated by identification according to the sampling information, wherein the sampling information and the data heat information form metadata information, and the metadata information is updated every time of external read-write requests;
The data block value judging module estimates the data block before each execution of data migration, judges the value of the data block according to the metadata information of the data block, the judged result reflects the activity degree of the data block, and the data block value judging module orders the judged result to form a data block migration schedule and transmits the data block migration schedule to the migration control module;
The migration control module receives a data block estimation result of the data block estimation module, namely a data block migration schedule, and controls the migration module to migrate the data blocks, wherein the migration control module determines migration time, migration interval and migration mode, the migration time is determined by system load and residual storage space, the reasonable migration interval can timely migrate hot data or cold data, and meanwhile, the migration activity of the system is ensured to influence normal service of the system within an acceptable range;
The system monitoring module collects performance information of the system, including the current CPU utilization rate, the memory utilization rate, the IOPS of the storage device and the residual capacity of each layer of resources of the system;
And the migration control module adjusts the rate of the migration module for carrying out data block migration according to the system performance information provided by the system monitoring module.
Preferably, the intelligent hierarchical storage drive further comprises an access redirection module, wherein the access redirection module provides a virtual layer, maps physical addresses and provides a uniform storage interface.
Preferably, when the metadata management module performs hot data sampling, the hot data identification strategy is adopted to store the requested LBA in a segmented mode so as to identify and store data hot information;
Wherein the counter is used to track the frequency information of the LBAs, the recency bit is used to check if the entry has been accessed recently, the last 16 bits of the 32-bit LBAs are used to identify the LBAs, the 16-bit ID is made up of a primary ID and a secondary ID, during processing of the LBAs, two hash functions are used, one for generating the primary ID and the other for generating the secondary ID, the hash function generating the secondary ID only takes the last 4 LSBs of the LBAs and the hash function generating the primary ID takes the remaining 12 LSBs, the starting primary ID and secondary ID of the LBAs will also be stored sequentially for sequential accesses, and only the offset sub IDs will be stored, without storing the offset primary ID.
Preferably, the metadata management module operates when hot data identification is performed by hashing the requested LBA by two hash functions each time a user issues a write request to check if the LBA is already stored in the cache, incrementing the corresponding counter value by 1 to capture its frequency if the requested LBA hits the cache and setting the recency bit to 1 for recency capture, classifying it as hot data if the counter value is greater than or equal to a predetermined hot threshold, otherwise cold data, and inserting this newly requested LBA into the cache using a sample-based approach in the event of a cache miss.
Preferably, when the metadata management module samples hot data, LBAs are preserved with 50% probability, the aging mechanism periodically divides the access counter value by 2, resets the recency value to 0 for aging of recency while dividing the access counter value by 2, and resets its recency value to 1 for access of any new data.
Preferably, the metadata management module performs hot data identification, when the cache is full and a newly sampled LBA needs to be inserted into the cache during entry replacement, a replacement entry needs to be selected, such LBA is classified as candidate replacement entries if the access counter value is less than a predetermined hot threshold and its recency bit is reset to 0, the candidate replacement entries are stored in a candidate replacement entry list when the policy performs the decay process, the candidate replacement entry list is updated periodically for each decay period to reflect the latest information, when a cold entry needs to be removed from the cache, it first selects one 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 entry is inserted into the cache, and if the candidate replacement entry has become hot data since the last aging period, it is not replaced.
The invention also provides application of the system in the technical field of data storage.
(III) beneficial effects
The hierarchical storage system based on the data block liveness adopts two storage layers, and realizes the dynamic migration of data between a high-level layer and a low-level layer under the condition of no human intervention according to the access frequency of the data block.
Drawings
FIG. 1 is a schematic diagram of a heat identification of LBA entries of the present invention;
fig. 2 is a schematic diagram of selection of candidate replacement entries according to the present invention.
Detailed Description
To make the objects, contents and advantages of the present invention more apparent, the following detailed description of the present invention will be given with reference to the accompanying drawings and examples.
The hierarchical storage system based on the data block activity adopts two storage layers (hierarchical mode), NVMeSSD layers (high-level) and SATASSD/HDD layers (low-level), NVMeSSD layers are high-level layers, SATASSD/HDD layers are low-level layers, and the hierarchical storage system realizes dynamic migration of data between the high-level layers and the low-level layers under the condition of no human intervention according to the access frequency of the data block. The hierarchical storage system based on data block liveness will define two modes, hotDST (HotDynamicStorageTiered, hot dynamic storage layer) priority and ColdDST (ColdDynamicStorageTiered, cold dynamic storage layer) priority, according to the initial positioning scheme. In ColdDST priority mode, data is initially stored at the lower level, and "hot data" is periodically dynamically migrated to the higher level during use, a process also known as downgrade migration. In HotDST priority mode, data is initially stored in the higher level layer, and during use, the "cold data" is dynamically migrated to the lower level layer periodically, and the migration process becomes an upgrade migration.
The invention relates to a hierarchical storage technology based on data block liveness, which comprises the steps of firstly determining the size of a data block, wherein the size of the data block is not too large, and is not too small, and if the size of the data block is too large, the hot data and the cold data cannot be truly distinguished, and if the size of the data block is too small, the heat of the data is ensured to be correctly measured, but metadata capacity is too large, management cost is brought to data migration scheduling, and complexity of a system is increased.
The system performs data layering based on the data blocks, completes dynamic statistics and migration of the access frequency of the data blocks, and realizes all functions by inserting an intelligent layering storage driver into an upper layer of a block device driver. The intelligent hierarchical storage drive comprises a metadata management module, a data block estimation module, a migration control module, an access redirection module, a system monitoring module and a migration module.
① Metadata management module
The metadata management module reserves sampling information (access information of I/O data) such as access time, access type, position information and storage hierarchy of the data block, and data heat information generated by identification according to the sampling information, wherein the sampling information and the data heat information form metadata information, and each external read-write request needs to update the metadata information. These information will provide basis for the data block estimate judgment module to estimate.
② Data block estimation judgment module
The data block value judging module estimates the data block before each execution of data migration, judges the value of the data block according to the metadata information of the data block, and the judging result reflects the activity degree of the data block. The data block value judging module sorts the judging results to form a data block migration schedule, and the data block migration schedule is transmitted to the migration control module, which is the premise and the basis of the work of the migration control module.
③ Migration control module
The migration control module is tightly combined with the data block estimation module, the former receives the data block estimation result of the latter, namely the data block migration schedule, and the migration control module is controlled to migrate the data block. The migration control module determines the migration time, the migration interval and the migration mode. The timing of migration is determined by factors such as system load, remaining storage space, and the like. The reasonable migration interval can timely migrate hot data or cold data, and meanwhile, the influence of the migration activity of the system on the normal service of the system is ensured to be within an acceptable range.
④ Access redirection module
The access orientation module provides a virtual layer, maps the physical address and provides a uniform storage interface for the outside.
⑤ System monitoring module
The system monitoring module collects performance information of the system, including the current CPU utilization rate, the memory utilization rate, the IOPS of the storage device, the residual capacity of each layer of resources and the like.
⑥ Migration module
And the migration module takes out migration tasks from the data block migration schedule, and migrates the data blocks on different storage levels. And the migration control module adjusts the rate of the migration module for migrating the data blocks according to the system performance information provided by the system monitoring module.
On-line thermal data statistics has two main points, namely, the thermal data is sampled and identified, and the sampled data is subjected to hierarchical hash index.
(1) Thermal data sampling
At hot data sampling, since most of the I/Os are localized, and in the case of sequential access, only the least significant bits LSB of a few logical block addresses LBAs are changed, while most of their other bits are unaffected. Based on the method, the hot data identification strategy is designed and adopted to store the requested LBAs in a segmented mode, and then the hot information of the data is identified and stored efficiently. In each cached hot data entry, the metadata management module maintains an ID, a counter, and a recent bit for it, as shown in FIG. 1.
Wherein the counter is used to track frequency information of LBAs and the recency bit is used to check whether an item has been accessed recently. To reduce memory consumption, the last 16 bits of the 32-bit LBA are used to identify the LBA, the 16-bit ID consisting of a primary ID (12 bits) and a secondary ID (4 bits). In processing the LBAs, two hash functions are used, one for generating the primary ID and the other for generating the secondary ID. The hash function that generates the secondary ID only obtains the last 4 LSBs of the LBA, while the hash function that generates the primary ID uses the remaining 12 LSBs. Such a two-level hierarchical hash index scheme may significantly reduce cache lookup overhead by directly accessing LBA information in the cache. Since many access patterns in a workload typically exhibit high spatial locality and temporal locality, such designs are able to take full advantage of spatial locality. For sequential access, the starting primary and secondary IDs of the LBAs will also be stored sequentially, and only the offset child ID will be stored, not the offset primary ID. Therefore, it can significantly reduce the memory space consumption. While this approach to partial LBA acquisition may lead to false LBA hot identification problems, increasing the number of bits of its primary ID may significantly increase its identification accuracy.
(2) Thermal data identification
In the hot data identification process, the online hot data identification of the system works in such a way that whenever a user issues a write request, the requested LBA is hashed by two hash functions to check if the LBA is already stored in the cache. If the requesting 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. The counter value is classified as hot data if it is greater than or equal to a predetermined hot threshold, and as cold data otherwise. In the event of a cache miss, then the sample-based approach is used to insert this newly requested LBA into the cache.
At sampling, LBAs were retained with 50% probability. Therefore, it can reduce not only memory consumption but also computational overhead. The aging mechanism of this scheme periodically divides the access counter value by 2. For aging of recency, the recency value is reset to 0 while the access counter value is divided by 2, and for any new data access, its recency value is again set to 1.
During the replacement of an entry as shown in FIG. 2, the cache is full and a newly sampled LBA needs to be inserted into the cache, then a replacement entry needs to be selected. To reduce overhead, the policy maintains a candidate list of replacement entries. Such LBAs are classified as candidate replacement entries if the access counter value is less than a predetermined thermal threshold and its recency bit is reset to 0. The policy performs the decay process by storing the candidate replacement entries in a list. The candidate replacement entry list is updated periodically 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 a new item is inserted into the cache, and if the candidate replacement entry has become hot data since the last aging period, it is not replaced. The candidate replacement entry list can directly find the candidate replacement entry by using the two-level hierarchical hash index scheme, which can significantly reduce the search overhead of the replacement entry.
The foregoing is merely a preferred embodiment of the present invention, and it should be noted that modifications and variations could be made by those skilled in the art without departing from the technical principles of the present invention, and such modifications and variations should also be regarded as being within the scope of the invention.
Claims (7)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211655199.2A CN116185284B (en) | 2022-12-21 | 2022-12-21 | A tiered storage system based on data block activity |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211655199.2A CN116185284B (en) | 2022-12-21 | 2022-12-21 | A tiered storage system based on data block activity |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN116185284A CN116185284A (en) | 2023-05-30 |
| CN116185284B true CN116185284B (en) | 2025-09-12 |
Family
ID=86445267
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211655199.2A Active CN116185284B (en) | 2022-12-21 | 2022-12-21 | A tiered storage system based on data block activity |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116185284B (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119127091A (en) * | 2024-11-08 | 2024-12-13 | 深圳市源微创新实业有限公司 | Multi-level cache management method, system, device and medium for solid-state storage device |
| CN120196282A (en) * | 2025-03-12 | 2025-06-24 | 杭州利商数据科技有限公司 | An intelligent data storage and management system |
| CN120832099B (en) * | 2025-09-17 | 2025-12-12 | 强企创新科技有限公司 | Data storage method and medium of AI integrated machine system |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103150263A (en) * | 2012-12-13 | 2013-06-12 | 深圳先进技术研究院 | Hierarchical storage method |
| CN110515947A (en) * | 2019-08-23 | 2019-11-29 | 苏州浪潮智能科技有限公司 | A kind of storage system |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106469029B (en) * | 2011-12-31 | 2019-07-23 | 华为数字技术(成都)有限公司 | Data hierarchy storage processing method, device and storage equipment |
| WO2014141355A1 (en) * | 2013-03-11 | 2014-09-18 | 株式会社日立ソリューションズ | Computer system, data management method, and recording medium for storing program |
| CN104657286B (en) * | 2013-11-19 | 2019-05-10 | 中兴通讯股份有限公司 | A hierarchical storage method and device |
| US10552058B1 (en) * | 2015-07-17 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for delegating data processing to a cooperative memory controller |
| CN107844269B (en) * | 2017-10-17 | 2020-06-02 | 华中科技大学 | Hierarchical hybrid storage system based on consistent hash |
| CN110162273A (en) * | 2019-05-28 | 2019-08-23 | 北京计算机技术及应用研究所 | A kind of attenuation type tiered storage system and method based on distributed memory system |
| CN112650446A (en) * | 2020-12-18 | 2021-04-13 | 济南华芯算古信息科技有限公司 | Intelligent storage method, device and equipment of NVMe full flash memory system |
| CN115220655B (en) * | 2022-06-17 | 2025-07-29 | 中国电子科技集团公司第五十二研究所 | Hierarchical storage method classified by predictive optimization data |
-
2022
- 2022-12-21 CN CN202211655199.2A patent/CN116185284B/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103150263A (en) * | 2012-12-13 | 2013-06-12 | 深圳先进技术研究院 | Hierarchical storage method |
| CN110515947A (en) * | 2019-08-23 | 2019-11-29 | 苏州浪潮智能科技有限公司 | A kind of storage system |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116185284A (en) | 2023-05-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN116185284B (en) | A tiered storage system based on data block activity | |
| US12216929B2 (en) | Storage system, memory management method, and management node | |
| US7058764B2 (en) | Method of adaptive cache partitioning to increase host I/O performance | |
| US8176233B1 (en) | Using non-volatile memory resources to enable a virtual buffer pool for a database application | |
| CN105653591B (en) | A kind of industrial real-time data classification storage and moving method | |
| CN107844269A (en) | A kind of layering mixing storage system and method based on uniformity Hash | |
| US9367262B2 (en) | Assigning a weighting to host quality of service indicators | |
| JPS60140446A (en) | Storage hierarchy control method | |
| CN110888600B (en) | Buffer area management method for NAND flash memory | |
| CN110147331A (en) | Caching data processing method, system and readable storage medium storing program for executing | |
| CN110532200A (en) | A kind of memory system based on mixing memory architecture | |
| JP2006293981A (en) | Database storage method and database storage system | |
| CN118760623B (en) | Data management method for semiconductor storage | |
| CN117056087A (en) | Cloud data center hybrid memory optimization method, computer device and storage medium | |
| CN111078143B (en) | Hybrid storage method and system for data layout and scheduling based on segment mapping | |
| CN109002400B (en) | Content-aware computer cache management system and method | |
| He et al. | Improving update-intensive workloads on flash disks through exploiting multi-chip parallelism | |
| CN118606229B (en) | SLC cache management method, device, equipment and storage medium | |
| US10585592B2 (en) | Disk area isolation method and device | |
| CN113296686B (en) | Data processing method, device, equipment and storage medium | |
| CN119149445A (en) | Dynamic hybrid flash memory translation layer address mapping method and system based on heat perception | |
| CN107967306B (en) | Method for rapidly mining association blocks in storage system | |
| Maharjan et al. | From leanstore to learnedstore: Using a learned index to improve database index search | |
| Yao et al. | Uniform scheduling of interruptible garbage collection and request IO to improve performance and wear-leveling of SSDs | |
| US9354820B2 (en) | VSAM data set tier management |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |