Systems and methods for reordering data in a storage device based on data access patterns
US-12050800-B2 · Jul 30, 2024 · US
US9760306B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9760306-B1 |
| Application number | US-201213596570-A |
| Country | US |
| Kind code | B1 |
| Filing date | Aug 28, 2012 |
| Priority date | Aug 28, 2012 |
| Publication date | Sep 12, 2017 |
| Grant date | Sep 12, 2017 |
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.
Data access is monitored in order to calculate priorities for extents of data based on extent access activity and priority of a business process associated with the extent. The priorities of the extents are used to generate priority hints for a tiered storage array. The priority may be time-dependent, including being indicative of anticipated future activity.
Opening claim text (preview).
What is claimed is: 1. A method comprising: defining a plurality of business processes; assigning indications of priority to ones of the defined business processes; monitoring a host device associated with a tiered storage array to determine whether an IO received from an application is associated with a defined business process in order to identify an extent associated with the defined business process; calculating a priority for the extent as a function of IO activity associated with the extent and the indication of priority assigned to the business process associated with the extent, wherein calculating the priority for the extent includes weighting the calculation such that business processes characterized by higher priority have greater influence on the priority of the extent; generating a priority hint based on the calculated priority; and providing the hint to the storage array, the storage array configured to utilize the hint to associate the extent with a tier of storage. 2. The method of claim 1 including assigning time-dependent indications of priority to ones of the defined business processes. 3. The method of claim 2 wherein calculating the priority for the extent includes separately calculating priority for each of multiple time periods. 4. The method of claim 3 including generating a hint for each time period. 5. The method of claim 1 wherein calculating the priority for the extent includes calculating average priority of the extent. 6. The method of claim 1 wherein calculating the priority for the extent includes calculating the priority based only on activity and maximum priority associated with the extent. 7. The method of claim 1 wherein calculating the priority for the extent includes calculating the priority based only on activity and priority of a business process which had a maximum of all activity associated with the extent. 8. The method of claim 1 wherein calculating the priority for the extent includes calculating the priority based only on activity and priority of a business process characterized by a greatest value of activity*priority associated with the extent. 9. The method of claim 1 including calculating priorities for a plurality of extents by utilizing multiple functions. 10. A computer program stored on a non-transitory computer readable medium comprising: logic which defines a plurality of business processes; logic which assigns indications of priority to ones of the defined business processes; logic which monitors a host device associated with a tiered storage array to determine whether an TO received from an application is associated with a defined business process in order to identify an extent associated with the defined business process; logic which calculates a priority for the extent as a function of TO activity associated with the extent and the indication of priority assigned to the business process associated with the extent, wherein the logic which calculates the priority for the extent includes logic which weights the calculation such that business processes characterized by higher priority have greater influence on the priority of the extent; logic which generates a priority hint based on the calculated priority for the extent; and logic which transmits the hint to the storage array, the storage array configured to utilize the hint to associate the extent with a tier of storage. 11. The computer program of claim 10 including logic which assigns time-dependent indications of priority to ones of the defined business processes. 12. The computer program of claim 11 including logic which separately calculates priority for the extent for each of multiple time periods. 13. The computer program of claim 12 including logic which generates a hint for each time period. 14. The computer program of claim 10 wherein the logic which calculates the priority for the extent includes logic which calculates average priority of the extent. 15. The computer program of claim 10 wherein the logic which calculates the priority for the extent includes logic which calculates the priority based only on activity and maximum priority associated with the extent. 16. The computer program of claim 10 wherein the logic which calculates the priority for the extent includes logic which calculates the priority based only on activity and priority of a business process which had a maximum of all activity associated with the extent. 17. The computer program of claim 10 wherein the logic which calculates the priority for the extent includes logic which calculates the priority based only on activity and priority of a business process characterized by a greatest value of activity*priority associated with the extent. 18. The computer program of claim 10 wherein the logic which calculates the priority for the extent includes logic which utilizes multiple functions to calculate priorities for multiple extents. 19. An apparatus comprising: a network device including: an interface for communicating with a client device; an interface for communicating with a storage array; and logic stored on non-transitory memory and utilized by processing hardware to: define a plurality of business processes; assign indications of priority to ones of the defined business processes; monitor a host device associated with a tiered storage array to determine whether an IO received from an application is associated with a defined business process in order to identify an extent associated with the defined business process; calculate a priority for the extent as a function of IO activity associated with the extent and the indication of priority assigned to the business process associated with the extent wherein the calculation is weighted such that business processes characterized by higher priority have greater influence on the priority of the extent; generate a priority hint based on the calculated priority; and provide the hint to the storage array, the storage array configured to utilize the hint to associate the extent with a tier of storage. 20. The apparatus of claim 19 wherein time-dependent indications of priority are assigned to ones of the defined business processes. 21. The apparatus of claim 20 wherein priority for the extent is separately calculated for each of multiple time periods. 22. The apparatus of claim 21 wherein a hint is generated for each time period. 23. The apparatus of claim 19 wherein the priority for the extent is based on average priority of the extent. 24. The apparatus of claim 19 wherein the priority for the extent is based only on activity and maximum priority associated with the extent. 25. The apparatus of claim 19 wherein the priority for the extent is calculated based only on activity and priority of a business process which had a maximum of all activity associated with the extent. 26. The apparatus of claim 19 wherein the priority for the extent is calculated based only on activity and priority of a business process characterized by a greatest value of activity*priority associated with the extent. 27. The apparatus of claim 19 including calculating different i priorities for a plurality of extents by utilizing multiple functions.
for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029) · CPC title
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title
Lifecycle management · CPC title
Physics · mapped topic
Monitoring storage devices or systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.