Storage apparatus
The storage device balances write loads across SSDs by swapping data between drives with different power states, reducing failures and power consumption, addressing the issues of concentrated data allocation and high power use in SSD-equipped storage devices.
Patent Information
- Application Number
- JP2024123558
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-30
- Publication Date
- 2026-02-12
- Estimated Expiration
- 2044-07-30
AI Technical Summary
Existing storage devices with SSDs face increased drive failure due to concentrated data allocation, which accelerates the deterioration of insulators used for data storage, and high power consumption is not adequately addressed in existing power-saving technologies.
A storage device with a storage controller that monitors data writes across multiple physical drives, swaps data between drives in non-power saving and power saving states based on write frequency, and sets drives with high writes to a power-saving state to balance write load and reduce power consumption.
This approach reduces drive failures and power consumption by evenly distributing write loads and utilizing power-saving states, thereby extending SSD lifespan and optimizing energy efficiency.
Smart Images

Figure 2026022138000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a storage device that reduces power consumption by utilizing the power saving state of a drive. [Background technology]
[0002] In recent years, with growing environmental awareness in the IT industry, there has been a demand to reduce the power consumption of servers and storage devices operated in data centers.
[0003] In particular, in storage devices for mission-critical applications equipped with large-capacity drives, the power consumption of the drives accounts for a large proportion of the power consumption of the entire storage device, so reducing the power consumption of the drives is important in reducing the power consumption of the entire storage device.
[0004] Generally, storage devices with thin provisioning (capacity virtualization) functionality combine physical storage areas distributed across multiple drives to provide virtual storage areas called thin provisioning pools.
[0005] Hereinafter, the virtual storage area provided by a storage device with a thin provisioning function will be simply referred to as a pool.
[0006] Since the business data stored in the pool continues to increase daily, when creating a pool, it is common to ensure sufficient free space in addition to the amount of business data at that time.
[0007] Patent Document 1 discloses a storage device that reduces drive power consumption by biasing data allocation within a pool to some drives and transitioning drives to which data is no longer allocated to a power-saving state. [Prior art documents] [Patent documents]
[0008] [Patent Document 1] Japanese Patent Application Laid-Open No. 2010-33261 Summary of the Invention [Problem to be solved by the invention]
[0009] In recent years, in addition to hard disk drives (HDDs), solid state drives (SSDs) have become popular as drives to be installed in storage devices.
[0010] Unlike HDDs, SSDs have the drawback that writing data to them causes the insulators they use to store data to deteriorate, eventually making it impossible to read or write data.
[0011] Patent Document 1 does not take into consideration that when a storage device is equipped with SSDs, data allocation may be concentrated on some drives, increasing the amount of data written to those drives and making the drives more susceptible to failure. [Means for solving the problem]
[0012] A storage device according to one embodiment 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 regarding data writing to each of the plurality of physical drives, and performs a swap process between one or more first physical drives in a non-power saving state and one or more second physical drives that are different from the first physical drives and are in a power saving state, the second physical drives being physical drives that the statistical information indicates less writing than the one or more first physical drives, wherein the swap process 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 that have been set to the non-power saving state, and sets the one or more first physical drives to which the data has been moved to the power saving state. [Effects of the Invention]
[0013] According to one embodiment of the present invention, it is possible to reduce the frequency of drive failures and reduce the power consumption of the drive. [Brief explanation of the drawings]
[0014] [Figure 1] FIG. 10 is a diagram illustrating the concept of a process for leveling the number of drive writes using distributed parity groups. [Figure 2] FIG. 1 illustrates a configuration of a storage device. [Figure 3] FIG. 2 is a diagram illustrating the concept of a distributed parity group in the first embodiment. [Figure 4] FIG. 2 is a diagram illustrating a configuration of parcel mapping in the first embodiment. [Figure 5] FIG. 10 is a diagram illustrating a configuration of a page management table according to the first embodiment. [Figure 6] FIG. 10 is a diagram illustrating a configuration of an address conversion table according to the first embodiment. [Figure 7] FIG. 10 is a diagram showing the configuration of a drive operation control table in the first embodiment. [Figure 8] FIG. 2 is a diagram illustrating a state transition of a drive state in the first embodiment. [Figure 9] FIG. 10 is a diagram showing the flow of processing for transitioning drives to a power saving state by creating biased data allocation using distributed parity groups in the first embodiment. [Figure 10] FIG. 10 is a diagram showing the flow of drive write leveling processing using distributed parity groups in the first embodiment. [Figure 11] FIG. 10 is a diagram illustrating the configuration of a drive replacement progress management table according to the first embodiment. [Figure 12] 10 is a flowchart showing a drive replacement start process in the first embodiment. [Figure 13] 10 is a flowchart showing a drive replacement process in the first embodiment. [Figure 14] 10 is a flowchart illustrating a destage process according to the first embodiment. [Figure 15] 1 is a flowchart showing a stage process in the first embodiment. [Figure 16]FIG. 11 is a diagram illustrating the concept of a process for leveling the number of writes to drives using parity groups in the second embodiment. [Figure 17] FIG. 11 is a diagram illustrating the configuration of a parity group operation control table in the second embodiment. [Figure 18] 10 is a flowchart showing a parity group replacement process in the second embodiment. [Figure 19] FIG. 11 is a diagram illustrating the configuration of a page management table according to the third embodiment. [Figure 20] 13 is a flowchart illustrating a parity group load transfer process in the third embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0015] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention should not be construed as being limited to the description of the embodiments shown below. Those skilled in the art will readily understand that the specific configuration can be changed without departing from the concept or spirit of the present invention.
[0016] In this specification, the terms "first," "second," "third," etc. are used to identify 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 explanations will be omitted.
[0018] In addition, in the following description, when describing elements of the same type without distinguishing between them, common reference symbols (or reference signs) may be used, and when describing elements of the same type with distinction between them, reference symbols (or element IDs) may be used.
[0019] In the following explanation, "LUN" means a logical drive or volume, and is mapped to a portion or all of the storage area of a pool. In other words, a LUN is made up of a portion or all of the storage area of a pool. A host executes I / O (Input / Output) requests to a "LUN." A LUN is a logical volume. Allocation of storage area between a LUN and the storage area of a storage drive is managed via a pool.
[0020] The program is executed by a processor (e.g., a CPU (Central Processing Unit)) included in a storage controller in a storage device to perform a predetermined process using storage resources (e.g., memory) and / or a communication interface device (e.g., a host I / F) as appropriate, so the subject of the process may be the storage device or the processor. The storage controller may also include hardware circuits that perform some or all of the process. The computer program may be installed from a 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 an embodiment of this specification records statistical information regarding data writes to installed drives, and selects drives in a power-saving state with low data writes and drives 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, cancels the power-saving state of the drive with low data writes. Furthermore, the storage device moves data from the drive with high data writes to the drive with low data writes and sets the drive with high data writes to a power-saving state. [Example]
[0022] An embodiment of a method for constructing a highly reliable storage area from a plurality of drive capacities, called distributed RAID (Redundant Array of Inexpensive Disks), will be described.
[0023] Distributed RAID is a data protection method that replaces the parity groups that are made up of physical drives in typical RAID (also called conventional RAID) with virtual parity groups made up of virtual drives, and distributes and stores the data of the virtual parity groups across the physical drives, making it possible to determine the number of physical drives independently of the RAID redundancy.
[0024] In this embodiment, a significant power consumption reduction effect is achieved by applying a measure such as stopping the power supply to each physical drive individually. Note that the physical drives may also be set to a power saving state while maintaining the power supply to the physical drives.
[0025] First, the concept of distributed RAID and an overview of the operation of this patent will be explained using Figure 1.
[0026] 1, five physical drives 3 (A, B, C, D, E) are physical entities, and the remaining elements are logical entities within the storage device. Each of these will be explained below.
[0027] In distributed RAID, a storage device configures a distributed parity group 10 from multiple physical drives 3. The storage device divides the storage areas of these physical drives 3 into units called parcels (see Figure 3). Next, virtual consecutive addresses are assigned to the parcels of the multiple physical drives 3 to configure a virtual drive 11.
[0028] In conventional RAID, the storage areas of the physical drives 3 belonging to a parity group are aggregated across the board to form a storage area, whereas in distributed RAID, the parcels that make up the virtual drive 11 are formed by selecting any physical drives 3. For this reason, although the number of physical drives 3 that belong to the distributed parity group 10 is restricted to a minimum number for redundant configuration, physical drives 3 can be added or removed in units of one drive.
[0029] Next, the storage device 1 configures a virtual parity group 12 from a plurality of virtual drives 11. The number of virtual drives 11 in the virtual parity group 12 is equal to or less than the number of physical drives 3 belonging to the distributed parity group 10. In the example described below, the number of virtual parity groups 12 configured from 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 data redundant using conventional RAID technology.
[0030] Next, the storage device registers the virtual parity group 12 in the pool 13. This may be a method of registering the LUN 14 created from the virtual parity group 12 in the pool 13, depending on the design of the storage device.
[0031] Furthermore, the storage device defines a LUN 14 from the pool 13 and provides it to the host 9 .
[0032] When the host 9 issues a data write request to the LUN 14, the storage device associates the storage areas of the virtual parity group 12 registered in the pool 13 in units called pages 16 with the address space of the write destination of the LUN 14. The storage device then calculates the corresponding storage areas in the order of the virtual parity group 12, virtual drive 11, distributed parity group 10, and physical drive 3, and writes the data received from the host 9 to the calculated storage areas of the physical drive 3.
[0033] Here, the amount of data written to LUN 14 tends to increase daily as the number of users and the duration of the service provided by host 9 increase. For this reason, when installing a storage device, physical drives 3 are often installed with a capacity sufficiently larger than the amount of data in LUN 14 at that time. In other words, there is often free capacity on each physical drive 3 of the storage device.
[0034] Therefore, the storage device prepares virtual drives 11 that do not store data by moving data from the virtual drives 11 that belong to the virtual parity group 12 registered in the pool 13 to some of the virtual drives 11. Then, by deleting the virtual drives 11, removing some of the physical drives 3 from the distributed parity group 10, and setting the removed physical drives 3 to a power-saving state, it is possible to reduce the power consumption of the physical drives.
[0035] For example, an SSD can use APST (Autonomous Power State Transition) to set the drive to a power-saving state. Although APST reduces the data read / write speed of the physical drive, it can reduce power consumption while still allowing data to be read and written.
[0036] Furthermore, the power saving state can be set, for example, by stopping the supply of power from the storage device to the physical drive 3. Although this method takes time until the physical drive 3 in question is ready for data reading and writing, it can significantly reduce power consumption. In this embodiment, since it is not necessary to read or write data from the removed physical drive 3, either of the above methods can be used to set the power saving state.
[0037] FIG. 1 shows an overview of a case where the storage device performs an operation for drive lifespan leveling from a situation where physical drive E has been removed from the distributed parity group 10 and set to a power saving state.
[0038] When the storage device receives a request to write data to LUN14, it writes the data to four physical drives A, B, C, and D.
[0039] In SSDs, writing data causes the insulators used to store data to deteriorate, eventually leading to drive failure. To prevent drive failure due to data writing from occurring earlier than the SSD vendor's expected service life, SSD vendors publish a guideline for the amount of data written. One example of this guideline is DWPD (Drive Write Per Day).
[0040] On the other hand, SSDs can read and write data faster than HDDs, and the negative impact of moving data between physical drives may be smaller with SSDs than with HDDs.
[0041] In Figure 1, no data writes occur to physical drive E, and data writes are concentrated on 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 power saving state threshold few times.
[0042] Next, the storage device releases the power saving state of physical drive E and copies data from physical drive A to physical drive E. Next, it removes physical drive A from the distributed parity group 10 and incorporates physical drive E. Then, it sets physical drive A to the power saving state.
[0043] As a result of the above, data is no longer written to physical drive A, and drive failure due to data writing on physical drive A can be prevented, while also reducing power consumption by putting the drive into a power-saving state.
[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 with reference to FIG.
[0046] The storage device 1 includes a storage controller 2 and a physical drive 3 .
[0047] The storage controller 2 has a processor 4, a memory 5, a host I / F 6, and a drive I / F 7, and is connected to the physical drive 3 via the drive I / F 7.
[0048] The storage controller 2 is also connected to a network 8 via a host I / F 6. A host 9 is connected to the network 8.
[0049] Next, an overview of the storage areas of the physical drives 3 and the virtual drives 11 in the distributed RAID will be described with reference to FIG.
[0050] FIG. 3 shows an example of a distributed parity group 10 consisting of five physical drives 3 (A, B, C, D, and E).
[0051] The storage device 1 divides the storage area of the physical drives 3 into fixed-length units called parcels 15, associates them with the storage areas of virtual drives 11, and configures virtual parity groups 12 from multiple virtual drives 11. Here, the parcels 15 in a parity cycle within a virtual parity group 12 are selected from different physical drives 3.
[0052] For example, in FIG. 3, four virtual drives 11 (D1, D2, D3, P1) make up a 3D1P virtual parity group 12. This first parity cycle is made up 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, there will be at most one parcel 15 in which data cannot be read or written within the parity cycle, and data can be restored from the parcel 15 in which data can be read or written.
[0054] In this way, while conventional RAID requires the addition of physical drives according to the number of parity cycles, distributed RAID has the advantage that physical drives can be added one by one by associating parcels 15.
[0055] FIG. 4 is a diagram showing an example of the parcel mapping 20 that manages the association of the parcels 15 in the first embodiment.
[0056] The parcel mapping 20 is information for managing the correspondence between the storage areas of the virtual drives 11 and the physical drives 3 in the storage controller 2, and is stored, for example, in the memory 5. The parcel mapping 20 stores entries each 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] The virtual parity group number 21 is a field that stores the identifier of the virtual parity group 12 .
[0058] The virtual drive name 22 is a field for storing the identifier of the virtual drive 11 .
[0059] The virtual drive address 23 is a field for storing the location information of the storage area of the virtual drive 11 .
[0060] The distributed parity group number 24 is a field that stores the identifier of the distributed parity group 10 .
[0061] The distributed parity group drive serial number 25 is a field for storing serial numbers assigned to the physical drives 3 that make up the distributed parity group 10 in the order in which they are added.
[0062] The physical drive address 26 is a field for storing the location information of the storage area of the physical drive 3 corresponding to the drive serial number 25 within the distributed parity group.
[0063] FIG. 5 is a diagram showing an example of the page management table 30 stored in the storage controller 2. As shown in FIG.
[0064] The page management table 30 is information for managing the storage areas of the virtual parity groups 12 registered in the pool 13 in the first embodiment, and is stored, for example, in the memory 5. The page management table 30 stores entries each 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 a field that stores the identifier of page 16.
[0066] The virtual parity group number 32 is a field that stores the identifier of the virtual parity group 12 .
[0067] The virtual drive name 33 is a field for storing the identifier of the virtual drive 11 to which the head position of the storage area in the virtual parity group 12 to which this page corresponds belongs.
[0068] The address in virtual drive 34 is a field that stores the start position of the storage area in the virtual parity group 12 to which this page corresponds.
[0069] FIG. 6 is a diagram showing an example of the address translation table 40 stored in the storage controller 2. As shown in FIG.
[0070] The address conversion table 40 is information for managing pages 16 allocated to the storage area of the LUN 14 in the first embodiment, and is stored, for example, in the memory 5. The address conversion table 40 stores entries each consisting of a LUN number 41, a LUN address 42, a page unit exclusion 43, and a page number 44. One entry corresponds to a storage area of the LUN 14 having a size of 16 pages.
[0071] The LUN number 41 is a field that stores the identifier of the LUN 14 .
[0072] The LUN address 42 is a field that stores the location information of the storage area of the LUN 14 .
[0073] The page unit exclusion 43 is a field for storing information indicating the prohibition state of reading and writing data from and to the page 16 indicated by the page number 44 described later when a read / write request is received from the host 9.
[0074] The page number 44 is a field that stores the identifier of the page 16 allocated to the LUN 14 in question.
[0075] FIG. 7 is a diagram showing an example of the drive operation control table 50 stored in the storage controller 2. As shown in FIG.
[0076] The drive operation control table 50 is information for managing the physical drives in the first embodiment, and is stored, for example, in the memory 5. The drive operation control table 50 stores entries each consisting of a physical drive name 51, a drive status 52, a distributed parity group number 53, a drive serial number within the distributed parity group 54, and a write threshold exceedance count 55. One entry corresponds to one physical drive 3.
[0077] The physical drive name 51 is a field for storing the identifier of the physical drive 3 .
[0078] The 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 the distributed parity group 10 to which the physical drive 3 belongs.
[0080] The drive serial number 54 within the distributed parity group 10 is a field for storing a number that is assigned in the order in which the physical drives 3 are added to the distributed parity group 10 to which they belong.
[0081] The write threshold exceedance count 55 is a field that stores the number of times the amount of data written to the physical drive 3 has exceeded a threshold defined by the storage device 1. 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, TBW (Tera Bytes Written), which is the total amount of data written, may be managed. Information other than DWPD or TBW may be managed as long as it is a numerical value that indicates the likelihood of drive failure due to writing to a physical drive.
[0082] FIG. 8 is a state transition diagram showing states that can be stored in the drive state 52 and their transitions.
[0083] The values stored in the drive status 52 include an accessible status 60, a power saving status 61, a replacement source ready status 62, and a replacement destination ready status 63.
[0084] The accessible state 60 indicates a state in which the storage device 1 may issue a data read / write request to the physical drive 3 in response to a request from the host 9 .
[0085] The power saving state 61 indicates a state in which the storage device 1 excludes the physical drive 3 from the distributed parity group 10, preventing data read / write requests from the host 9 (prohibiting read / write), and then enables the power saving setting of the physical drive 3 or stops the power supply. In this way, a state in which the power supply is stopped is also called a power saving state.
[0086] The replacement source ready state 62 indicates that the physical drive 3 has become the target of drive replacement processing S2, which will be described later, due to a large number of times the write threshold has been exceeded 55. The storage controller 2 (processor 4) copies the data on the physical drive 3 to a physical drive 3 in a replacement destination ready state 63, which will be described later, and then sets the state of the physical drive 3 to the power saving state 61.
[0087] The replacement destination ready state 63 indicates that the drive has become the target of the drive replacement process S2 because the write threshold exceedance count 55 is small. After copying the data of the physical drive 3 in the replacement source ready state 62 to the physical drive 3, the storage controller 2 sets the state of the physical drive 3 to the accessible state 60.
[0088] The storage controller 2 uses the address conversion table 40 , the page management table 30 , the parcel mapping 20 , and the drive operation control table 50 to identify the address of the physical drive 3 from the address of the LUN 14 .
[0089] Specifically, the storage controller 2 receives a data read / write request from the host 9 along with the number and address of the LUN 14. At this time, the storage controller 2 removes any fractional parts from the received LUN address. The storage controller 2 identifies an entry in the address translation table 40 that has a LUN number 41 and LUN address 42 that match the received LUN 14 number and the address of the LUN 14 with the fractional parts removed, and obtains the page number 44.
[0090] Next, the storage controller 2 identifies an entry having a page number 31 that matches the acquired page number 44 from the page management table 30, and acquires the parity group number 32, drive name 33, and address within the drive .
[0091] Next, the storage controller 2 identifies an entry from the parcel mapping 20 that has a virtual parity group number 21, virtual drive name 22, and virtual drive address 23 that match the acquired parity group number 32, drive name 33, and address within the drive 34, and acquires 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 drive serial number 54 within the distributed parity group 10 that match the acquired distributed parity group number 24 and drive serial number 25 within the distributed parity group, and acquires the physical drive name 51.
[0093] From the above, it is possible to identify the physical drive name 51 and physical address 26 indicating the location of the storage area of the physical drive 3 from the number and address of the LUN 14. Hereinafter, the above identification process will be simply referred to as identifying the address of the physical drive 3.
[0094] FIG. 9 is a diagram showing the operation of the storage controller 2 setting some of the physical drives 3 in the distributed parity group 10 to the power saving state 61 when the used capacity and read / write load of the physical drives 3 are low.
[0095] If the storage device 1 determines that the data volume and access load of the LUN 14 are smaller than the total capacity and processing capacity of the physical drives 3, and that stopping some of the physical drives 3 will have only a small adverse effect on data reading and writing by the host 9, it selects the most recently created virtual parity group 12, in this case the virtual parity group 12 with the largest number, as the virtual parity group to be deleted. The purpose of deleting the virtual parity group 12 is to free up the area of the physical drives associated with that virtual parity group 12, and is performed before stopping the physical drives 3.
[0096] This is because the parcel mapping 20 changes the association of parcels 15 to minimize the amount of data movement each time a virtual parity group 12 is generated, and therefore deleting the most recently generated virtual parity group 12 can minimize the amount of data movement, as described below. However, any virtual parity group 12 may be selected for deletion, although this will increase the amount of data movement. Either method does not affect the main effect of this embodiment.
[0097] The upper part of FIG. 9 shows that the fifth virtual parity group 12 is selected as the deletion target, and parcels "5_D1_1," "5_D2_1," and "5_D3_1" are the deletion targets.
[0098] The storage controller 2 identifies an entry in the page management table 30 that matches the virtual drive name 33 and the address within the virtual drive 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 a page number 44 that matches the acquired page number 31, and sets Yes to page unit exclusive access 43. This is intended to prevent data in the page from being rewritten by a write request from the host 9 during data copy processing between pages, which will be described later.
[0100] Next, the storage controller 2 identifies a page number 31 that is not included in the page numbers 44 of the address translation table 40. The page 16 that corresponds to this 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 number of the unallocated page to the page number 44 of the address translation table 40, and sets No to the page unit exclusive 43.
[0102] The storage controller 2 copies data to unallocated pages for all parcels 15 to be deleted, and then copies data to the physical drives 3 shown in the middle of Fig. 9. Specifically, the storage controller 2 copies data from the physical drive 3 (physical drive E) that was last added to the 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 removes the physical drive E from the distributed parity group 10 shown in the lower part of Figure 9, enables the power saving function of the physical drive E or stops the power supply, and sets the drive status 52 of the entry in the drive operation control table 50 corresponding to the physical drive E to the power saving status 61.
[0104] The above is an explanation of the operation of the storage device 1 to set the physical drive 3 to the power saving state 61 in accordance with the amount of data and access load of the LUN 14 and to reduce power consumption.
[0105] When the storage device 1 processes a data write request from the host 9 using four physical drives 3 (A, B, C, D), writes to these physical drives may be concentrated, causing drive failure.
[0106] To prevent this, the storage device 1 swaps the physical drives 3 in the power saving state 61 with the physical drives 3 in the accessible state 60, which have a larger write volume than the physical drives 3 in the power saving state 61, in order to level out the drive writes. An example of this operation will be described.
[0107] 10, the flow of the process of leveling the number of drive writes using the distributed parity group 10 when replacing the physical drives 3 will be described. 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 a write request 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 in the amount of data written for one day is calculated. If this difference exceeds the capacity of the physical drive 3, the value of the write threshold exceedance count 55 is incremented by 1.
[0109] The storage controller 2 obtains the value of the number of times the write threshold has been exceeded 55, and searches for a set of physical drives 3 in which the number of times the write threshold has been exceeded 55 of the physical drives 3 in the accessible state 60 is greater than the number of times the write threshold has been exceeded 55 of the physical drives 3 in the power saving state 61.
[0110] FIG. 10 shows an example in which a pair of physical drives A and E has been identified. The storage controller 2 disables the power saving function or starts supplying power to physical drive E. Next, the storage controller 2 copies the data on physical drive A to physical drive E, as shown in the upper part of FIG. 10.
[0111] 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 1 to the distributed parity group number 53 of the entry corresponding to physical drive E in the drive operation control table 50, and sets 1 to the drive serial number 54 within the distributed parity group 10. Then, the storage controller 2 sets "none" to the distributed parity group number 53 of the entry corresponding to physical drive A, and sets "none" to the drive serial number 54 within the distributed parity group 10.
[0112] This allows the physical drive A, which is highly likely to experience a drive failure due to data writing, to be replaced with the physical drive E, which is less likely to experience a drive failure, without changing the parcel mapping 20, thereby leveling out the drive writes.
[0113] The leveling process will be described in detail below.
[0114] 11 is a diagram showing an example of a drive replacement progress management table 70 stored in the storage controller 2. The drive replacement progress management table 70 is information for managing the progress of data copying between physical drives 3, and is stored, for example, in the memory 5. The drive replacement progress management table 70 stores entries each consisting of a replacement source drive name 71, a replacement destination drive name 72, and a switched address 73. One entry corresponds to a set of physical drives 3 to which data is to be copied.
[0115] The replacement source drive name 71 is a field for storing the identifier of the physical drive 3 with the most write threshold exceedance count 55 .
[0116] The replacement destination drive name 72 is a field for storing the identifier of the physical drive 3 with the least number of times 55 that the write threshold has been exceeded.
[0117] The switched address 73 is a field that stores the location information of the storage area where data copying has been completed.
[0118] FIG. 12 is a flowchart illustrating an example of the drive replacement start process executed by the processor 4.
[0119] The processor 4 executes the drive swap start process S1, for example, periodically or in response to a request from the user of the 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 useful life of an SSD is measured in years and the DWPD is a threshold value measured in days, so the drive swap process using the number of times the DWPD is exceeded as an indicator may be performed at a frequency of about one week or one month. This period may also be changed in response to an instruction from the user of the storage device 1, for example.
[0120] 12, only one set of physical drives 3 is selected for replacement. The processor 4 may execute step S1 multiple times in one cycle to start replacing multiple sets of physical drives 3.
[0121] The processor 4 refers to the drive operation control table 50, lists the entries whose drive status 52 is the accessible status 60, and identifies the entry whose write threshold exceedance count 55 is the largest (step S2).
[0122] The processor 4 refers to the drive operation control table 50, lists the entries whose drive state 52 is the power saving state 61, and identifies the entry whose write threshold exceedance count 55 is the smallest (step S3). This makes it possible to effectively balance writes among the physical drives 3.
[0123] Here, in step S2, the entry with the most number of times 55 the write threshold has been exceeded is selected, and in step S3, the entry with the least number of times 55 the write threshold has been exceeded is selected, but this may be changed depending on the operating status of the storage device 1, as long as it is in line with the purpose of the present invention of searching for a pair with a large difference in the number of times the write threshold has been exceeded.
[0124] For example, in a situation where the storage device 1 has a large number of physical drives 3 and searching all entries would have an adverse effect on other processes to be performed by the processor 4, a method may be used to select entries whose write threshold exceedance count 55 is greater than a predetermined first threshold or less than a predetermined second threshold that is smaller than the first threshold. Alternatively, a combination of a drive in a power-saving state and a drive in an accessible state whose write threshold exceedance count 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 55 the write threshold of the entry selected in step S2 and the number of times 55 the write threshold of the entry selected in step S3, and determines whether or not the difference is equal to or greater than the replacement threshold (step S4). This makes it possible to avoid unnecessary replacement of the physical drive 3 and a decrease in performance of the storage device 1.
[0126] Here, the replacement threshold may be dynamically changed if it is in line with the purpose of selecting a drive with a large difference in the number of times 55 the write threshold is exceeded between the physical drives 3. For example, a method may be used in which the difference between the average values of the top 5% and bottom 5% of the frequency distribution of the number of times 55 the write threshold is exceeded is used as the replacement threshold. Also, step S4 may be omitted.
[0127] If the determination result in step S4 is Yes, processor 4 adds a new entry to the replacement progress management table 70, and stores 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 disables the power saving function or starts supplying power to the physical drive 3 corresponding to the drive name 51 of the entry identified in step S3 (step S6).
[0129] Subsequently, the processor 4 sets the drive status 52 of the entry identified in step S2 to the replacement source ready status 62, and sets the drive status 52 of the entry identified in step S3 to the replacement destination ready status 63 (step S7).
[0130] On the other hand, if the determination result in step S4 is No, the drive replacement start process S1 is ended.
[0131] This concludes the description of the processing in step S1.
[0132] FIG. 13 is a flowchart illustrating an example of the drive replacement process executed by the processor 4.
[0133] The processor 4 periodically executes the drive swapping process S10. For example, the processor 4 executes the process of S10 to the extent that the processing performance of data read / write requests from the host 9 is not adversely affected.
[0134] The processor 4 selects an entry to be processed from the drive replacement progress management table (step S11). This selection method may always select from the top entry, or may select each entry in order.
[0135] The 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 the physical drive 3 corresponding to the source drive name 71 of the entry selected in step S11 to read data by specifying the copy target address calculated in step S12, and stores the data in the memory 5 (step S13).
[0137] The processor 4 requests the physical drive 3 corresponding to the destination drive name 72 of the entry selected in step S11 to write data by 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 in the switched address 73 of the entry selected in step S11 (step S15).
[0139] The 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 swap-source drive name 71 (step S16).
[0140] If the determination result in step S16 is Yes, the processor 4 enables the power saving function of the physical drive 3 corresponding to the swap source drive name 71 or stops the power supply (step S17).
[0141] Next, processor 4 identifies an entry from drive operation control table 50 that has a physical drive name 51 that matches the replacement source drive name 71, and sets the drive state 52 of that entry to power saving state 61. Furthermore, processor 4 identifies an entry from drive operation control table 50 that has a physical drive name 51 that matches the replacement destination drive name 72, and sets the drive state 52 of that entry to accessible state 60 (step S18).
[0142] Then, the processor 4 deletes the entry selected in step S11 from the drive replacement progress management table .
[0143] On the other hand, if the determination result in step S16 is No, the drive replacement process S10 is ended.
[0144] This concludes the description of the process in step S10.
[0145] FIG. 14 is a flowchart illustrating an example of the destage process executed by the processor 4.
[0146] When the storage device 1 receives a data write request from the host 9, it stores the data to be written in the memory 5. Then, by destaging processing, the data is written to the physical drive 3 corresponding to the address of the LUN 14. Fig. 14 shows an example of processing for writing data to the correct physical drive 3 even if the physical drive 3 to which the data is to be written is undergoing drive swap processing.
[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 state 52 of the entry in the drive operation control table 50 corresponding to the physical drive 3 identified in step S21, and determines whether it is in the swap source preparation state 62 (step S22).
[0149] If the determination result in step S22 is Yes, the processor 4 identifies an entry having a source drive name 71 that matches the name of the physical drive 3 identified in step S21 from the drive replacement progress management table 70, and acquires the switched address 73. It is determined whether the address identified in step S21 is less than the switched address 73 (step S23).
[0150] If the determination result in step S23 is Yes, the processor 4 sets the physical drive 3 corresponding to the replacement 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 determination result in step S22 is No, or if the determination result in step S23 is No, the processor 4 requests the physical drive 3 to be processed to write data to store the data in the memory 5 at the address identified in S21 (step S25).
[0152] This concludes the description of the process in step S20.
[0153] FIG. 15 is a flowchart illustrating an example of the stage processing executed by the processor 4.
[0154] When the storage device 1 receives a data read request from the host 9, it searches whether the data to be read is stored in the memory 5. If it is determined as a result of the search that the data to be read is not stored in the memory 5, the storage device 1 reads the data by stage processing from the physical drive 3 corresponding to the address of the LUN 14. Fig. 15 shows an example of processing for reading data from the correct physical drive 3 even if the physical drive 3 to which the data is to be written is undergoing drive swap processing.
[0155] However, since there are some parts where the same processing as in the flowchart of FIG. 14 is executed, the differences from FIG. 14 will mainly be explained.
[0156] The processor 4 executes the processes from step S21 to step S24 shown in FIG. 14 to determine the physical drive 3 to be the target of the read process.
[0157] Then, the processor 4 requests the physical drive 3 that is the target of the read process to read data from the address identified in S21 in order to store the data in the memory 5 (step S31).
[0158] This concludes the description of the process in step S30.
[0159] The above describes a method in which the storage device 1 reduces power consumption by excluding a physical drive 3 from the distributed parity group 10 and setting it to a power-saving state, while also suppressing the occurrence of drive failures due to increased data writing to a specific physical drive 3 by replacing the physical drive 3 belonging to the distributed parity group 10 with the aforementioned physical drive 3 set to a power-saving state.
[0160] By utilizing distributed RAID, physical drives 3 can be put into a power-saving state on a per-unit basis, and since no data is read or written to the physical drives 3, the power supply to the physical drives can be stopped, further increasing the effect of reducing power consumption. [Example]
[0161] An embodiment of the present invention for a conventional RAID configuration will be described below. The main difference from the first embodiment is that the physical drives 3 are set to a power saving state for each parity group 17, and drive replacement processing is performed.
[0162] The advantage of this embodiment is that it can also be applied to a storage device 1 that does not have a distributed RAID function.
[0163] The following mainly describes the differences from the first embodiment. The contents not described in this embodiment are the same as the configuration and processing in the first embodiment.
[0164] The storage controller 2 (processor 4) configures a parity group 17 from a plurality of physical drives 3 using conventional RAID technology.
[0165] Subsequently, the storage controller 2 registers the parity group 17 in the pool 13. Here, a method may be used in which the LUN 14 created from the parity group 17 is registered in the pool 13.
[0166] For example, if the storage controller 2 determines that the data volume and access load of the LUN 14 are smaller than the total capacity and processing capacity of the physical drives 3 and that stopping the physical drives 3 on a parity group 17 basis will have little adverse effect on the data read / write operation of the host 9, it selects the parity group 17 with the largest average value of the number of times the write threshold has been exceeded 55 as the target for deletion. This is intended to reduce the frequency of replacement processing on a parity group 17 basis, as described below. However, if the storage device 1 is operated for a long period of time, the effect of this may be limited, so any parity group 17 may be selected. Alternatively, it may select one of the parity groups 17 whose average value of the number of times the write threshold has been exceeded 55 exceeds a predetermined threshold.
[0167] The storage controller 2 copies the data of 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 the pool 13, and enables the power saving function of or stops the power supply to the physical drives 3 that belong to the parity group 17 to be deleted.
[0168] The operation of this embodiment will be outlined with reference to FIG.
[0169] The storage device 1 manages the number of times 55 the data write threshold has been exceeded for each physical drive 3 .
[0170] The storage controller 2 periodically selects a parity group 17 with a higher average number of times 55 the data write threshold has been exceeded for the physical drives 3 in the parity group 17 and a parity group 17 with a lower average number of times 55 the data write threshold has been exceeded for the physical drives 3 in the parity group 17, and calculates the difference between the two.
[0171] If the calculated difference is equal to or greater than a certain value, the storage controller 2 disables the power saving function or starts supplying power to the physical drives 3 belonging to the parity group 17 with the lowest average number of times 55 the data write threshold has been exceeded.
[0172] The storage controller 2 then switches the page allocation information by copying the data of the page 16 that belongs to the parity group 17 with a high number of times the data write threshold has been exceeded 55 to the page 16 that belongs to the parity group 17 with a low number of times the data write threshold has been exceeded 55. After repeating this process page by page, the storage controller 2 enables the power saving function of the physical drive 3 that belongs to the parity group 17 with a high average number of times the data write threshold has been exceeded 55 or stops the power supply.
[0173] The details of this embodiment will be described below.
[0174] 17 is a diagram showing an example of a parity group operation control table 80 stored in the storage controller 2. The parity group operation control table 80 is information for managing the parity groups 17 in this embodiment, and is stored, for example, in the memory 5. The parity group operation control table 80 stores entries each consisting of a parity group number 81, a parity group status 82, a drive name 83, and a write threshold exceedance count 84. One entry corresponds to one parity group 17.
[0175] The parity group number 81 is a field that stores the identifier of the parity group 17 .
[0176] The parity group status 82 is a field that stores the operating status of the parity group 17 .
[0177] The drive name 83 is a field that stores the identifier of the physical drive 3 that belongs to the 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, the purpose of this field is to express the possibility of drive failure due to data writing, and a statistical value other than the average value may be used if it is in line with this purpose. For example, the maximum value may be used.
[0179] In this embodiment, the page management table 30 and the address translation table 40 described in the first embodiment are also used.
[0180] FIG. 18 is a flowchart illustrating an example of the parity group swap processing executed by the processor 4.
[0181] The processor 4 executes the parity group exchange process S40, for example, periodically or in response to an instruction from the storage user, in the same manner as the drive exchange start process S1 described in the first embodiment.
[0182] The processor 4 refers to the parity group operation control table 80, lists entries whose parity group state 82 is the accessible state 60, and selects the entry with the largest number of times 83 that the write threshold has been exceeded as the replacement source parity group 17 (step S41).
[0183] The processor 4 refers to the parity group operation control table 80, lists entries whose parity group state 82 is the power saving state 61, and selects the entry with the smallest number of times 83 that the write threshold has been exceeded as the replacement destination parity group 17 (step S42).
[0184] Here, in steps S41 and S42, similar to steps S2 and S3 in the first embodiment, the selection may be made by a method other than the method of selecting the most or least number of entries.
[0185] Then, the processor 4 calculates the difference between the write threshold exceedance count 83 of the replacement source parity group 17 and the replacement destination parity group 17, and determines whether or not it is equal to or greater than the replacement threshold (step S43).
[0186] Here, the threshold value used for the determination in step S43 may be dynamically changed, similar to step S4, and step S43 may be omitted.
[0187] If the determination result in step S43 is Yes, the processor 4 disables the power saving function or starts supplying power to the physical drives 3 belonging to the replacement destination parity group 17, and registers them in the pool 13 (step S44).
[0188] Next, processor 4 identifies an entry having parity group number 32 that matches the number of replacement source parity group 17 from page management table 30, and acquires page number 31. From address conversion table 40, processor 4 identifies an entry having page number 44 that matches acquired page number 31, and sets page unit exclusion 43 to Yes (step S45). This temporarily halts reading and writing of data from and to LUN address 42 of that entry.
[0189] Subsequently, the processor 4 reads the data of the page selected in step S45 from the physical drive 3 to the memory 5 (step S46).
[0190] The processor 4 identifies the unallocated page 16 belonging to the destination parity group 17 from the page management table 30 and the address conversion table 40, and writes the data in the memory read in step S46 to the physical drive 3 corresponding to the unallocated page (step S47).
[0191] The processor 4 stores the number of the unallocated page 16 identified in step S47 in the page number 44 of the entry of the address translation table 40 identified in step S45 (step S48).
[0192] Then, the processor 4 sets No to the page unit exclusion 43 of the entry in the address translation table 40 identified in step S45 (step S49). This makes it possible to read and write data using the page 16 belonging to the replacement destination parity group 17.
[0193] Thereafter, the processor 4 determines whether or not there is an unprocessed page 16 belonging to the replacement source parity group 17 (step S50).
[0194] If the determination result in step S50 is Yes, the process of step S45 is executed.
[0195] If the determination result in step S50 is No, the processor 4 excludes the replacement source parity group 17 from the pool 13, and enables the power saving function or stops the power supply to the physical drives 3 belonging to the replacement source parity group 17 (step S51).
[0196] On the other hand, if the determination result in step S43 is No, the parity group replacement process S40 is terminated.
[0197] This concludes the description of the process in step S40.
[0198] The above describes a method in which the storage device 1 reduces power consumption by excluding a parity group 17 configured using conventional RAID technology from the pool 13 and setting the physical drives 3 belonging to that parity group 17 to a power-saving state, while periodically replacing the parity group 17 to prevent drive failures caused by increased data writing to a specific physical drive 3.
[0199] The advantage of using conventional RAID technology is that it can also be applied to a storage device 1 that does not have a distributed RAID function. [Example]
[0200] An embodiment will be described below in which there is a difference in write frequency between data in a conventional RAID configuration. The main difference from embodiment 2 is that embodiment 3 concentrates frequently accessed data in some parity groups 17, and sets the physical drives 3 belonging to the remaining parity groups 17 to a power-saving state without excluding them from the pool 13. Note that some or all of the selected data may be moved regardless of access frequency.
[0201] The physical drives 3 that are set to the power-saving state may receive requests from the host 9 to read and write data, so these physical drives 3 are set to a power-saving state to the extent that data can be read and written without prior preparation. For example, the APST function provided by SSDs is used. This makes it possible to read and write data while maintaining the power-saving state, and power supply to the physical drives 3 is maintained in the power-saving state.
[0202] In this embodiment, by not excluding the parity group 17 from the pool 13, there is an advantage that power consumption can be reduced even in situations where there is little leeway in the capacity of the pool 13 compared to the capacity of the LUN 14.
[0203] The following mainly describes the differences from the second embodiment. The contents not described in this embodiment are the same as the configuration and processing in the second embodiment.
[0204] FIG. 19 is a diagram showing an example of a page management table 90 in this embodiment, which is stored in the storage controller 2.
[0205] The page management table 90 is information for managing the pages 16 in this embodiment, and is stored, for example, in the memory 5. The page management table 90 stores entries each consisting of a page number 31, a parity group number 32, an address within the parity group 93, and a data write frequency 94. One entry corresponds to one page 16.
[0206] The page number 31 and the parity group number 32 are omitted here as they were explained in the first embodiment. The address in the parity group 93 indicates the address in the parity group of the page 16 corresponding to the page number 31.
[0207] The data write frequency 94 is a field that stores information indicating the frequency of data writes to page 16 corresponding to page number 31. Here, the data write frequency may be a relative value between pages 16, or the number of write requests from the host 9 may be stored as an absolute value. For example, within all pages or each parity group, the specified percentage of pages with the highest write frequencies may be "high," or a write frequency that exceeds a specified threshold may be defined as "high."
[0208] In this embodiment, the address conversion table 40 described in the first embodiment and the parity group operation control table 80 described in the second embodiment are also used.
[0209] FIG. 20 is a flowchart illustrating an example of the parity group load transfer process executed by the processor 4.
[0210] The processor 4 executes the parity group load transfer process S60 periodically or in response to an instruction from the storage user, similar to the parity group swap process S40 explained in the second embodiment.
[0211] The processor 4 refers to the parity group operation control table 80, lists entries whose parity group status 82 is the accessible status 60, and selects the entry with the largest number of times 83 that the write threshold has been exceeded as the transfer source parity group 17 (step S61).
[0212] The processor 4 refers to the parity group operation control table 80, lists entries whose parity group state 82 is the power saving state 61, and selects the entry with the smallest number of times 83 that the write threshold has been exceeded as the transfer destination parity group 17 (step S62).
[0213] Here, in steps S61 and S62, similar to steps S41 and S42 in the second embodiment, the selection may be made by a method other than the method of selecting the most or least number of entries.
[0214] Then, the processor 4 calculates the difference between the write threshold exceedance count 83 of the transfer source parity group 17 and the transfer destination parity group 17, and determines whether or not it is equal to or greater than the threshold (step S63).
[0215] Here, the threshold value used for the determination in step S63 may be dynamically changed, similar to step S43.
[0216] If the determination result in step S63 is Yes, the processor 4 disables the power saving function for the physical drives 3 that belong to the transfer destination parity group 17 (step S64).
[0217] Next, processor 4 identifies an entry from page management table 90 that has parity group number 32 that matches the number of transfer source parity group 17 and whose data write frequency 94 is "high," and obtains page number 31. From address conversion table 40, processor 4 identifies an entry that has page number 44 that matches the obtained page number 31, and sets page unit exclusion 43 to Yes (step S65). This temporarily halts reading and writing of data from / to the LUN address 42 of that entry.
[0218] The processor 4 reads the data of the page selected in step S65 from the physical drive 3 to the 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 conversion table 40, and writes the data in the memory read in step S66 to the physical drive 3 corresponding to the unallocated page (step S67).
[0220] Subsequently, the processor 4 executes the processes of steps S48 and S49 described in the second embodiment.
[0221] Thereafter, the processor 4 determines whether or not there is any page 16 belonging to the transfer source parity group 17 whose data write frequency 94 is "high" and which has not yet been processed (step S68).
[0222] If the determination result in step S68 is Yes, the process of step S65 is executed.
[0223] If the determination result in step S68 is No, the processor 4 enables the power saving function for the physical drives 3 that belong to the transfer source parity group 17 (step S69).
[0224] On the other hand, if the determination result in step S63 is No, the parity group load transfer process S60 is terminated.
[0225] This concludes the description of the process in step S60.
[0226] The above describes a method in which the storage device 1 moves data with a high data write frequency between parity groups 17 configured using conventional RAID technology, thereby reducing power consumption by setting physical drives 3 belonging to parity groups 17 with low access frequencies into a power-saving state, while also preventing drive failures due to increased data writing to specific physical drives 3.
[0227] By not excluding the parity group 17 from the pool 13, power consumption can be reduced even in situations where there is little leeway in the capacity of the pool 13 compared to the capacity of the LUN 14.
[0228] The present invention is not limited to the above-described embodiments and includes various modifications. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, or to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add, delete, or replace part of the configuration of each embodiment with other configurations.
[0229] Furthermore, the above-mentioned components, functions, processing units, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. Furthermore, the above-mentioned components, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the programs, tables, and files that realize each function can be stored in memory, a storage device such as a hard disk or SSD, or a storage medium such as an IC card or SD card.
[0230] In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the product. In reality, it can be assumed 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 state, 61...power saving state, 62...replacement source preparation state, 63...replacement destination preparation state, 70...drive replacement progress management table, 80...parity group operation control table, 90...page management table
Claims
1. A storage device, Multiple physical drives, a storage controller for controlling access to the plurality of physical drives; The storage controller recording statistical information regarding data writing to each of the plurality of physical drives; performing a swapping process between one or more first physical drives in a non-power saving state and one or more second physical drives in a power saving state, the second physical drives being different from the first physical drives and the statistical information indicating less writing than the one or more first physical drives; the replacement process sets the one or more second physical drives to the non-power saving state; moving data from the one or more first physical drives to the one or more second physical drives set in the non-power saving state; The storage device sets the one or more first physical drives to which the data has been moved to the power saving state.
2. 2. The storage device according to claim 1, a part of the plurality of physical drives constitutes a distributed parity group; The storage controller defining one or more virtual parity groups consisting of multiple virtual drives; The data of the virtual parity group is stored in a storage area allocated from the distributed parity group, The replacement process includes: adding the second physical drive outside the distributed parity group to the distributed parity group after setting the second physical drive to the non-power saving state; a storage device that sets the first physical drive included in the distributed parity group to the power saving state after excluding the first physical drive from the distributed parity group;
3. 3. The storage device according to claim 2, The power saving state of the first physical drive and the second physical drive is a state in which power supply to the physical drives is stopped.
4. 2. The storage device according to claim 1, The storage controller determines to execute the replacement process when a difference in writing between the one or more first physical drives and the one or more second physical drives is equal to or greater than a threshold.
5. 2. The storage device according to claim 1, the plurality of physical drives includes a plurality of parity groups; the one or more first physical drives constitute a first parity group; the one or more second physical drives constitute a second parity group; The replacement process includes: adding the second parity group to a pool after setting the second parity group to the non-power saving state; The storage device sets the first parity group included in the pool to the power saving state after excluding the first parity group from the pool.
6. 6. The storage device according to claim 5, The power saving state of the first physical drive and the second physical drive is a state in which power supply to the physical drives is stopped.
7. 2. The storage device according to claim 1, the plurality of physical drives includes a plurality of parity groups; the one or more first physical drives constitute a first parity group; the one or more second physical drives constitute a second parity group; the first parity group and the second parity group are included in one pool, The replacement process includes: After setting the second parity group to the non-power saving state, data determined to be written frequently in the first parity group is moved to the second parity group set to the non-power saving state; After the data is moved, the first parity group to which the data has been moved is set to the power saving state; The storage device, wherein the first parity group in the power saving state is in a state in which data can be read and written.
8. 1. A method for controlling power consumption of a physical drive, comprising: Records statistics about data writes to each of multiple physical drives, performing a swapping process between one or more first physical drives in a non-power saving state and one or more second physical drives in a power saving state, the second physical drives being different from the first physical drives and the statistical information indicating less writing than the one or more first physical drives; the replacement process sets the one or more second physical drives to the non-power saving state; moving data from the one or more first physical drives to the one or more second physical drives set in the non-power saving state; setting the one or more first physical drives to which the data has been moved to the power saving state.
Citation Information
Patent Citations
Storage device and method of controlling the same
JP2013041394A
Storage control device, storage device, and control program
JP2014211849A
Information processor and information processing method
JP2020187566A
Storage device and control method
JP2010033261A