Data Relocation System
By introducing a data relocation engine in the information processing system, dynamically adjusting the data storage location in response to changes in access frequency, the inefficiency and interruption problems of the fixed-time data relocation system are solved, and more efficient data storage and access are achieved.
Patent Information
- Application Number
- CN202110316756.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-24
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2041-03-24
AI Technical Summary
Existing fixed-time data relocation systems fail to effectively consider the access mode differences between different data, resulting in inefficient data relocation and may cause data access interruptions and internal I/O load peaks in data centers with a global user-based data center.
By introducing a data relocation engine in the information processing system, the data access frequency is monitored and the data storage location is dynamically adjusted when predicting that it will cross or fall below a threshold, thereby relocating the data from the low-speed storage device to the high-speed storage device.
Improve the efficiency of data relocation operations, avoid data access interrupts and internal I/O load peaks, and optimize storage resource utilization.
Smart Images

Figure CN115129228B_ABST
Abstract
Description
BACKGROUND OF THE DISCLOSURE
[0001] The present disclosure generally relates to information handling systems, and more particularly to relocation of data in an information handling system.
[0002] As the value and use of information continue to increase, both individuals and businesses are seeking additional ways to process and store information. One option available to users is an information handling system. Information handling systems typically process, compile, store, and / or communicate information or data for business, personal, or other purposes, thereby allowing users to leverage the value of the information. Since technology and information handling needs and requirements vary among different users or applications, information handling systems may also vary in terms of what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information can be processed, stored, or communicated. Variations in information handling systems take into account whether the information handling system is general-purpose or configured for a particular user or particular use, such as financial transaction processing, airline reservations, enterprise data storage, or global communications. Additionally, information handling systems can include a variety of hardware and software components that can be configured to process, store, and communicate information, and can include one or more computer systems, data storage systems, and networking systems.
[0003] Information handling systems (e.g., such as storage systems) are often utilized by other information handling systems (e.g., such as server devices) to store and retrieve data. In addition, storage systems typically include storage devices having different storage capabilities, including: relatively low-speed hard disk drive (HHD) storage devices, such as "nearline" serial attached SCSI (SAS) storage devices that provide relatively slow data storage and / or retrieval times; relatively medium-speed hard disk drive (HHD) storage devices, such as 10k or 15k hard disk rotational speed SAS storage devices that provide relatively medium data storage and / or retrieval times; and relatively high-speed solid state drive (SSD) storage devices, such as flash memory devices that provide relatively fast data storage and / or retrieval times. "Fully Automated Storage Tiering-Virtual Pool (FAST-VP)" systems have been developed for such storage systems to provide more efficient data storage and / or retrieval using storage devices having different performance, and operate to dynamically relocate data among storage devices based on the frequency of access to the data, where more frequently accessed data is relocated to relatively higher-speed storage devices, and less frequently accessed data is relocated to relatively lower-speed storage devices.
[0004] However, conventional FAST-VP systems are used to relocate all data to be relocated at a fixed time, which may cause several problems. For example, the inventors of the present disclosure have found that such fixed-time data relocation operations do not take into account the different data access patterns of different data, which may result in certain data that has recently been relocated to a relatively high-speed storage device (e.g., due to a relatively high data access frequency previously identified for that data) experiencing a relatively low data access frequency, or may result in any particular data that has recently been relocated to a relatively low-speed storage device (e.g., due to a relatively low data access frequency previously identified for that data) experiencing a relatively high data access frequency, thereby reducing the efficiency of the data relocation operation. In addition, in a data center with a global user base, relocating all data at a fixed time is problematic because there may be no time window during which the data relocation operation can be performed without interrupting the data access of a relatively large number of users. Furthermore, the fixed-time data relocation operation may create an internal I / O load peak (also referred to as a "relocation workload pulse") due to the need to move a relatively large amount of data within the storage system as part of the data relocation, which may also affect the data access of a relatively large number of users.
[0005] Accordingly, it would be desirable to provide a data relocation system that addresses the problems discussed above. SUMMARY OF THE INVENTION
[0006] According to one embodiment, an information handling system (IHS) includes: a processing system; and a memory system coupled to the processing system and including instructions that, when executed by the processing system, cause the processing system to provide a data relocation engine configured to: monitor first data stored in at least one first storage device configured to operate at a first data access speed during a first time period to identify a first data access frequency of the first data; determine that the first data access frequency of the first data during the first time period indicates that a second data access frequency of the first data during a second time period immediately following the first time period will exceed a data access frequency threshold; and relocate the first data from the at least one first storage device to at least one second storage device during the second time period and in response to determining that the first data access frequency of the first data during the first time period indicates that the second data access frequency of the first data during the second time period immediately following the first time period will exceed the data access frequency threshold, the at least one second storage device being configured to operate at a second data access speed higher than the first data access speed. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 is a schematic diagram showing an implementation of an Information Handling System (IHS).
[0008] Figure 2 is a schematic diagram showing an implementation of a storage system that can utilize the data relocation system of the present disclosure.
[0009] Figure 3 is a schematic diagram showing an implementation of a storage controller device that can be included in the Figure 2 storage system.
[0010] Figure 4 is a flowchart showing an implementation of a method for relocating data.
[0011] Figure 5A is a schematic diagram showing an implementation of the operation of a storage system during the Figure 4 method. Figure 2 is a schematic diagram showing an implementation of the operation of a storage controller device during the
[0012] Figure 5B method. Figure 4 is a schematic diagram showing an implementation of the operation of a storage controller device during the Figure 3 method.
[0013] Figure 6 is a graph showing an implementation of a trend-based data access pattern.
[0014] Figure 7 is a graph showing an implementation of a cyclic data access pattern.
[0015] Figure 8 is a graph showing an implementation of a seasonal data access pattern.
[0016] Figure 9 is a graph showing an implementation of an irregular data access pattern.
[0017] Figure 10A is a graph showing an implementation of data access that exceeds a data access frequency threshold.
[0018] Figure 10B is a graph showing an implementation of data access that exceeds a data access frequency threshold.
[0019] Figure 11 is a graph showing an implementation of the data access frequencies for multiple different data. DETAILED DESCRIPTION
[0020] For purposes of this disclosure, an information handling system may include any tool or collection of tools operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system can be a personal computer (e.g., desktop or laptop computer), a tablet computer, a mobile device (e.g., personal digital assistant (PDA) or smart phone), a server (e.g., blade server or rack server), a network storage device, or any other suitable device, and can vary in size, shape, performance, functionality, and price. An information handling system can include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and / or other types of nonvolatile memory. Additional components of an information handling system can include one or more disk drives, one or more network ports for communicating with external devices, and various input and output (I / O) devices such as a keyboard, a mouse, a touch screen, and / or a video display. An information handling system can also include one or more buses operable to transfer communications between the various hardware components.
[0021] In one embodiment, the IHS 100( Figure 1 ) includes a processor 102 connected to a bus 104. The bus 104 serves as a connection between the processor 102 and other components of the IHS 100. An input device 106 is coupled to the processor 102 to provide input to the processor 102. Examples of input devices can include a keyboard, a touch screen, a pointing device such as a mouse, a trackball, and a touchpad, and / or various other input devices known in the art. Programs and data are stored on a mass storage device 108, which is coupled to the processor 102. Examples of mass storage devices can include a hard disk, an optical disk, a magneto-optical disk, a solid state storage device, and / or various other mass storage devices known in the art. The IHS 100 also includes a display 110, which is coupled to the processor 102 by a video controller 112. A system memory 114 is coupled to the processor 102 to provide fast storage to facilitate execution of computer programs by the processor 102. Examples of system memory can include random access memory (RAM) devices such as dynamic RAM (DRAM), synchronous DRAM (SDRAM), solid state memory devices, and / or various other memory devices known in the art. In an embodiment, a chassis 116 houses some or all of the components of the IHS 100. It should be understood that other buses and intermediate circuits can be deployed between the above components and the processor 102 to facilitate interconnection between the components and the processor 102.
[0022] Referring now to Figure 2 , an embodiment of a storage system 200 that can utilize the data relocation system of the present disclosure is shown. For example, the storage system 200 can implement a virtual pool full automatic storage tiering (FAST-VP) system that includes the data relocation system of the present disclosure (e.g., a FAST-VP data relocation system). However, although a specific data relocation system is described, those skilled in the art to which the present disclosure pertains will understand that the data relocation function of the present disclosure can be incorporated into a storage system by other means that will also fall within the scope of the present disclosure. In the embodiment shown, the storage system 200 includes an enclosure 202 that can be provided by a storage rack or other storage cabinets known in the art. In the embodiment shown, a storage controller device 204 is included in the enclosure 202. In an embodiment, the storage controller device 204 can be provided by the IHS 100 discussed above with reference to Figure 1 and / or can include some or all of the components of the IHS 100. However, although shown and discussed as being provided by a storage controller device, those skilled in the art to which the present disclosure pertains will recognize that the storage controller device 204 provided in the system 200 can be replaced by any device that can be configured to operate similarly to the storage controller device 204 discussed below.
[0023] In the embodiment shown, the storage system 200 includes: one or more relatively low-speed storage devices 206 that are coupled to the storage controller device 204 and can be provided by relatively low-speed HDD storage devices (such as "nearline" SAS storage devices) that provide relatively slow data access (e.g., storage and / or retrieval) speeds; one or more relatively medium-speed storage devices 208 that are coupled to the storage controller device 204 and can be provided by relatively medium-speed HDD storage devices (such as 10k or 15k hard disk rotational speed SAS storage devices) that provide relatively medium data access (e.g., storage and / or retrieval) speeds; and one or more relatively high-speed storage devices 210 that can be provided by relatively high-speed SSD storage devices (such as flash storage devices) that provide relatively fast data access (e.g., storage and / or retrieval) speeds. However, although three performance tiers of storage devices are described herein, those skilled in the art to which the present disclosure pertains will understand that different numbers of performance tiers of storage devices will also fall within the scope of the present disclosure.
[0024] In addition, although specific storage devices are shown and described in the examples provided herein, those skilled in the art to which this disclosure pertains will recognize that storage system 200 can include a variety of different types of relatively low-speed storage devices having a relatively low data access (e.g., storage and / or retrieval) speed, a variety of different types of relatively medium-speed storage devices having a relatively medium data access (e.g., storage and / or retrieval) speed, and a variety of different types of relatively high-speed storage devices having a relatively high data access (e.g., storage and / or retrieval) speed. Thus, the relatively low-speed storage device 206 and the relatively medium-speed storage device 208 (e.g., HDD storage device) including relatively low and medium data access (e.g., storage and / or retrieval) speeds discussed below can be replaced by other types of storage devices, and the relatively high-speed storage device 210 (e.g., SDD / flash storage device) including relatively high data access (e.g., storage and / or retrieval) speeds discussed below can be replaced by other types of storage devices (e.g., other flash storage devices, etc.), while still remaining within the scope of this disclosure. In addition, although a specific storage system 200 has been shown and described, those skilled in the art to which this disclosure pertains will recognize that the storage systems of this disclosure can include a variety of components and component configurations while still remaining within the scope of this disclosure.
[0025] Now referring Figure 3 , an embodiment of a storage controller device 300 that can provide the storage controller device 204 discussed above with reference Figure 2 is shown. Thus, the storage controller device 300 can be provided by the IHS 100 discussed above with reference Figure 1 and / or can include some or all of the components of the IHS 100. In addition, although shown and discussed as being provided by a storage controller device, those skilled in the art to which this disclosure pertains will recognize that the functions of the storage controller device 300 discussed below can be provided by other devices configured to operate similarly to the storage controller device 300 discussed below. In the embodiment shown, the storage controller device 300 includes a chassis 302 (e.g., a cabinet, a circuit board, etc.) that houses or supports the components of the storage controller device 300, and only some of the components are shown below. For example, the chassis 302 can house or support a processing system (not shown, but it can include the processor 102 discussed above with reference Figure 1 ) and a memory system (not shown, but it can include the memory 114 discussed above with reference Figure 1 ), the memory system being coupled to the processing system and including instructions that, when executed by the processing system, cause the processing system to provide a data relocation engine 304 that is configured to perform the functions of the data relocation engine and / or the storage controller device discussed below.
[0026] The chassis 302 may also house a storage system (not shown, but which may include the storage device 108 discussed above with reference to Figure 1 discussed), the storage system being coupled to the data relocation engine 304 (e.g., via a coupling between the storage system and the processing system) and including a data relocation database 306, the data relocation database being configured to store any of the information utilized by the data relocation engine 304 discussed below. The chassis 302 may also house a communication system 308, the communication system being coupled to the data relocation engine 304 (e.g., via a coupling between the communication system 308 and the processing system) and may be provided by a network interface controller (NIC), a wireless communication system (e.g., near field communication (NFC) component, a WiFi component, etc.) and / or any other communication component that those skilled in the art of the present disclosure will recognize as providing a coupling of the data relocation engine 304 to the storage devices 206, 208, and 210. However, although a particular storage controller device 300 has been shown, those skilled in the art of the present disclosure will recognize that a storage controller device (or other device operating in a manner similar to that described below for the storage controller device 300 in accordance with the teachings of the present disclosure) may include a variety of components and / or component configurations for providing conventional storage controller device functionality as well as the functionality discussed below, while still remaining within the scope of the present disclosure.
[0027] Now referring to Figure 4, which shows an embodiment of a method 400 for relocating data. As discussed below, the systems and methods of the present disclosure provide for relocating a particular data in response to detecting that the data access frequency of any particular data is about to cross a data access frequency threshold. For example, the data relocation system of the present disclosure may include a storage controller device coupled to a first storage device operating at a first data access speed and a second storage device operating at a second data access speed higher than the first data access speed. During a first time period, the storage controller device monitors first data stored in the first storage device to identify a first data access frequency of the first data and determines that the first data access frequency of the first data during the first time period indicates that a second data access frequency of the first data during a second time period immediately following the first time period will exceed the data access frequency threshold. In response and during the second time period, the storage controller device relocates the first data from the first storage device to the second storage device. Thus, the systems and methods of the present disclosure are used to relocate different data at different times, where a particular data is relocated when the data access frequency of any particular data is about to cross the data access frequency threshold, which is used to improve the efficiency of data relocation operations, prevent interruption of users' data access in a data center with a global user base, prevent internal I / O load peaks / relocation workload pulses that would otherwise affect users' data access, and provide other benefits that will be apparent to those skilled in the art to which the present disclosure pertains.
[0028] Method 400 begins at block 402, where the storage controller device monitors data stored in the first storage device during a first time period. In an embodiment, at block 402, a data relocation engine 304 in the storage controller device 300 may perform a data monitoring operation 500, which may include monitoring data blocks, data groupings, data slices, and / or any other data structures stored in any one or all of the low-speed storage device 206, the medium-speed storage device 208, and the high-speed storage device 210 via its communication system 308. In a particular example, the different data monitored at block 402 during method 400 are each stored as 256 MB data slices in the storage system 200, but those skilled in the art to which the present disclosure pertains will recognize that the data may be stored in different sizes and / or configurations while still being within the scope of the present disclosure. As those skilled in the art to which the present disclosure pertains will appreciate, monitoring data at block 402 may include monitoring data access operations (e.g., data retrieval operations) performed to access any particular data stored in the low-speed storage device 206, the medium-speed storage device 208, and the high-speed storage device 210.
[0029] As will be appreciated by those skilled in the art to which the present disclosure pertains, the data access frequency of data in the storage system 200 may follow a data access pattern over time, where different types of data associated with the data access frequency exhibit different data access patterns. The inventors of the present disclosure described techniques for detecting data access patterns in U.S. Patent Application No. 16 / 884,265, filed on May 27, 2020, the entire disclosure of which is incorporated herein by reference. Referring to Figure 6 , an example of a trend-based data access pattern 600 is shown, which shows how data 602 may be accessed over time (e.g., in the example shown, over 14 days) in a manner that provides a data access pattern based on a relatively long-term increasing trend, and how data 604 may be accessed over time (e.g., in the example shown, over 14 days) in a manner that provides a data access pattern based on a relatively long-term decreasing trend.
[0030] Referring to Figure 7 , an example of a cyclic data access pattern 700 is shown, which shows how data 702 may be accessed over time (e.g., in the example shown, over 14 days) in a manner that provides a cyclic data access pattern that cycles between relatively high data access (e.g., 80 or more in the example shown) and relatively low data access (e.g., 20 or less in the example shown) on adjacent days. Referring to Figure 8 , an example of a seasonal data access pattern 800 is shown, which shows how data 802 may be accessed over time (e.g., in the example shown, over 14 days) in a manner that provides a seasonal data access pattern that repeats weekly, where relatively high data access (e.g., 80 or more in the example shown) occurs during the beginning of the week (e.g., Monday through Wednesday in the example shown) and relatively low data access (e.g., 55 or less in the example shown) occurs during the end of the week (e.g., Thursday and Friday in the example shown), and no data access occurs on the weekend. However, although the seasonal data access pattern 800 is shown and described as a weekly data access pattern, those skilled in the art to which the present disclosure pertains will appreciate how other seasonal data access patterns (e.g., daily, monthly, yearly) will also fall within the scope of the present disclosure.
[0031] Referring to Figure 9, which shows an example of an irregular data access pattern 900, which shows how data 902 can be accessed irregularly over time (e.g., in the example shown, over 14 days) in a manner that provides an irregular data access pattern that does not exhibit a repeating pattern (i.e., as opposed to the trend-based data access pattern 600, cyclic data access pattern 700, and seasonal data access pattern 800 discussed above) because the data access to 902 changes randomly and / or in an unpredictable manner. As will be appreciated by those skilled in the art to which this disclosure pertains, the data relocation techniques described herein can operate more efficiently and provide enhanced benefits for data with a repeating data access pattern (i.e., such as the trend-based data access pattern 600, cyclic data access pattern 700, and seasonal data access pattern 800). However, those skilled in the art to which this disclosure pertains will also recognize that the data relocation techniques described herein can provide some benefits for data without a repeating data access pattern (e.g., such as the irregular data access pattern 900 discussed above), and thus their use with data accessed in this manner will also fall within the scope of this disclosure. Additionally, although several specific data access patterns have been described, those skilled in the art to which this disclosure pertains will appreciate that there are other data access patterns for data, and the use of the data relocation system of this disclosure with such data will also fall within the scope of this disclosure.
[0032] The method 400 then proceeds to decision block 404, where it is determined whether a first data access frequency of data during a first time period indicates that a second data access frequency of the data will cross a data access frequency threshold during a second time period. In an implementation, at decision block 404 and based on the data monitoring operation 500, the data relocation engine 304 in the storage controller device 300 can operate to determine whether the data access frequency identified during the first time period based on the data monitoring operation 500 performed for any particular data indicates that a second access frequency of that particular data will cross the data access frequency threshold during a second time period that immediately follows the first time period. In some implementations, the determination performed at decision block 404 can be based on an autocorrelation function configured for periodic detection. As will be apparent to those skilled in the art to which this disclosure pertains, autocorrelation (also known as serial correlation) provides the correlation of a signal with a delayed copy of the signal as a function of the delay. In other words, autocorrelation provides the identification of the similarity of those signals as a function of the time period between the observed signals. As will be appreciated by those skilled in the art to which this disclosure pertains, autocorrelation analysis provides a mathematical tool for identifying repeating patterns and has conventionally been used to identify the presence of signals obscured by noise, identify missing fundamental frequencies implied by their harmonic frequencies in a signal, and analyze functions or sequences of values (e.g., time domain signals) in other signal processing situations.
[0033] In a particular example, at block 404, the autocorrelation function ACF(k) can be utilized to detect the periodicity of the data access frequency for any particular data monitored at block 402, and the autocorrelation function provides a fraction of the total variance due to the correlation value at a lag of k time steps:
[0034]
[0035] Reference Figure 10A , shows the data access frequency curve 1000 for a particular data to provide an example of the following situation: the data access frequency for the particular data is initially higher than the data access frequency threshold and then drops below the data access frequency threshold. As can be seen in Figure 10A , at a first time A, the particular data experiences a data access count DA1 that is higher than the data access frequency threshold and is marked as point B on the data access curve, and at a second time C, which is a time period t1 (e.g., 1 hour in a particular example below) following the first time A, the particular data experiences a data access count DA2 that is higher than the data access frequency threshold and is marked as point D on the data access curve. Further, at a third time E, which is a time period t2 following the second time C, the particular data will experience a data access count defined by the data access frequency threshold, and after the third time E, the data access frequency of the particular data will be lower than the data access frequency threshold.
[0036] As would be understood by those skilled in the art to which this disclosure pertains, the data access count DA1 can be identified by monitoring the particular data at the first time A, and the data access count DA2 can be identified by monitoring the particular data at a second time B, which is a known time period t1 (e.g., 1 hour in a particular example below). Then, the time period t2 provides the amount of time following the second time B during which the data access count for the particular data will drop below the data access frequency threshold, and the following equation can be solved by assuming that the points A, E, and Figure 10A on the data access curve form a triangle AEB that is similar to the triangle CED formed by the points C, E, and Figure 10A on the data access curve:
[0037] t2 / DA2 = (t1 + t2) / DA1
[0038] With the time period t1 being 1 hour, the above equation can be solved for the time period t2:
[0039] t2 = DA2 / (DA1 – DA2)
[0040] Therefore, when the time period t2 is less than 1 hour, the number of data accesses to a specific data will drop below the data access frequency threshold within a subsequent time period (e.g., in this example, a 1-hour time period). In other words, at the current time C and following the current time period t1, it is possible to determine the time period t2 required for the number of data accesses to any specific data to drop below the data access frequency threshold. Thus, the data relocation engine 304 in the storage controller device 300 can utilize the above equation at decision block 404 to determine whether the number of data accesses DA2 identified for any specific data at the second time C indicates that the number of data accesses to the specific data at the third time E will drop below the data access frequency threshold during a subsequent time period (e.g., also a 1-hour time period in this example) immediately following the time period t1 (e.g., 1 hour in this example).
[0041] Reference Figure 10B , shows a data access frequency curve graph 1002 for a specific data to provide an example of the following situation: the data access frequency to the specific data is initially below the data access frequency threshold and then exceeds the data access frequency threshold. As can be seen in Figure 10B , at the first time A, the specific data experiences a number of data accesses DA1 that is below the data access frequency threshold and is marked as point B on the data access curve, and at the second time C, which is the time period t1 following the first time A, the specific data experiences a number of data accesses DA2 that is below the data access frequency threshold and is marked as point D on the data access curve. In addition, at the third time E, which is the time period t2 following the second time C, the specific data will experience the number of data accesses defined by the data access frequency threshold, and after the third time E, the data access frequency of the specific data will exceed the data access frequency threshold.
[0042] As those skilled in the art to which this disclosure pertains will appreciate, the number of data accesses DA1 can be identified by monitoring the specific data at the first time A, and the number of data accesses DA2 can be identified by monitoring the specific data at the second time B, which is a known time period t1 (e.g., 1 hour in the following specific example). Then, the time period t2 provides the amount of time following the second time B during which the number of data accesses to the specific data will exceed the data access frequency threshold, and can be solved using the following equation by assuming that the points A, E, and Figure 10B on the data access curve in form a triangle AEB similar to the triangle CED formed by the points C, E, and Figure 10B on the data access curve in
[0043] t2 / DA2 = (t1 + t2) / DA1
[0044] When used for 1 hour during time period t1, the above equation can be solved for time period t2:
[0045] t2 = DA2 / (DA1 – DA2)
[0046] Accordingly, when time period t2 is less than 1 hour, the number of data accesses to a particular data will exceed the data access frequency threshold during a subsequent time period (e.g., in this example, a 1-hour time period). In other words, at the current time C and subsequent to the current time period t1, it is possible to determine the time period t2 that will be required for the number of data accesses to any particular data to exceed the data access frequency threshold. Thus, the data relocation engine 304 in the storage controller device 300 can utilize the above equation at decision block 404 to determine whether the number of data accesses DA2 identified for any particular data at a second time C indicates that the number of data accesses to that particular data at a third time E will exceed the data access frequency threshold during a subsequent time period (e.g., also a 1-hour time period in this example) that immediately follows time period t1 (e.g., 1 hour in this example).
[0047] In the specific example provided above, determining whether a first data access frequency of data during a first time period indicates that a second data access frequency of that data will exceed the data access frequency threshold during a second time period that immediately follows the first time period is performed in substantially the same manner as determining whether a first data access frequency of data during a first time period indicates that a second data access frequency of that data will drop below the data access frequency threshold during a second time period that immediately follows the first time period. However, although specific techniques for determining whether the data access frequency of data will cross the data access frequency threshold during a subsequent immediate time period have been described, those skilled in the art of the present disclosure will recognize that other techniques for identifying that the data access frequency threshold will be crossed will also fall within the scope of the present disclosure.
[0048] If, at decision block 404, it is determined that a first data access frequency of data during a first time period does not indicate that a second data access frequency of the data will cross the data access frequency threshold during a second time period, then method 400 returns to block 402. Accordingly, method 400 can loop such that the storage controller device 204 / 300 monitors the data stored in the low-speed storage device 206, the medium-speed storage device 208, and the high-speed storage device 210 to identify the data access frequency of that data (and, in some embodiments, stores those data access frequencies in the data relocation database 306 for use by subsequent decision block 404 determination operations) as long as no first data access frequency is identified that indicates that a second data access frequency of the data will cross the data access frequency threshold during a subsequent immediate time period.
[0049] If, at decision block 404, it is determined that a first data access frequency of data during a first time period indicates that a second data access frequency of the data will cross a data access frequency threshold during a second time period, method 400 proceeds to block 406, where the storage controller device relocates the data from a first storage device to a second storage device. In an embodiment, at block 406 and in response to determining that the first data access frequency for any particular data indicates that the second data access frequency for that data will exceed the data access frequency threshold in a subsequent time period immediately following, the data relocation engine 304 in the storage controller device 204 / 300 is operable to move the data to a higher performance storage device during that subsequent time period (e.g., if the data is stored in the low speed storage device 206, the data can be moved to the medium speed storage device 208 or the high speed storage device 210, and if the data is stored in the medium speed storage device 208, the data can be moved to the high speed storage device 210).
[0050] Similarly, in an embodiment, at block 406 and in response to determining that the first data access frequency for a particular data indicates that the second data access frequency for that data will drop below the data access frequency threshold in a subsequent time period immediately following, the data relocation engine 304 in the storage controller device 204 / 300 is operable to move the data to a lower performance storage device (e.g., if the data is stored in the high speed storage device 210, the data can be moved to the medium speed storage device 208 or the low speed storage device 206, and if the data is stored in the medium speed storage device 208, the data can be moved to the low speed storage device 206).
[0051] In some embodiments, the moving of the data during the subsequent time period can be initiated at the start of the subsequent time period. In other embodiments, the moving of the data during the subsequent time period can be initiated at the end of the subsequent time period (i.e., when the data access frequency of the corresponding data exceeds the data access frequency threshold). In still other embodiments, the moving of the data during the subsequent time period can be initiated after the time when the data access frequency of the corresponding data exceeds the data access frequency threshold (which can still be part of the subsequent time period). Thus, the moving (or initiation) of the data at block 406 can occur at different times during the subsequent time period and can depend on the current usage of the data. For example, in the case where the data access frequency of the data is about to exceed the data access frequency threshold, the moving of the data can start as soon as possible to ensure that a relatively higher speed storage device is used to perform the higher data access frequency that will occur for that data. Similarly, in the case where the data access frequency of the data is about to drop below the data access frequency threshold, the moving of the data may be delayed due to the capabilities of the relatively higher speed storage device to accommodate the upcoming lower data access frequency for that data.
[0052] Reference Figure 11 provides an implementation of the data access frequency curve graph 1100, which shows the data access frequencies of different data 1102, 1104, 1106, and 1108. As those skilled in the art to which this disclosure pertains will appreciate, data 1102 initially includes a data access frequency that is higher than the data access frequency threshold (e.g., 20000 data accesses in this example) and drops below the data access frequency threshold at time 1102a (e.g., at approximately the 4th hour in this example), data 1104 initially includes a data access frequency that is lower than the data access frequency threshold and exceeds the data access frequency threshold at time 1104a (e.g., at approximately the 9th hour in this example), data 1106 initially includes a data access frequency that is higher than the data access frequency threshold and drops below the data access frequency threshold at time 1106a (e.g., at approximately the 16.5th hour in this example), and data 1108 initially includes a data access frequency that is higher than the data access frequency threshold and drops below the data access frequency threshold at time 1108a (e.g., at approximately the 21.5th hour in this example). As those skilled in the art to which this disclosure pertains will appreciate, a conventional fixed-time data relocation system will not provide efficient relocation of all data 1102, 1104, 1106, and 1108.
[0053] Accordingly, the storage controller device 204 / 300 can execute method 400 for each of data 1102, 1104, 1106, and 1108, which may result in the relocation of data 1102 at time 1102a (e.g., at approximately the 4th hour in this example), the relocation of data 1104 at time 1104a (e.g., at approximately the 9th hour in this example), the relocation of data 1106 at time 1106a (e.g., at approximately the 16.5th hour in this example), and the relocation of data 1108 at time 1108a (e.g., at approximately the 21.5th hour in this example). Thus, different data can be relocated at different times, and the relocation of any particular data can be performed during the period when the data access frequency of that data crosses the data access frequency threshold. Then, method 400 returns to block 402. Accordingly, method 400 can loop such that different data moves between the low-speed storage device 206, the medium-speed storage device 208, and the high-speed storage device 210 according to their access frequencies and only during the period when the data access frequency crosses the data access threshold.
[0054] Accordingly, systems and methods have been described that provide for relocating specific data in response to detecting that the data access frequency of any specific data is about to cross a data access frequency threshold. For example, the data relocation system of the present disclosure can include a storage controller device coupled to a first storage device operating at a first data access speed and a second storage device operating at a second data access speed higher than the first data access speed. During a first time period, the storage controller device monitors first data stored in the first storage device to identify a first data access frequency for the first data and determines that the first data access frequency for the first data during the first time period indicates that a second data access frequency for the first data during a second time period immediately following the first time period will exceed the data access frequency threshold. In response and during the second time period, the storage controller device relocates the first data from the first storage device to the second storage device. Accordingly, the systems and methods of the present disclosure are for relocating different data at different times, where a specific data is relocated when the data access frequency of any specific data is about to cross the data access frequency threshold, which is for improving the efficiency of data relocation operations, preventing interruption of user data access in a data center having a global user base, preventing internal I / O load peaks / relocation workload pulses that would otherwise affect user data access, and providing other benefits that will be apparent to those skilled in the art to which the present disclosure pertains.
[0055] Although illustrative embodiments have been shown and described, a wide range of modifications, changes and substitutions are envisioned in the foregoing disclosure and in some instances, some features of the embodiments may be employed without corresponding use of other features. Accordingly, it is appropriate to interpret the appended claims broadly and in a manner consistent with the scope of the embodiments disclosed herein.
Claims
1. A data relocation system, the data relocation system comprising: At least one first storage device configured to operate at a first data access speed; At least one second storage device configured to operate at a second data access speed higher than the first data access speed; And A storage controller device coupled to each of the at least one first storage device and the at least one second storage device, wherein the storage controller device is configured to: Monitor first data stored in the at least one first storage device during a first time period to identify a first data access frequency of the first data that does not exceed a data access frequency threshold; Determine that the first data access frequency of the first data during the first time period indicates that a second data access frequency of the first data during a second time period immediately following the first time period will exceed the data access frequency threshold; And During the second time period and in response to determining that the first data access frequency of the first data during the first time period indicates that the second data access frequency of the first data during the second time period immediately following the first time period will exceed the data access frequency threshold, relocate the first data from the at least one first storage device to the at least one second storage device.
2. The system of claim 1, wherein the first time period is equal to the second time period.
3. The system of claim 1, wherein the storage controller device is configured to: Monitor second data stored in the at least one second storage device during a third time period to identify a third data access frequency of the second data that does not exceed the data access frequency threshold; Determine that the third data access frequency of the second data during the third time period indicates that a fourth data access frequency of the second data during a fourth time period immediately following the third time period will be lower than the data access frequency threshold; And During the fourth time period and in response to determining that the third data access frequency of the second data during the third time period indicates that the fourth data access frequency of the second data during the fourth time period immediately following the third time period will be lower than the data access frequency threshold, relocate the second data from the at least one second storage device to the at least one first storage device.
4. The system of claim 3, wherein the second time period is different from the fourth time period.
5. The system of claim 1, the system further comprising: At least one third storage device configured to operate at a third data access speed higher than the second data access speed, wherein the storage controller device is configured to: Monitor the second data stored in the at least one second storage device during a third time period to identify a third data access frequency to the second data that does not exceed the data access frequency threshold; Determine that the third data access frequency to the second data during the third time period indicates that a fourth data access frequency to the second data during a fourth time period occurring immediately after the third time period will exceed the data access frequency threshold; And During the fourth time period and in response to determining that the third data access frequency to the second data during the third time period indicates that the fourth data access frequency to the second data during the fourth time period occurring immediately after the third time period will exceed the data access frequency threshold, relocate the second data from the at least one second storage device to the at least one third storage device.
6. The system of claim 1, wherein the storage controller device is configured to: Determine that the first data access frequency to the first data during the first time period indicates that a second data access frequency to the first data at a first time occurring during the second time period will exceed the data access frequency threshold; and Relocate the first data from the at least one first storage device to the at least one second storage device at the first time.
7. An information handling system, the information processing system comprising: A processing system; And A memory system coupled to the processing system and including instructions that, when executed by the processing system, cause the processing system to provide a data relocation engine configured to: Monitor first data stored in at least one first storage device configured to operate at a first data access speed during a first time period to identify a first data access frequency to the first data that does not exceed a data access frequency threshold; Determine that the first data access frequency to the first data during the first time period indicates that a second data access frequency to the first data during a second time period occurring immediately after the first time period will exceed the data access frequency threshold; And During the second time period and in response to determining that the first data access frequency to the first data during the first time period indicates that the second data access frequency to the first data during the second time period occurring immediately after the first time period will exceed the data access frequency threshold, relocate the first data from the at least one first storage device to at least one second storage device, the at least one second storage device being configured to operate at a second data access speed higher than the first data access speed.
8. The information processing system of claim 7, wherein the first time period is equal to the second time period.
9. The information processing system of claim 7, wherein the data relocation engine is configured to: During a third time period, monitor second data stored in the at least one second storage device to identify a third data access frequency of the second data that does not exceed a data access frequency threshold; Determine that the third data access frequency of the second data during the third time period indicates that a fourth data access frequency of the second data during a fourth time period occurring immediately after the third time period will be lower than the data access frequency threshold; And During the fourth time period and in response to determining that the third data access frequency of the second data during the third time period indicates that the fourth data access frequency of the second data during the fourth time period occurring immediately after the third time period will be lower than the data access frequency threshold, relocate the second data from the at least one second storage device to the at least one first storage device.
10. The information processing system according to claim 9, wherein the second time period is different from the fourth time period.
11. The information processing system according to claim 7, wherein the data relocation engine is configured to: During a third time period, monitor second data stored in the at least one second storage device to identify a third data access frequency of the second data that does not exceed the data access frequency threshold; Determine that the third data access frequency of the second data during the third time period indicates that a fourth data access frequency of the second data during a fourth time period occurring immediately after the third time period will exceed the data access frequency threshold; And During the fourth time period and in response to determining that the third data access frequency of the second data during the third time period indicates that the fourth data access frequency of the second data during the fourth time period occurring immediately after the third time period will exceed the data access frequency threshold, relocate the second data from the at least one second storage device to at least one third storage device, the at least one third storage device being configured to operate at a third data access speed higher than the second data access speed.
12. The information processing system according to claim 11, wherein the second time period is different from the fourth time period.
13. The information processing system according to claim 7, wherein the data relocation engine is configured to: Determine that the first data access frequency of the first data during the first time period indicates that a second data access frequency of the first data at a first time occurring during the second time period will exceed the data access frequency threshold; and At the first time, relocate the first data from the at least one first storage device to the at least one second storage device.
14. A method for relocating data, the method comprising: By a storage controller device, monitor first data stored in at least one first storage device configured to operate at a first data access speed during a first time period to identify a first data access frequency of the first data that does not exceed a data access frequency threshold; The storage controller device determines that the first data access frequency of the first data during the first time period indicates that the second data access frequency of the first data during a second time period immediately following the first time period will exceed a data access frequency threshold; and The storage controller device relocates the first data from the at least one first storage device to at least one second storage device during the second time period and in response to determining that the first data access frequency of the first data during the first time period indicates that the second data access frequency of the first data during the second time period immediately following the first time period will exceed the data access frequency threshold, the at least one second storage device being configured to operate at a second data access speed higher than the first data access speed.
15. The method of claim 14, wherein the first time period is equal to the second time period.
16. The method of claim 14, the method further comprising: The storage controller device monitors second data stored in the at least one second storage device during a third time period to identify a third data access frequency of the second data that does not exceed the data access frequency threshold; The storage controller device determines that the third data access frequency of the second data during the third time period indicates that a fourth data access frequency of the second data during a fourth time period immediately following the third time period will be lower than the data access frequency threshold; and The storage controller device relocates the second data from the at least one second storage device to the at least one first storage device during the fourth time period and in response to determining that the third data access frequency of the second data during the third time period indicates that the fourth data access frequency of the second data during the fourth time period immediately following the third time period will be lower than the data access frequency threshold.
17. The method of claim 16, wherein the second time period is different from the fourth time period.
18. The method of claim 14, the method further comprising: The storage controller device monitors second data stored in the at least one second storage device during a third time period to identify a third data access frequency of the second data that does not exceed the data access frequency threshold; The storage controller device determines that the third data access frequency of the second data during the third time period indicates that a fourth data access frequency of the second data during a fourth time period immediately following the third time period will exceed the data access frequency threshold; and The second data is relocated by the storage controller device during the fourth time period and in response to determining that the third data access frequency of the second data during the third time period indicates that the fourth data access frequency of the second data during the fourth time period occurring immediately after the third time period will exceed the data access frequency threshold, the at least one third storage device being configured to operate at a third data access speed higher than the second data access speed.
19. The method of claim 18, wherein the second time period is different from the fourth time period.
20. The method of claim 14, the method further comprising: The storage controller device determines that the first data access frequency of the first data during the first time period indicates that the second data access frequency of the first data at a first time occurring during the second time period will exceed the data access frequency threshold; and The storage controller device relocates the first data from the at least one first storage device to the at least one second storage device at the first time.
Citation Information
Patent Citations
Method, device, and computer readable storage medium for data relocation based on periodicity of access frequency of the data
US11422729B2
Storage control program, storage control method, storage system and hierarchy control apparatus thereof
US20140297940A1