Automated data archival framework using artificial intelligence techniques
US-2024231678-A9 · Jul 11, 2024 · US
US9280300B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9280300-B2 |
| Application number | US-201313931309-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 28, 2013 |
| Priority date | Jun 28, 2013 |
| Publication date | Mar 8, 2016 |
| Grant date | Mar 8, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for dynamically managing the placement of blocks of a logical file between a flash storage tier and an HDD storage tier are provided. In one embodiment, a computer system can collect I/O statistics pertaining to the logical file, where a first subset of blocks of the logical file are stored on the flash storage tier and where a second subset of blocks of the logical file are stored on the HDD storage tier. The computer system can further generate a heat map for the logical file based on the I/O statistics, where the heat map indicates, for each block of the logical file, the number of times the block has been accessed. The computer system can then identify, using the heat map, one or more blocks of the logical file as being performance-critical blocks, and can move data between the flash and HDD storage tiers such that the performance-critical blocks are placed on the flash storage tier.
Opening claim text (preview).
What is claimed is: 1. A method for dynamically managing placement of blocks of a logical file between a flash storage tier and a hard disk (HDD) storage tier, the method comprising: collecting, by a computer system for a current time interval in a plurality of time intervals, I/O statistics pertaining to the logical file, wherein a first subset of the blocks of the logical file are stored on the flash storage tier, and wherein a second subset of the blocks of the logical file are stored on the HDD storage tier; generating, by the computer system for the current time interval, a heat map for the logical file based on the I/O statistics, the heat map indicating, for each block of the logical file, a number of times the block has been accessed during the current time interval; retrieving, by the computer system, one or more other heat maps for the logical file that were generated by the computer system for one or more time intervals in the plurality of time intervals prior to the current time interval; identifying, by the computer system using the heat map and the one or more other heat maps, one or more of the blocks of the logical file as being performance-critical blocks, wherein the identifying comprises, for each time interval in the plurality of time intervals: for each block of the logical file: retrieving, from the heat map corresponding to the time interval, the number of times the block was accessed during the time interval; and calculating a temperature value for the block based on said number, wherein the temperature value is further scaled based on a temporal position of the time interval in the plurality of time intervals, moving, by the computer system, data between the flash storage tier and the HDD storage tier such that the one or more performance-critical blocks are placed on the flash storage tier. 2. The method of claim 1 wherein the temperature value is reduced linearly if the time interval occurred more recently than one-half or more other time intervals in the plurality of time intervals, and wherein the temperature value is reduced exponentially if the time interval occurred before one-half or more other time intervals in the plurality of time intervals. 3. The method of claim 1 wherein blocks of the logical file that are not identified as being performance-critical are placed on the HDD storage tier. 4. The method of claim 1 wherein the temperature value for each respective logical file is scaled by a constant value that is preconfigured for the respective logical file. 5. The method of claim 4 wherein the one or more performance-critical blocks are blocks of the logical file whose temperature values exceed a threshold. 6. The method of claim 1 wherein the logical file is associated with a tiering map that indicates, for each block of the logical file, whether the block is currently stored on the flash storage tier or the HDD storage tier, and wherein the moving comprises: generating a tiering target map that indicates, for each block of the logical file, whether the block should be stored on the flash storage tier or the HDD storage tier; and generating one or more migration tasks based on differences between the tiering map and the tiering target map. 7. The method of claim 6 wherein each migration task is assigned to a thread in a plurality of threads for execution. 8. The method of claim 6 wherein the tiering map comprises, for each block of the logical file, a bit value that indicates whether the block is currently stored on the flash storage tier or the HDD storage tier. 9. A non-transitory computer readable storage medium having stored thereon computer software executable by a processor, the computer software embodying a method for dynamically managing placement of blocks of a logical file between a flash storage tier and an HDD storage tier, the method comprising: collecting, for a current time interval in a plurality of time intervals, I/O statistics pertaining to the logical file, wherein a first subset of the blocks of the logical file are stored on the flash storage tier, and wherein a second subset of the blocks of the logical file are stored on the HDD storage tier; generating, for the current time interval, a heat map for the logical file based on the I/O statistics, the heat map indicating, for each block of the logical file, a number of times the block has been accessed during the current time interval; retrieving one or more other heat maps for the logical file that were generated by the processor for one or more time intervals in the plurality of time intervals prior to the current time interval; identifying, using the heat map and the one or more other heat maps, one or more of the blocks of the logical file as being performance-critical blocks, wherein the identifying comprises, for each time interval in the plurality of time intervals: for each block of the logical file: retrieving, from the heat map corresponding to the time interval, the number of times the block was accessed during the time interval; and calculating a temperature value for the block based on said number, wherein the temperature value is further scaled based on a temporal position of the time interval in the plurality of time intervals; moving data between the flash storage tier and the HDD storage tier such that the one or more performance-critical blocks are placed on the flash storage tier, the moving comprising. 10. The non-transitory computer readable storage medium of claim 9 wherein the temperature value is reduced linearly if the time interval occurred more recently than one-half or more other time intervals in the plurality of time intervals, and wherein the temperature value is reduced exponentially if the time interval occurred before one-half or more other time intervals in the plurality of time intervals. 11. The non-transitory computer readable storage medium of claim 9 wherein blocks of the logical file that are not identified as being performance-critical are placed on the HDD storage tier. 12. The non-transitory computer readable storage medium of claim 9 wherein the temperature value for each respective logical file is scaled by a constant value that is preconfigured for the respective logical file. 13. The non-transitory computer readable storage medium of claim 12 wherein the performance-critical blocks are blocks of the logical file whose temperature values exceed a threshold. 14. The non-transitory computer readable storage medium of claim 9 wherein the logical file is associated with a tiering map that indicates, for each block of the logical file, whether the block is currently stored on the flash storage tier or the HDD storage tier, and wherein the moving comprises: generating a tiering target map that indicates, for each block of the logical file, whether the block should be stored on the flash storage tier or the HDD storage tier; and generating one or more migration tasks based on differences between the tiering map and the tiering target map. 15. The non-transitory computer readable storage medium of claim 14 wherein each migration task is assigned to a thread in a plurality of threads for execution. 16. The non-transitory computer readable storage medium of claim 14 wherein the tiering map comprises, for each block of the logical file, a bit value that indicates whether the block is currently stored on the flash storage tier or the HDD storage tier. 17. A system for dynamically managing placement of blocks of a logical file between a flash storage tier and an HDD storage tier, the system comprising:
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Lifecycle management · CPC title
Improving I/O performance · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.