Storage device
The storage device balances write loads across SSDs by swapping data between drives with varying write frequencies, reducing power consumption and preventing premature failures.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HITACHI VANTARA LTD
- Filing Date
- 2024-07-30
- Publication Date
- 2026-05-13
AI Technical Summary
Existing storage devices with SSDs face increased drive failures due to uneven data distribution, which is not addressed by current power-saving methods that focus on HDDs.
A storage device that monitors data writes across multiple physical drives, swaps data between drives with different write frequencies, and sets drives with high writes to a power-saving state to balance write load and reduce failures.
Reduces power consumption while minimizing drive failures by equalizing write loads across SSDs, thereby extending their lifespan.
Smart Images

Figure 0007857998000001 
Figure 0007857998000002 
Figure 0007857998000003
Abstract
Description
Technical Field
[0001] The present invention relates to a storage device that suppresses power consumption by utilizing a power-saving state of a drive.
Background Art
[0002] In recent years, in response to the growing environmental awareness in the IT industry, there has been a demand for reducing the power consumption of servers and storage devices operated in data centers.
[0003] In particular, in a storage device for mission-critical applications equipped with a large-capacity drive, since the power consumption of the drive accounts for a large proportion of the power consumption of the entire storage device, reducing the power consumption of the drive is important in reducing the power consumption of the entire storage device.
[0004] Generally, a storage device having a thin provisioning (capacity virtualization) function combines physical storage areas distributed on a plurality of drives to provide a virtual storage area called a thin provisioning pool.
[0005] Hereinafter, the virtual storage area provided by a storage device having a thin provisioning function is simply referred to as a pool.
[0006] Since the business data stored in the pool continues to increase day by day, generally, at the time of creating the pool, sufficient free capacity is ensured in addition to the amount of business data at that time.
[0007] Patent Document 1 discloses a storage device that reduces the power consumption of a drive by causing the data placement in the pool to be biased to some drives and shifting the drives where no data is placed to a power-saving state.
Prior Art Documents
Patent Documents
[0008]
Patent Document 1
[0009] In recent years, in addition to HDDs (Hard Disk Drives), SSDs (Solid State Drives) have become increasingly popular as drives installed in storage devices.
[0010] Unlike HDDs, SSDs experience degradation of the insulator used for data storage as data is written, eventually making it impossible to read or write data.
[0011] Patent Document 1 does not take into consideration the fact that when a storage device is equipped with an SSD, distributing data placement to certain drives increases the amount of data written to those drives, making them more prone to failure. [Means for solving the problem]
[0012] A storage device according to one aspect of the present invention includes a plurality of physical drives and a storage controller that controls access to the plurality of physical drives, wherein the storage controller records statistical information relating to data writes to each of the plurality of physical drives, and performs a swap operation between one or more first physical drives in a non-power-saving state and one or more second physical drives, which are different from the first physical drives and whose statistical information indicates fewer writes than the one or more first physical drives, and the swap operation sets the one or more second physical drives to the non-power-saving state, moves data from the one or more first physical drives to the one or more second physical drives set to the non-power-saving state, and sets the one or more first physical drives from which the data has been moved to to the power-saving state. [Effects of the Invention]
[0013] According to one aspect of the present invention, it is possible to reduce the power consumption of a drive while suppressing the frequency of drive failures.
Brief Description of Drawings
[0014] [Figure 1] It is a diagram showing the concept of the equalization process of the drive write count using a distributed parity group. [Figure 2] It is a diagram showing the configuration of a storage device. [Figure 3] It is a diagram showing the concept of a distributed parity group in Example 1. [Figure 4] It is a diagram showing the configuration of parcel mapping in Example 1. [Figure 5] It is a diagram showing the configuration of a page management table in Example 1. [Figure 6] It is a diagram showing the configuration of an address translation table in Example 1. [Figure 7] It is a diagram showing the configuration of a drive operation control table in Example 1. [Figure 8] It is a diagram showing the state transition of the drive state in Example 1. [Figure 9] It is a diagram showing the flow of the transition process of the drive to the power-saving state by creating a bias in data placement using a distributed parity group in Example 1. [Figure 10] It is a diagram showing the flow of the equalization process of drive writing using a distributed parity group in Example 1. [Figure 11] It is a diagram showing the configuration of a drive replacement progress management table in Example 1. [Figure 12] It is a flowchart showing the drive replacement start process in Example 1. [Figure 13] It is a flowchart showing the drive replacement process in Example 1. [Figure 14] It is a flowchart showing the destage process in Example 1. [Figure 15] It is a flowchart showing the stage process in Example 1. [Figure 16]This is a diagram showing the concept of the leveling process of the drive write count using parity groups in Example 2. [Figure 17] This is a diagram showing the configuration of the parity group operation control table in Example 2. [Figure 18] This is a flowchart showing the parity group replacement process in Example 2. [Figure 19] This is a diagram showing the configuration of the page management table in Example 3. [Figure 20] This is a flowchart showing the parity group load transfer process in Example 3.
Mode for Carrying Out the Invention
[0015] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not to be construed as being limited to the description of the embodiments shown below. It will be readily understood by those skilled in the art that the specific configuration can be changed without departing from the spirit or gist of the present invention.
[0016] The notations such as "first", "second", "third", etc. in this specification and the like are attached to identify the components, and do not necessarily limit the number or order.
[0017] In the configuration of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and redundant descriptions are omitted.
[0018] Also, in the following description, when describing without distinguishing the same kind of elements, the common reference numerals (or reference signs) in the reference numerals are used, and when distinguishing and describing the same kind of elements, the reference numerals (or the IDs of the elements) may be used.
[0019] In the following explanation, "LUN" refers to a logical drive or volume that maps to a portion or all of the storage space in a pool. That is, a LUN consists of a portion or all of the storage space in a pool. The host executes I / O (Input / Output) requests to the LUN. A LUN is a logical volume. Storage space allocation between a LUN and a storage drive is managed through the pool.
[0020] The program is executed by a processor (e.g., a CPU (Central Processing Unit)) included in the storage controller within the storage device, performing defined processing using storage resources (e.g., memory) and / or communication interface devices (e.g., a host I / F) as appropriate. Therefore, the subject of the processing may be the storage device or the processor. The storage controller may also include hardware circuits that perform some or all of the processing. The computer program may be installed from the program source. The program source may be, for example, a program distribution server or a computer-readable storage medium.
[0021] A storage device according to one embodiment of this specification records statistical information regarding data writes to the installed drives and selects drives that are in a power-saving state with low data writes and drives that are in a non-power-saving state (normal state) with high data writes. The storage device compares the data writes of the selected drives and, if the difference in the compared data writes is greater than a threshold, it cancels the power-saving state of the drive with low data writes. Furthermore, it moves data from the drive with high data writes to the drive with low data writes and sets the power-saving state for the drive with high data writes. [Examples]
[0022] This paper describes an example of a method called distributed RAID (Redundant Array of Inexpensive Disks), which constructs a highly reliable storage area from the capacities of multiple drives.
[0023] Distributed RAID is a data protection method that replaces the parity groups, which were composed of physical drives in conventional RAID (also called traditional RAID), with virtual parity groups composed of virtual drives. By distributing the data of these virtual parity groups across physical drives, the number of physical drives can be determined independently of the RAID redundancy level.
[0024] In this embodiment, a significant reduction in power consumption can be achieved by applying measures such as stopping the power supply to each physical drive individually. Alternatively, the physical drives may be set to a power-saving state while maintaining power supply to them.
[0025] First, Figure 1 will be used to explain the concept of distributed RAID and an overview of how this patent works.
[0026] Of the elements shown in Figure 1, five physical drives 3 (A, B, C, D, E) are physical entities, while the remaining elements are logical entities within the storage device. Each will be explained below.
[0027] In distributed RAID, the storage device forms a distributed parity group 10 from multiple physical drives 3. The storage device divides the storage area of these physical drives 3 into units called parcels (see Figure 3). Next, virtual contiguous addresses are assigned to the parcels of the multiple physical drives 3 to form a virtual drive 11.
[0028] In conventional RAID, the storage areas of physical drives 3 belonging to a parity group are combined to form a storage area, whereas in distributed RAID, the parcels that make up the virtual drive 11 are selected from any physical drive 3. For this reason, although there is a minimum number constraint on the number of physical drives 3 belonging to the distributed parity group 10 for redundant configuration, physical drives 3 can be added or removed one at a time.
[0029] Next, storage device 1 configures a virtual parity group 12 from multiple virtual drives 11. The number of virtual drives 11 in a virtual parity group 12 is less than or equal to the number of physical drives 3 belonging to a distributed parity group 10. Also, in the example described below, the number of virtual parity groups 12, which are composed of one distributed parity group 10, matches the number of physical drives 3 in that distributed parity group. The virtual parity group 12 achieves high reliability by making the data redundant using conventional RAID technology.
[0030] Next, the storage device registers the virtual parity group 12 with pool 13. Depending on the design of the storage device, this may also be done by registering the LUN 14 created from the virtual parity group 12 with pool 13.
[0031] Furthermore, the storage device defines LUN14 from pool 13 and provides it to host 9.
[0032] When host 9 issues a data write request to LUN 14, the storage device associates the memory area of the virtual parity group 12 registered in pool 13 with the address space of the LUN 14 destination, in units called pages 16. The storage device then calculates the memory areas corresponding to the virtual parity group 12, virtual drive 11, distributed parity group 10, and physical drive 3 in that order, and writes the data received from host 9 to the calculated memory area of physical drive 3.
[0033] Here, the amount of data written to LUN14 increases daily as the service hours and number of users provided by host 9 increase. For this reason, when installing a storage device, physical drive 3 is often installed with a capacity sufficiently larger than the amount of data on LUN14 at that time. In other words, there is often free space on each physical drive 3 of the storage device.
[0034] Therefore, the storage device prepares a virtual drive 11 that does not contain data by moving the data of the virtual drive 11 belonging to the virtual parity group 12 registered in pool 13 to some of the virtual drives 11. Then, by deleting the virtual drive 11, some of the physical drives 3 are removed from the distributed parity group 10, and the removed physical drives 3 are set to a power-saving state, the power consumption of the physical drives can be reduced.
[0035] One way to set the device to a power-saving state is to use APST (Autonomous Power State Transition), a feature provided by SSDs. While using APST reduces the data read / write speed of the physical drive, it allows for reduced power consumption while still enabling data reading and writing.
[0036] Furthermore, setting to a power-saving state can be achieved, for example, by stopping the power supply from the storage device to physical drive 3. Although this method requires time before data can be read and written to physical drive 3, it can significantly reduce power consumption. In this embodiment, since data reading and writing to the removed physical drive 3 is not required, either of the above methods can be used to set to a power-saving state.
[0037] Figure 1 shows an overview of the operation performed by the storage device to equalize drive lifespan, starting from a state where physical drive E has been removed from distributed parity group 10 and set to a power-saving state.
[0038] When the storage device receives a data write request to LUN14, it writes the data to four physical drives: A, B, C, and D.
[0039] In SSDs, data writing causes the insulator used for data storage to deteriorate, eventually leading to drive failure. To prevent this data-driven drive failure from occurring earlier than the expected lifespan of the SSD vendor, SSD vendors publish guidelines for the amount of data written. One example of such a guideline is DWPD (Drive Writes Per Day).
[0040] On the other hand, SSDs have faster data reading and writing speeds compared to HDDs, and the negative impact of data movement between physical drives can be minimized with SSDs compared to HDDs.
[0041] In Figure 1, no data is written to physical drive E, and data writing is concentrated on the four physical drives A, B, C, and D. The storage device monitors the number of times the daily data write volume of these five physical drives exceeds a threshold, and identifies physical drive A, which has exceeded the threshold many times, and physical drive E, which has exceeded the threshold few times while in a power-saving state.
[0042] Next, the storage device disables the power-saving state of physical drive E and copies data from physical drive A to physical drive E. Subsequently, it removes physical drive A from distributed parity group 10 and includes physical drive E. Finally, it sets physical drive A to power-saving state.
[0043] As a result, data writing to physical drive A is eliminated, preventing drive failures caused by data writing to physical drive A, while also reducing power consumption through the power-saving mode of the drive.
[0044] The details of this embodiment will be described below.
[0045] An example of the configuration of the storage device 1 in which this embodiment is implemented will be described using Figure 2.
[0046] Storage device 1 includes a storage controller 2 and a physical drive 3.
[0047] The storage controller 2 has a processor 4, memory 5, host I / F 6, and drive I / F 7, and connects to the physical drive 3 via the drive I / F 7.
[0048] Furthermore, the storage controller 2 is connected to network 8 via host I / F 6. Host 9 is connected to network 8.
[0049] Next, using Figure 3, we will describe the overview of the storage areas of physical drive 3 and virtual drive 11 in a distributed RAID.
[0050] Figure 3 shows an example of a distributed parity group 10 consisting of five physical drives 3 (A, B, C, D, E).
[0051] The storage device 1 divides the storage area of the physical drive 3 into fixed-length units called parcels 15, associates them with the storage area of the virtual drive 11, and forms a virtual parity group 12 from multiple virtual drives 11. Here, the parcels 15 within a parity cycle in a given virtual parity group 12 are selected from different physical drives 3.
[0052] For example, in Figure 3, a virtual parity group 12 of 3D1P is formed from four virtual drives 11 (D1, D2, D3, P1). The first parity cycle consists of parcels "1_D1_1", "1_D2_1", "1_D3_1", and "1_P_1". These parcels 15 are associated with different physical drives 3. Specifically, parcel "1_D1_1" is associated with physical drive E, parcel "1_D2_1" with physical drive B, parcel "1_D3_1" with physical drive C, and parcel "1_P_1" with physical drive D.
[0053] As a result, even if one of the five physical drives 3 fails, at most only one parcel 15 will be unable to read or write data within the parity cycle, making it possible to recover data from the parcel 15 that can still read and write data.
[0054] Thus, while conventional RAID requires adding physical drives in accordance with the number of parity cycles, distributed RAID has the advantage of allowing the addition of physical drives on a per-unit basis through parcel 15 mapping.
[0055] Figure 4 shows an example of a parcel mapping 20 that manages the correspondence of parcels 15 in Example 1.
[0056] The parcel mapping 20 is information used by the storage controller 2 to manage the correspondence between the storage areas of the virtual drive 11 and the physical drive 3, and is stored, for example, in memory 5. The parcel mapping 20 stores entries consisting of a virtual parity group number 21, a virtual drive name 22, a virtual drive address 23, a distributed parity group number 24, a drive serial number within the distributed parity group 25, and a physical drive address 26. One entry corresponds to one parcel 15.
[0057] Virtual parity group number 21 is a field that stores the identifier of virtual parity group 12.
[0058] The virtual drive name 22 is a field that stores the identifier of virtual drive 11.
[0059] Address 23 of the virtual drive is a field that stores location information for the storage area of the virtual drive 11.
[0060] The distributed parity group number 24 is a field that stores the identifier of distributed parity group 10.
[0061] The drive serial number 25 within the distributed parity group is a field that stores the serial numbers assigned to the physical drives 3 that make up the distributed parity group 10 in the order they are added.
[0062] The physical drive address 26 is a field that stores location information for the storage area of physical drive 3 corresponding to drive serial number 25 within the distributed parity group.
[0063] Figure 5 shows an example of a page management table 30 stored in the storage controller 2.
[0064] The page management table 30 is information for managing the storage area of the virtual parity group 12 registered in pool 13 in Embodiment 1, and is stored, for example, in memory 5. The page management table 30 stores entries consisting of a page number 31, a virtual parity group number 32, a virtual drive name 33, and an address within the virtual drive 34. One entry corresponds to one page 16.
[0065] Page number 31 is the field that stores the identifier for page 16.
[0066] Virtual parity group number 32 is a field that stores the identifier of virtual parity group 12.
[0067] The virtual drive name 33 is a field that stores the identifier of the virtual drive 11 to which the starting position of the storage area within the virtual parity group 12 to which this page corresponds belongs.
[0068] Address 34 within the virtual drive is a field that stores the starting position of the memory area within the virtual parity group 12 to which this page corresponds.
[0069] Figure 6 shows an example of the address translation table 40 stored in the storage controller 2.
[0070] The address translation table 40 is information for managing the pages 16 allocated to the storage area of LUN 14 in Embodiment 1, and is stored, for example, in memory 5. The address translation table 40 stores entries consisting of LUN number 41, LUN address 42, page-level exclusive access 43, and page number 44. One entry corresponds to the storage area of LUN 14 in units of 16 pages.
[0071] LUN number 41 is the field that stores the identifier for LUN 14.
[0072] LUN address 42 is a field that stores location information for the memory area of LUN 14.
[0073] The page-level exclusive access 43 is a field that stores information indicating the read / write restriction status for page 16, indicated by page number 44 (described later), when a read / write request is received from host 9.
[0074] Page number 44 is a field that stores the identifier of page 16 assigned to LUN 14.
[0075] Figure 7 shows an example of a drive operation control table 50 stored in the storage controller 2.
[0076] The drive operation control table 50 contains information for managing the physical drives in Embodiment 1 and is stored, for example, in memory 5. The drive operation control table 50 stores entries consisting of a physical drive name 51, drive status 52, distributed parity group number 53, drive serial number within the distributed parity group 54, and number of write threshold exceedances 55. One entry corresponds to one physical drive 3.
[0077] The physical drive name 51 is a field that stores the identifier for physical drive 3.
[0078] Drive status 52 is a field that stores the operating status of the physical drive 3.
[0079] The distributed parity group number 53 is a field that stores the identifier of distributed parity group 10 to which physical drive 3 belongs.
[0080] The drive serial number 54 within distributed parity group 10 is a field that stores the number assigned to the physical drive 3 in the order it was added to distributed parity group 10.
[0081] The write threshold exceedance count 55 is a field that stores the number of times the amount written to the physical drive 3 has exceeded the threshold defined by the storage device 1. Here, an example of the type of threshold defined by the storage device 1 is the DWPD provided by the SSD vendor. Instead of the write threshold exceedance count 55, the total amount of data written, TBW (Tera Byte Written), may be managed. Different information from DWPD and TBW may be managed, as long as it represents the likelihood of drive failure due to writing to the physical drive.
[0082] Figure 8 is a state transition diagram showing the states that can be stored in drive state 52 and their transitions.
[0083] The values stored in drive status 52 include accessible status 60, power saving status 61, source drive ready status 62, and destination drive ready status 63.
[0084] Accessible state 60 indicates a state in which the storage device 1 may issue read / write requests to the physical drive 3 in response to a request from the host 9.
[0085] Power-saving state 61 refers to a situation where storage device 1 excludes physical drive 3 from distributed parity group 10, preventing data read / write operations in response to requests from host 9 (prohibiting read / write operations), and then enables power-saving settings for physical drive 3 or stops power supply. Thus, a state where power supply is stopped is also referred to as a power-saving state.
[0086] The source drive's readiness state 62 indicates that it has become subject to the drive replacement process S2 described later because the number of write threshold exceedances 55 is large. The storage controller 2 (processor 4) copies the data from the physical drive 3 to the destination drive 3 in readiness state 63 described later, and then sets the state of the physical drive 3 to power-saving state 61.
[0087] The replacement destination readiness state 63 indicates that the drive has become eligible for drive replacement process S2 because the number of write threshold exceedances 55 is small. The storage controller 2 copies the data from the physical drive 3 in the aforementioned replacement source readiness state 62 to the physical drive 3, and then sets the state of the physical drive 3 to the accessible state 60.
[0088] The storage controller 2 uses the address translation table 40, page management table 30, parcel mapping 20, and drive operation control table 50 to determine the address of physical drive 3 from the address of LUN 14.
[0089] Specifically, storage controller 2 receives a data read / write request from host 9 along with the number and address of LUN 14. At this time, storage controller 2 removes the fractional part of the received LUN address. From the address translation table 40, storage controller 2 identifies an entry with LUN number 41 and LUN address 42 that matches the received LUN number and the address of LUN 14 with the fractional part removed, and obtains page number 44.
[0090] Next, the storage controller 2 identifies an entry in the page management table 30 that has a page number 31 that matches the retrieved page number 44. virtuality Parity Group No. 32, virtuality Drive name 33, virtuality Get address 34 within the drive.
[0091] Next, the storage controller 2 retrieves from the parcel mapping 20. virtuality Parity Group No. 32, virtuality Drive name 33, virtuality Identify an entry with a virtual parity group number 21, virtual drive name 22, and virtual drive address 23 that matches drive address 34, and obtain the distributed parity group number 24, the drive serial number within the distributed parity group 25, and the physical address 26.
[0092] Then, the storage controller 2 identifies an entry from the drive operation control table 50 that has a distributed parity group number 53 and a distributed parity group number 54 that matches the obtained distributed parity group number 24 and drive serial number 25 within the distributed parity group, and obtains the physical drive name 51.
[0093] From the above, the physical drive name 51 and physical address 26, which indicate the location of the storage area of physical drive 3, can be identified from the number and address of LUN14. Hereafter, this identification process will simply be referred to as the address identification of physical drive 3.
[0094] Figure 9 shows the operation in which the storage controller 2 sets some of the physical drives 3 in a power-saving state 61 when the capacity used and read / write load of the physical drives 3 within the distributed parity group 10 are low.
[0095] If storage device 1 determines that the amount of data and access load on LUN 14 are less than the combined capacity and processing power of physical drive 3, and that stopping some physical drive 3 will have little adverse effect on host 9's data reading and writing, it selects the most recently created virtual parity group 12, in this case the virtual parity group 12 with the highest number, to be deleted. The deletion of virtual parity group 12 is intended to free up the space of the physical drive associated with that virtual parity group 12, and is performed before stopping physical drive 3.
[0096] This is because the parcel mapping 20 modifies the parcel mapping 15 so that the amount of data movement is minimized each time a virtual parity group 12 is generated. By deleting the most recently generated virtual parity group 12, the amount of data movement described later can be minimized. However, any virtual parity group 12 may be selected for deletion, although this will increase the amount of data movement. Neither method affects the main effect of this embodiment.
[0097] The upper part of Figure 9 shows that the fifth virtual parity group 12 was selected for deletion, and the parcels "5_D1_1", "5_D2_1", and "5_D3_1" were selected for deletion.
[0098] The storage controller 2 identifies entries from the page management table 30 that match the virtual drive name 33 and virtual drive address 34 of the virtual drive 11 corresponding to these parcels 15, and obtains the page number 31. The page 16 corresponding to this page number 31 is called the page to be deleted.
[0099] Next, the storage controller 2 identifies an entry in the address translation table 40 that has page number 44 matching the acquired page number 31, and sets page-level exclusive 43 to Yes. This is intended to prevent the data within the page from being overwritten by write requests from the host 9 during the inter-page data copy process described later.
[0100] Next, the storage controller 2 identifies page number 31, which is not included in page number 44 of the address translation table 40. Page 16, which corresponds to page number 31, is called an unallocated page.
[0101] The storage controller 2 copies the data of the page to be deleted to an unallocated page, sets the page number 44 of the address translation table 40 to the number of the unallocated page, and sets No to page-specific exclusive 43.
[0102] The storage controller 2 copies data from all parcels 15 to be deleted to unallocated pages, and then copies data from physical drive 3 as shown in the middle of Figure 9. Specifically, it copies the data from physical drive 3 (physical drive E), which was the last to be added to distributed parity group 10, to the parcel 15 that was associated with the deleted virtual parity group 12, and updates the parcel mapping 20.
[0103] Then, the storage controller 2 releases physical drive E from the distributed parity group 10 shown in the lower part of Figure 9, enables or stops the power supply to physical drive E, and sets the drive state 52 of the entry in the drive operation control table 50 corresponding to physical drive E to the power-saving state 61.
[0104] The above explains how storage device 1 reduces power consumption by setting physical drive 3 to power-saving state 61 according to the amount of data and access load of LUN 14.
[0105] When storage device 1 processes data write requests from host 9 using its four physical drives 3 (A, B, C, and D), the concentrated writing to these physical drives may cause drive failures.
[0106] To prevent this, storage device 1 swaps the physical drive 3 in the accessible state 60, where the amount of writing is greater than that of the physical drive 3 in the power-saving state 61, with the physical drive 3 in the power-saving state 61, thereby leveling out the drive writing. An example of this operation will be explained.
[0107] Figure 10 illustrates the process of equalizing the number of drive writes using the distributed parity group 10 for the replacement of physical drive 3. The details of the process will be described later.
[0108] The storage controller 2 (processor 4) updates the write threshold exceedance count 55 in the drive operation control table 50 in response to write requests issued to the physical drive 3. For example, if the write threshold is DWPD=1, the total amount of data written to the physical drive 3 is stored in memory 5, and the difference amount for one day is calculated. If this difference amount exceeds the capacity of the physical drive 3, the value of the write threshold exceedance count 55 is increased by 1.
[0109] The storage controller 2 obtains the value of the number of write thresholds exceeded 55 and searches for pairs of physical drives 3 where the number of write thresholds exceeded 55 for physical drives 3 in the accessible state 60 is greater than the number of write thresholds exceeded 55 for physical drives 3 in the power-saving state 61.
[0110] Figure 10 shows an example where the pair of physical drives A and E has been identified. Storage controller 2 disables the power saving function or starts supplying power to physical drive E. Next, storage controller 2 copies the data from physical drive A to physical drive E, as shown in the upper part of Figure 10.
[0111] Then, as shown in the lower part of Figure 10, the storage controller 2 adds physical drive E to the distributed parity group 10 while excluding physical drive A from the distributed parity group 10. Specifically, the storage controller 2 sets the distributed parity group number 53 to 1 and the drive serial number 54 within the distributed parity group 10 to 1 for the entry corresponding to physical drive E in the drive operation control table 50. Then, it sets the distributed parity group number 53 to "none" and the drive serial number 54 within the distributed parity group 10 to "none" for the entry corresponding to physical drive A.
[0112] This allows for the replacement of physical drive A, which is more likely to fail due to data writing, with physical drive E, which is less likely to fail, without changing the parcel mapping 20, thereby leveling out drive writing.
[0113] The details of this leveling process will be described below.
[0114] Figure 11 shows an example of a drive replacement progress management table 70 stored in the storage controller 2. The drive replacement progress management table 70 contains information for managing the progress of data copying between physical drives 3, and is stored, for example, in memory 5. The drive replacement progress management table 70 stores entries consisting of the source drive name 71, the destination drive name 72, and the switched address 73. Each entry corresponds to a pair of physical drives 3 that are subject to data copying.
[0115] The "Original Drive Name 71" field stores the identifier of physical drive 3, which has a high number of write threshold exceedances (55).
[0116] The replacement drive name 72 is a field that stores the identifier of the physical drive 3 with fewer write threshold exceedance counts 55.
[0117] The switched address 73 is a field that stores location information of the memory area where data copying has been completed.
[0118] Figure 12 is a flowchart illustrating an example of the drive replacement initiation process performed by processor 4.
[0119] Processor 4 executes drive replacement initiation process S1, for example, periodically or in response to a request from a user of storage device 1. Here, "periodically" is assumed to be a period of time of about one week or one month. This is because the expected lifespan of an SSD is in years, and DWPD is a daily threshold, so drive replacement processing, which uses the number of DWPD exceedances as an indicator, only needs to be performed at a frequency of about one week or one month. Furthermore, this period may be changed by instructions from a user of storage device 1, etc.
[0120] Furthermore, in the flowchart of Figure 12, only one set of physical drives 3 to be replaced is selected. The processor 4 may execute process S1 multiple times in a single cycle to start replacing multiple sets of physical drives 3.
[0121] The processor 4 refers to the drive operation control table 50 to enumerate entries where the drive state 52 is in the accessible state 60, and identifies the entry with the largest number of write threshold exceedances 55 (step S2).
[0122] The processor 4 refers to the drive operation control table 50 to enumerate entries where the drive state 52 is the power-saving state 61, and identifies the entry with the fewest number of write threshold exceedances 55 (step S3). This allows writes to be effectively leveled out among the physical drives 3.
[0123] In step S2, the entry with the most write threshold exceedances (55) is selected, and in step S3, the entry with the fewest write threshold exceedances (55) is selected. However, these selections may be changed depending on the operating status of the storage device 1, in accordance with the purpose of the present invention to search for pairs with a large difference in the number of write threshold exceedances.
[0124] For example, in a situation where searching all entries would negatively impact other processes that the processor 4 should perform due to the large number of physical drives 3 installed in storage device 1, a method may be used to select entries in which the number of write threshold exceedances 55 is greater than a predetermined first threshold, or less than a predetermined second threshold which is less than the first threshold. Alternatively, a combination of any drive in a power-saving state and any drive in an accessible state in which the number of write threshold exceedances 55 is greater than that of the drive in the power-saving state may be selected.
[0125] Then, the processor 4 calculates the difference between the number of times the write threshold for the entry selected in step S2 has been exceeded (55) and the number of times the write threshold for the entry selected in step S3 has been exceeded (55), and determines whether or not it is above the replacement threshold (step S4). This prevents unnecessary replacement of the physical drive 3, which would degrade the performance of the storage device 1.
[0126] Here, the replacement threshold may be dynamically changed, as long as it aligns with the principle of selecting the drive with the largest difference of 55 write threshold exceedances between the three physical drives. For example, the difference between the mean values of the top 5% and bottom 5% of the frequency distribution of 55 write threshold exceedances could be used as the replacement threshold. Step S4 may also be omitted.
[0127] If the result of step S4 is Yes, the processor 4 adds a new entry to the replacement progress management table 70, storing the drive name 51 of the entry identified in step S2 in the source drive name 71, the drive name 51 of the entry identified in step S3 in the destination drive name 72, and 0 in the switched address 73 (step S5).
[0128] Next, the processor 4 starts disabling the power saving function or supplying power to the physical drive 3 corresponding to the drive name 51 of the entry identified in step S3 (step S6).
[0129] Next, the processor 4 sets the drive state 52 of the entry identified in step S2 to the source drive ready state 62, and the drive state 52 of the entry identified in step S3 to the destination drive ready state 63 (step S7).
[0130] On the other hand, if the result of step S4 is No, the drive replacement start process S1 is terminated.
[0131] The above is a description of the process in step S1.
[0132] Figure 13 is a flowchart illustrating an example of a drive replacement process performed by processor 4.
[0133] Processor 4 periodically executes drive swapping process S10. For example, processor 4 performs process S10 to the extent that it does not adversely affect the processing performance of data read / write requests from host 9.
[0134] Processor 4 selects the entry to be processed from the drive replacement progress management table (step S11). This selection method may always be from the beginning of the entries, or each entry may be selected in order.
[0135] Processor 4 calculates the next address to be copied from the switched address 73 of the entry selected in step S11 (step S12).
[0136] The processor 4 requests data reading from the physical drive 3 corresponding to the source drive name 71 of the entry selected in step S11, specifying the copy target address calculated in step S12, and stores the data in memory 5 (step S13).
[0137] Processor 4 requests data writing to the physical drive 3 corresponding to the destination drive name 72 of the entry selected in step S11, specifying the copy target address calculated in step S12 and the data stored in memory 5 in step S13 (step S14).
[0138] Then, the processor 4 stores the copy target address calculated in step S12 into the switched address 73 of the entry selected in step S11 (step S15).
[0139] Processor 4 determines whether the switched address 73 stored in step S15 has reached the end of the storage area of the physical drive 3 corresponding to the original drive name 71 (step S16).
[0140] If the result of step S16 is Yes, the processor 4 enables the power saving function or stops the power supply to the physical drive 3 corresponding to the original drive name 71 (step S17).
[0141] Next, the processor 4 identifies an entry from the drive operation control table 50 that has a physical drive name 51 matching the source drive name 71, and sets the drive state 52 of that entry to the power-saving state 61. Furthermore, it identifies an entry from the drive operation control table 50 that has a physical drive name 51 matching the destination drive name 72, and sets the drive state 52 of that entry to the accessible state 60 (step S18).
[0142] Then, processor 4 deletes the entry selected in step S11 from the drive replacement progress management table 70.
[0143] On the other hand, if the result of the determination in step S16 is No, the drive replacement process S10 is terminated.
[0144] The above is a description of the process in step S10.
[0145] Figure 14 is a flowchart illustrating an example of the destaging process performed by processor 4.
[0146] When storage device 1 receives a data write request from host 9, it stores the data to be written in memory 5. Subsequently, it writes the data to the physical drive 3 corresponding to the address of LUN 14 through a destaging process. Figure 14 shows an example of a process to write data to the correct physical drive 3 even if the target physical drive 3 is undergoing a drive swap process.
[0147] The processor 4 identifies the number and address of the physical drive 3 to be processed from the number and address of the LUN 14 received from the host 9 (step S21).
[0148] The processor 4 refers to the drive status 52 of the entry in the drive operation control table 50 corresponding to the physical drive 3 identified in step S21, and determines whether or not it is in the replacement preparation state 62 (step S22).
[0149] If the result of step S22 is Yes, the processor 4 identifies an entry in the drive replacement progress management table 70 that has the name of the original drive 71 that matches the name of the physical drive 3 identified in step S21, and obtains the switched address 73. It then determines whether the address identified in step S21 is less than the switched address 73 (step S23).
[0150] If the result of step S23 is Yes, the processor 4 sets the physical drive 3 corresponding to the destination drive name 72 of the entry identified in step S23 as the physical drive 3 to be processed (step S24).
[0151] After step S24, or if the result of the determination in step S22 is No, or if the result of the determination in step S23 is No, the processor 4 requests the physical drive 3 to be processed to write the data from memory 5 to the address identified in S21 (step S25).
[0152] The above is a description of the process in step S20.
[0153] Figure 15 is a flowchart illustrating an example of a stage process performed by processor 4.
[0154] When storage device 1 receives a data read request from host 9, it searches whether the data to be read is stored in memory 5. If the search determines that the data to be read is not stored in memory 5, it reads the data from physical drive 3 corresponding to the address of LUN 14 through staging. Figure 15 shows an example of the process for reading data from the correct physical drive 3 even if the destination physical drive 3 is undergoing a drive swap process.
[0155] However, since there are parts where the same process as in the flowchart of Figure 14 is performed, we will mainly explain the differences from Figure 14.
[0156] The processor 4 executes the processes from step S21 to step S24 shown in Figure 14 to determine the physical drive 3 to be read.
[0157] Then, the processor 4 requests the physical drive 3 to be read from the address identified in S21 to store the data in memory 5 (step S31).
[0158] The above is a description of the process in step S30.
[0159] In summary, the storage device 1 reduces power consumption by excluding physical drive 3 from distributed parity group 10 and setting it to a power-saving state, while simultaneously suppressing the occurrence of drive failures due to increased data writing to a specific physical drive 3 by swapping the physical drive 3 belonging to distributed parity group 10 with the aforementioned physical drive 3 set to a power-saving state.
[0160] By utilizing distributed RAID, each physical drive 3 can be put into a power-saving state, and since no data is being read or written to that physical drive 3, the power supply to that physical drive can be stopped, further enhancing the power consumption reduction effect. [Examples]
[0161] An embodiment of this patent in a conventional RAID configuration is described. The main differences from Embodiment 1 are that the physical drive 3 is set to a power-saving state in each parity group of 17 units, and that a drive replacement process is performed.
[0162] An advantage of this embodiment is that it can be applied to storage device 1 that does not have distributed RAID functionality.
[0163] From here on, we will mainly explain the differences from Example 1. Any aspects not explained in this example are the same as those in Example 1 in terms of configuration and processing.
[0164] The storage controller 2 (processor 4) configures parity groups 17 from multiple physical drives 3 using conventional RAID technology.
[0165] Next, the storage controller 2 registers the parity group 17 with pool 13. Alternatively, the LUN 14 created from the parity group 17 could be registered with pool 13.
[0166] For example, if the storage controller 2 determines that the amount of data and access load of LUN14 is less than the combined capacity and processing power of physical drive 3, and that stopping physical drive 3 in units of parity group 17 would have little adverse effect on data reading and writing to host 9, it selects the parity group 17 with the highest average value of the number of write threshold exceedances 55 to be deleted. This is intended to reduce the frequency of the parity group 17 replacement process described later. However, if the storage device 1 is operated for a long period of time, this effect may be limited, so any parity group 17 may be selected. Alternatively, one of the parity groups 17 whose average value of the number of write threshold exceedances 55 exceeds a predetermined threshold may be selected.
[0167] The storage controller 2 copies the data on page 16 corresponding to the parity group 17 to be deleted to page 16 of the parity group 17 that is not to be deleted, removes the parity group 17 to be deleted from pool 13, and enables or stops the power supply to the physical drive 3 belonging to the parity group 17 to be deleted.
[0168] The operation in this embodiment will be outlined using Figure 16.
[0169] Storage device 1 manages the number of times the data write threshold for each physical drive 3 is exceeded, which is 55.
[0170] The storage controller 2 periodically selects a parity group 17 with a higher average number of data write threshold exceedances 55 for the physical drive 3 within that parity group 17 and a parity group 17 with a lower average number of exceedances 55, and calculates the difference between them.
[0171] If the calculated difference exceeds a certain value, the storage controller 2 disables the power saving function or starts supplying power to the physical drive 3 belonging to parity group 17, which has a low average number of data write threshold exceedances 55.
[0172] Then, the storage controller 2 copies the data from page 16 belonging to parity group 17, which has a high number of data write threshold exceedances 55, to page 16 belonging to parity group 17, which has a low number of data write threshold exceedances 55, thereby switching the page allocation information. After repeating this process on a page-by-page basis, the storage controller 2 enables the power saving function or stops the power supply to the physical drive 3 belonging to parity group 17, which has a high average number of data write threshold exceedances 55.
[0173] The details of this embodiment will be described below.
[0174] Figure 17 shows an example of a parity group operation control table 80 stored in the storage controller 2. The parity group operation control table 80 contains information for managing the parity groups 17 in this embodiment and is stored, for example, in memory 5. The parity group operation control table 80 stores entries consisting of a parity group number 81, a parity group status 82, a drive name 83, and the number of times the write threshold has been exceeded 84. One entry corresponds to one parity group 17.
[0175] Parity group number 81 is a field that stores the identifier of parity group 17.
[0176] The parity group state 82 is a field that stores the operational state of the parity group 17.
[0177] The drive name 83 is a field that stores the identifier of physical drive 3, which belongs to parity group 17.
[0178] The write threshold exceedance count 84 is a field that stores the average number of times the amount of data written to the physical drive 3 corresponding to the drive name 83 exceeds the threshold defined by the storage device 1. However, since the purpose of this field is to represent the possibility of drive failure due to data writing, a statistical value different from the average may be used if it serves this purpose. For example, the maximum value may be used.
[0179] In addition, this embodiment also utilizes the page management table 30 and address translation table 40 described in Embodiment 1.
[0180] Figure 18 is a flowchart illustrating an example of the parity group swapping process performed by processor 4.
[0181] The processor 4 executes the parity group replacement process S40, for example, periodically or at the instruction of the storage user, similar to the drive replacement initiation process S1 described in Example 1.
[0182] The processor 4 refers to the parity group operation control table 80 to enumerate entries whose parity group state 82 is in the accessible state 60, and selects the entry with the largest number of write threshold exceedances 83 as the source parity group 17 for replacement (step S41).
[0183] The processor 4 refers to the parity group operation control table 80 to enumerate entries in which the parity group state 82 is the power saving state 61, and selects the entry with the smallest number of write threshold exceedances 83 as the replacement parity group 17 (step S42).
[0184] Here, steps S41 and S42 may be performed in a manner other than selecting the most or fewest entries, similar to steps S2 and S3 in Example 1.
[0185] Then, the processor 4 calculates the difference of 83 write threshold exceedance counts between the original parity group 17 and the replacement parity group 17, and determines whether or not it is above the replacement threshold (step S43).
[0186] Here, the threshold used for the determination in step S43 may be changed dynamically, similar to step S4. Step S43 may be omitted.
[0187] If the result of the determination in step S43 is Yes, the processor 4 starts to disable the power saving function or supply power to the physical drive 3 belonging to the replacement parity group 17 and registers it in pool 13 (step S44).
[0188] Next, processor 4 finds a match from page management table 30 for the number of the source parity group 17. virtuality The entry with parity group number 32 is identified, and page number 31 is obtained. From the address translation table 40, the entry with page number 44 that matches the obtained page number 31 is identified, and page-level exclusive 43 is set to Yes (step S45). This temporarily stops reading and writing data to the LUN address 42 of that entry.
[0189] Next, processor 4 reads the data of the page selected in step S45 from physical drive 3 into memory 5 (step S46).
[0190] The processor 4 identifies the unallocated page 16 belonging to the replacement parity group 17 from the page management table 30 and the address translation table 40, and writes the data read from memory in step S46 to the physical drive 3 corresponding to the unallocated page (step S47).
[0191] Processor 4 stores the number of the unallocated page 16 identified in step S47 in page number 44 of the entry in the address translation table 40 identified in step S45 (step S48).
[0192] Then, the processor 4 sets No to the page-level exclusive lock 43 of the entry in the address translation table 40 identified in step S45 (step S49). This allows data to be read and written using the page 16 belonging to the replacement parity group 17.
[0193] Subsequently, the processor 4 determines whether or not there are any unprocessed pages in page 16 belonging to the parity group 17 from which the pages were replaced (step S50).
[0194] If the result of the determination in step S50 is Yes, the process in step S45 is executed.
[0195] If the result of step S50 is No, the processor 4 removes the source parity group 17 from pool 13 and enables the power saving function or stops the power supply to the physical drive 3 belonging to the source parity group 17 (step S51).
[0196] On the other hand, if the result of the determination in step S43 is No, the parity group replacement process S40 is terminated.
[0197] The above is a description of the process in step S40.
[0198] The above describes a method in which storage device 1 reduces power consumption by excluding a parity group 17 configured with conventional RAID technology from pool 13 and setting the physical drives 3 belonging to the parity group 17 to a power-saving state, while also suppressing the occurrence of drive failures due to increased data writing to specific physical drives 3 by periodically rotating the parity group 17.
[0199] An advantage of this approach is that, by relying on conventional RAID technology, it can be applied to storage devices 1 that do not have distributed RAID functionality. [Examples]
[0200] This section describes an example of a conventional RAID configuration where there are differences in the write frequency between data. The main difference from Example 2 is that in Example 3, frequently accessed data is concentrated in a portion of the parity group 17, and the remaining physical drives 3 belonging to the parity group 17 are set to a power-saving state without being excluded from the pool 13. Note that some or all of the selected data may be moved regardless of access frequency.
[0201] Since the physical drive 3, which is set to a power-saving state, may receive data read / write requests from the host 9, these physical drives 3 are set to a power-saving state that allows data reading and writing without prior preparation. For example, the APST function provided by the SSD is used. This allows data reading and writing while maintaining the power-saving state, and power supply to the physical drive 3 is maintained in the power-saving state.
[0202] In this embodiment, by not excluding parity group 17 from pool 13, there is an advantage in that power consumption can be reduced even when the capacity of pool 13 is insufficient relative to the capacity of LUN 14.
[0203] From here on, we will mainly explain the differences from Example 2. Any aspects not explained in this example are the same as those in Example 2 in terms of configuration and processing.
[0204] Figure 19 shows an example of the page management table 90 in this embodiment, which is stored in the storage controller 2.
[0205] The page management table 90 contains information for managing page 16 in this embodiment, and is stored, for example, in memory 5. The page management table 90 contains information for page number 31, virtuality It stores entries consisting of a parity group number 32, a parity group address 93, and a data write frequency 94. Each entry corresponds to one page 16.
[0206] Page number 31, virtualityParity group number 32 was explained in Example 1 and will be omitted here. Parity group address 93 indicates the address within the parity group of page 16, which corresponds to page number 31.
[0207] The data write frequency 94 is a field that stores information indicating the frequency of data writes to page 16, which corresponds to page number 31. Here, the data write frequency may be a relative value between pages 16, or it may store the number of write requests from host 9 as an absolute value. For example, the specified percentage of pages with a high write frequency, either across all pages or within each parity group, may be defined as "high," or the write frequency may be defined as exceeding a predetermined threshold.
[0208] In addition, this embodiment also utilizes the address translation table 40 described in Embodiment 1 and the parity group operation control table 80 described in Embodiment 2.
[0209] Figure 20 is a flowchart illustrating an example of the parity group load transfer process performed by processor 4.
[0210] Processor 4 executes the parity group load transfer process S60 periodically or at the instruction of a storage user, similar to the parity group replacement process S40 described in Example 2.
[0211] The processor 4 refers to the parity group operation control table 80 to enumerate entries whose parity group state 82 is in the accessible state 60, and selects the entry with the largest number of write threshold exceedances 83 as the source parity group 17 (step S61).
[0212] The processor 4 refers to the parity group operation control table 80 to enumerate entries in which the parity group state 82 is the power saving state 61, and selects the entry with the smallest number of write threshold exceedances 83 as the destination parity group 17 (step S62).
[0213] Here, steps S61 and S62 may be performed in a manner other than selecting the most or fewest entries, similar to steps S41 and S42 in Example 2.
[0214] Then, the processor 4 calculates the difference in the number of write thresholds exceeded 83 between the source parity group 17 and the destination parity group 17, and determines whether or not it is above the threshold (step S63).
[0215] Here, the threshold used for the determination in step S63 may be changed dynamically, similar to step S43.
[0216] If the result of the determination in step S63 is Yes, the processor 4 disables the power saving function for the physical drive 3 belonging to the transfer destination parity group 17 (step S64).
[0217] Next, processor 4 matches the number of the source parity group 17 from the page management table 90. virtuality An entry with parity group number 32 and a data write frequency 94 of "high" is identified, and page number 31 is obtained. From the address translation table 40, an entry with page number 44 that matches the obtained page number 31 is identified, and page-level exclusive 43 is set to Yes (step S65). This temporarily stops reading and writing data to the LUN address 42 of that entry.
[0218] Processor 4 reads the data of the page selected in step S65 from physical drive 3 into memory 5 (step S66).
[0219] The processor 4 identifies the unallocated page 16 belonging to the destination parity group 17 from the page management table 30 and the address translation table 40, and writes the data read from memory in step S66 to the physical drive 3 corresponding to the unallocated page (step S67).
[0220] Next, processor 4 executes the processes of steps S48 and S49 described in Example 2.
[0221] Subsequently, the processor 4 determines whether there are any pages 16 belonging to the transfer source parity group 17 that have a data write frequency 94 of "high" and are unprocessed (step S68).
[0222] If the result of the determination in step S68 is Yes, the process in step S65 is executed.
[0223] If the result of step S68 is No, the processor 4 enables the power saving function for the physical drive 3 belonging to the transfer source parity group 17 (step S69).
[0224] On the other hand, if the result of the determination in step S63 is No, the parity group load transfer process S60 is terminated.
[0225] The above is a description of the process in step S60.
[0226] The above describes a method in which storage device 1 reduces power consumption by moving frequently written data between parity groups 17 configured with conventional RAID technology, thereby setting the physical drives 3 belonging to the less frequently accessed parity groups 17 to a power-saving state, while suppressing the occurrence of drive failures due to increased data writing to specific physical drives 3.
[0227] By not excluding parity group 17 from pool 13, power consumption can be reduced even when pool 13 has insufficient capacity relative to the capacity of LUN 14.
[0228] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are included. For example, the embodiments described above are described in detail to make the present invention easier to understand, and are not necessarily limited to those having all the configurations described. Furthermore, it is possible to replace parts of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add configurations from other embodiments to the configuration of one embodiment. In addition, it is possible to add, delete, or replace parts of the configuration of each embodiment with other configurations.
[0229] Furthermore, some or all of the above configurations, functions, and processing units may be implemented in hardware, for example, by designing them as integrated circuits. Alternatively, the above configurations and functions may be implemented in software by having the processor interpret and execute programs that implement each function. Information such as programs, tables, and files that implement each function can be stored in memory, a recording device such as a hard disk or SSD, or a recording medium such as an IC card or SD card.
[0230] Furthermore, the control lines and information lines shown are those deemed necessary for explanatory purposes, and not all control lines and information lines are necessarily shown in the actual product. In practice, it is reasonable to assume that almost all components are interconnected. [Explanation of Symbols]
[0231] 1...Storage device, 2...Storage controller, 3...Physical drive, 4...Processor, 5...Memory, 6...Host I / F, 7...Drive I / F, 8...Host I / F, 10...Distributed parity group, 12...Virtual parity group, 13...Pool, 15...Parcel, 20...Parcel mapping, 50...Drive operation control table, 60...Accessible status, 61...Power saving status, 62...Source ready status, 63...Destination ready status, 70...Drive replacement progress management table, 80...Parity group operation control table, 90...Page management table
Claims
1. A storage device, Multiple physical drives, Includes a storage controller that controls access to the multiple physical drives, The aforementioned storage controller Record statistical information regarding data writing to each of the aforementioned multiple physical drives. A swapping process is performed between one or more first physical drives in a non-power-saving state and one or more second physical drives, which are different from the first physical drives and whose statistical information shows fewer writes than the one or more first physical drives, and which are in a power-saving state. The aforementioned replacement process is, Set the one or more second physical drives to the non-power saving state, The data is moved from the one or more first physical drives to the one or more second physical drives that are set to the non-power saving state. The one or more first physical drives to which the data has been moved are set to the power-saving state. Some of the aforementioned multiple physical drives constitute a distributed parity group, The storage controller defines one or more virtual parity groups consisting of multiple virtual drives, The data of the virtual parity group is stored in the memory area allocated from the distributed parity group. The aforementioned replacement process is, The second physical drive outside the distributed parity group is set to the non-power saving state and then added to the distributed parity group. A storage device that sets the device to the power-saving state after removing the first physical drive included in the distributed parity group from the distributed parity group.
2. The storage device according to Claim 1, A storage device in which the power-saving state of the first physical drive and the second physical drive is a state in which the power supply to the physical drives is stopped.
3. A storage device, Multiple physical drives, Includes a storage controller that controls access to the multiple physical drives, The aforementioned storage controller Record statistical information regarding data writing to each of the aforementioned multiple physical drives. A swapping process is performed between one or more first physical drives in a non-power-saving state and one or more second physical drives, which are different from the first physical drives and whose statistical information shows fewer writes than the one or more first physical drives, and which are in a power-saving state. The aforementioned replacement process is, Set the one or more second physical drives to the non-power saving state, The data is moved from the one or more first physical drives to the one or more second physical drives that are set to the non-power saving state. The one or more first physical drives to which the data has been moved are set to the power-saving state. The aforementioned multiple physical drives include multiple parity groups, The one or more first physical drives constitute a first parity group. The one or more second physical drives described above constitute a second parity group. The aforementioned replacement process is, The second parity group is added to the pool after being set to the non-power saving state. A storage device that sets the device to the power-saving state after removing the first parity group included in the pool from the pool.
4. The storage device according to claim 3, A storage device in which the power-saving state of the first physical drive and the second physical drive is a state in which the power supply to the physical drives is stopped.
5. A storage device, Multiple physical drives, Includes a storage controller that controls access to the multiple physical drives, The aforementioned storage controller Record statistical information regarding data writing to each of the aforementioned multiple physical drives. A swapping process is performed between one or more first physical drives in a non-power-saving state and one or more second physical drives, which are different from the first physical drives and whose statistical information shows fewer writes than the one or more first physical drives, and which are in a power-saving state. The aforementioned replacement process is, Set the one or more second physical drives to the non-power saving state, The data is moved from the one or more first physical drives to the one or more second physical drives that are set to the non-power saving state. The one or more first physical drives to which the data has been moved are set to the power-saving state. The aforementioned multiple physical drives include multiple parity groups, The one or more first physical drives constitute a first parity group. The one or more second physical drives described above constitute a second parity group. The first parity group and the second parity group are included in one pool, The aforementioned replacement process is, After setting the second parity group to the non-power saving state, the data determined to have a high write frequency in the first parity group is moved to the second parity group set to the non-power saving state. After moving the data, the first parity group from which the data was moved is set to the power-saving state. The storage device is in a state where the first parity group in the power-saving state is capable of reading and writing data.
6. A method for controlling the power consumption of a physical drive, Record statistical information regarding data writes to each of the multiple physical drives. A swapping process is performed between one or more first physical drives in a non-power-saving state and one or more second physical drives, which are different from the first physical drives and whose statistical information shows fewer writes than the one or more first physical drives, and which are in a power-saving state. The aforementioned replacement process sets the one or more second physical drives to the non-power saving state, The data is moved from the one or more first physical drives to the one or more second physical drives that are set to the non-power saving state. The one or more first physical drives to which the data has been moved are set to the power-saving state. Some of the aforementioned multiple physical drives constitute a distributed parity group, One or more virtual parity groups consisting of multiple virtual drives are defined. The data of the virtual parity group is stored in the memory area allocated from the distributed parity group. The aforementioned replacement process is, The second physical drive outside the distributed parity group is set to the non-power saving state and then added to the distributed parity group. A method for setting the first physical drive included in the distributed parity group to the power-saving state after removing it from the distributed parity group.
7. A method for controlling the power consumption of a physical drive, Record statistical information regarding data writes to each of the multiple physical drives. A swapping process is performed between one or more first physical drives in a non-power-saving state and one or more second physical drives, which are different from the first physical drives and whose statistical information shows fewer writes than the one or more first physical drives, and which are in a power-saving state. The aforementioned replacement process sets the one or more second physical drives to the non-power saving state, The data is moved from the one or more first physical drives to the one or more second physical drives that are set to the non-power saving state. The one or more first physical drives to which the data has been moved are set to the power-saving state. The aforementioned multiple physical drives include multiple parity groups, The one or more first physical drives constitute a first parity group. The one or more second physical drives described above constitute a second parity group. The aforementioned replacement process is, The second parity group is added to the pool after being set to the non-power saving state. A method of setting the pool to the power-saving state after removing the first parity group included in the pool from the pool.
8. A method for controlling the power consumption of a physical drive, Record statistical information regarding data writes to each of the multiple physical drives. A swapping process is performed between one or more first physical drives in a non-power-saving state and one or more second physical drives, which are different from the first physical drives and whose statistical information shows fewer writes than the one or more first physical drives, and which are in a power-saving state. The aforementioned replacement process sets the one or more second physical drives to the non-power saving state, The data is moved from the one or more first physical drives to the one or more second physical drives that are set to the non-power saving state. The one or more first physical drives to which the data has been moved are set to the power-saving state. The aforementioned multiple physical drives include multiple parity groups, The one or more first physical drives constitute a first parity group. The one or more second physical drives described above constitute a second parity group. The first parity group and the second parity group are included in one pool, The aforementioned replacement process is, After setting the second parity group to the non-power saving state, the data determined to have a high write frequency in the first parity group is moved to the second parity group set to the non-power saving state. After moving the data, the first parity group from which the data was moved is set to the power-saving state. A method wherein the first parity group in the power-saving state is in a state where data can be read and written.