WO2016013202A1 - ストレージ装置、コンピュータシステム、アクセス制御方法および記録媒体 - Google Patents

ストレージ装置、コンピュータシステム、アクセス制御方法および記録媒体 Download PDF

Info

Publication number
WO2016013202A1
WO2016013202A1 PCT/JP2015/003631 JP2015003631W WO2016013202A1 WO 2016013202 A1 WO2016013202 A1 WO 2016013202A1 JP 2015003631 W JP2015003631 W JP 2015003631W WO 2016013202 A1 WO2016013202 A1 WO 2016013202A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage medium
access
write
storage
chunk
Prior art date
Application number
PCT/JP2015/003631
Other languages
English (en)
French (fr)
Inventor
周吾 小川
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2016013202A1 publication Critical patent/WO2016013202A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • the present invention relates to a storage device and the like.
  • RAID Redundant Array of Inexpensive Disks
  • RAID5 Redundant Array of Inexpensive Disks
  • RAID6 Redundant Array of Inexpensive Disks
  • the storage area of each storage medium is usually divided by an area of a predetermined fixed size (chunk size or stripe size) called a chunk.
  • a chunk is a unit of striping (data is divided and transferred to a plurality of the storage media).
  • RAID 5 includes four storage media (each storage medium is referred to as a storage medium 1,..., A storage medium 4).
  • data is divided into six chunks as an example in units of a fixed size (the divided chunks are referred to as chunk 1,..., Chunk 6).
  • chunks 1 to 3 are stored in the storage media 1 to 3, and the parity of the chunks 1 to 3 is stored in the fourth storage medium 4.
  • Chunks 1 to 3 (in the case of including parity chunks, chunks 1 to 4) are called “RAID stripes”.
  • the order of chunks and parity is changed for each stripe. For example, in the next stripe, each of chunks 4 to 6 is stored in storage media 2 to 4, and the parity of chunks 4 to 6 is stored in storage medium 1. .
  • data between storage media is provided with redundancy such as mirror and parity, thereby preventing data loss due to a failure of the storage medium and improving reliability.
  • RAID is used to maximize the performance, capacity, and reliability of HDD (Hard Disk Drive) as a storage medium, but in recent years, an SSD (Solid SSD) using a NAND flash memory as a RAID storage medium. State Drive) is also being used. An outline of the SSD will be described below.
  • ⁇ SSD> For an SSD having an interface similar to that of an HDD, a host as an access source can perform read (Read) access and write (Write) access in the same manner as an HDD.
  • Read read
  • Write write
  • NAND flash memory has different characteristics from HDDs. For example, in a NAND flash memory, the rate of occurrence of bit errors increases as the number of updates of stored data for each area increases. Therefore, there is a limit to the number of times the stored data can be updated in order to maintain a condition in which the NAND flash memory can hold data correctly.
  • the update count (data rewrite count) for each storage area is set to each storage area ( A technique called “wear leveling” / “wear leveling” is used to equalize storage devices).
  • the number of updates in each storage area of the NAND flash memory used in the SSD is represented by the total amount of write processing for the SSD. That is, the total amount of write processing for the SSD determines the life of the SSD.
  • NAND flash memory such as MLC (Multi Level Cell) or TLC (Triple Level Cell), which has multi-valued bits stored in memory cells, achieves large capacity and low cost, but can be updated The number of times is particularly limited. Therefore, the total amount of data that can be written directly related to the life of the SSD is also reduced. That is, the data update frequency and the update amount of the SSD are particularly important from the viewpoint of life.
  • the number of data saved and restored pages associated with block erasure varies depending on the write destination address and the access size for the SSD. Specifically, the smaller the size of the write access, the more pages that are not updated in the NAND flash memory block, and the number of pages that need to be saved increases as the block is erased.
  • the processing load of page evacuation and re-storing associated with erasing (erase) increases and decreases depending on conditions such as the usage status of the NAND flash memory storage area inside the SSD and the status of access to the SSD. Therefore, it is difficult to accurately grasp the load status inside the SSD from the status of the access request to the SSD.
  • the difficulty of grasping the internal load of the SSD means that the SSD can be heavily loaded in an unintended situation, and as a result, a response delay or stop occurs temporarily.
  • the access response delay in SSD has the possibility of affecting as a failure in the form of a timeout in the operation of the entire system, in addition to the performance degradation of the information processing system.
  • Patent Document 1 discloses a system that avoids a response delay by reading redundant data stored in another SSD in a RAID group, instead of reading SSD data in which a response delay has occurred. The technology about is disclosed.
  • the system of Patent Document 1 at least a first storage device including data targeted for a read request is identified from among a plurality of storage devices.
  • the system generates a reconfiguration read request configured to obtain the data from one or more devices other than the first storage device of the plurality of storage devices. This request occurs in response to detecting or predicting that the first storage device will exhibit variable performance including at least one of relatively long response latency or relatively low throughput.
  • Patent Document 2 discloses a technology relating to a system that avoids the simultaneous failure of a plurality of semiconductor storage devices due to differences in the data write frequency to each semiconductor storage device and reduces the risk of data loss.
  • Patent Document 2 when a RAID is configured with an SSD, the number of times of writing / erasing is smoothed by wear leveling in the SSD, and the number of times of writing to each SSD may be made uniform by load distribution by the RAID function. Becomes higher. As a result, there is a high possibility that a plurality of SSDs will fail at the same time, and replacement maintenance work in that case becomes difficult, that is, there is a risk of data loss.
  • the arrangement information is changed by exchanging the data of the stripe block for each semiconductor memory device.
  • the stripe block is managed by a mapping table.
  • a stripe block (unit) in which error correction code data is distributed together with data, data related to a data corruption recovery function, and error correction code data arrangement information are recorded.
  • Patent Document 3 discloses a RAID system that controls a logical block and a drive that stores the parity of the logical block to be different from each other for a plurality of logically continuous blocks of data.
  • a storage area in a disk array is allocated so as to execute a write request or a read request at high speed in a disk array of a RAID 5 level or the like that requests parity reading when data is written. .
  • Patent Document 4 discloses a system that allocates a pool to a plurality of virtual volumes based on a change in a tier level for a physical storage device that occurs when the pool does not satisfy a tier configuration rule.
  • the controller changes the hierarchical configuration of the storage volume.
  • Patent Document 5 Although not a RAID configuration, there is Patent Document 5 as a related technique for changing a storage destination memory according to a memory load.
  • each of a plurality of nodes moves a part of data of a first memory determined to be in a high load state to a second memory of another node, and is interleaved between the first memory and the second memory.
  • the structure provided with the memory control part which performs is disclosed.
  • Patent Document 2 in the RAID stripe, the write data amount of each storage medium is adjusted by changing the chunk mapping between the storage media so that the storage medium composed of a plurality of flash memories does not reach the end of its life at the same time. ing.
  • the data storage destination change is limited to a RAID stripe, and chunk mapping is exchanged between storage media. For this reason, when data is exchanged between an SSD whose response has stopped and another SSD, it is impossible to avoid access to the stopped SSD.
  • Patent Document 3 discloses a method of dynamically forming a RAID stripe. In this method, when dynamically selecting the chunks constituting the RAID stripe, the selection of the RAID stripe having redundancy is performed by selecting so as not to collide with any of the storage media storing the previously selected chunk. Realize dynamic formation. However, Patent Document 3 does not describe anything about reconfiguring a RAID stripe that has been configured based on the state of the storage medium to be used.
  • Patent Documents 1 to 3 it is impossible to simultaneously solve the problem of the lifetime depending on the write data amount and the temporary response delay or stop that occur in the SSD constituting the RAID group. Similarly, in Patent Documents 4 and 5, the problem cannot be solved simultaneously.
  • An object of the present invention is to provide a storage apparatus and the like that can avoid access to a storage medium in which a response delay or stop has occurred and can suppress a decrease in access performance.
  • a plurality of storage media a write amount measurement unit that measures the amount of write data for each storage medium, a load state of each storage medium, and a monitor for each storage medium Allocation of the chunk that is the target of write access for a storage medium monitoring unit that monitors the delay or stop state of the access response and a chunk that is a storage area that is a unit of striping for dividing and transferring data to a plurality of the storage media Based on the amount of data written in the original storage medium and at least one of the load state, response delay or stop state of the storage medium, it is determined that it is necessary to change the storage medium from which the chunk to be accessed for writing is allocated If another storage medium is selected, the chunk to be accessed for writing is transferred to the other storage medium.
  • a configuration change unit for changing the click, the storage device including an access control unit, the to issue a write access request to newly chunks were accessed is provided.
  • a computer system including the storage device and a host.
  • the amount of data written to each of a plurality of storage media is measured, the load state of each storage medium is monitored, and the response delay or stop state of each storage medium is detected.
  • Monitor For chunks that are storage areas that are units of striping for dividing and transferring data to a plurality of the storage media, the amount of write data in the storage medium that is the allocation source of the chunks that are write access targets, and the load state of the storage media, When it is determined that it is necessary to change the storage medium to which the write access target chunk is allocated based on at least one of a response delay or a stopped state, another storage medium is selected, and the write access target chunk is selected. To a chunk of the other storage medium, A storage control method is provided that issues a write access request to a chunk that is newly accessed.
  • a process of measuring a write data amount for each of a plurality of storage media A process of monitoring a load state of each storage medium, and monitoring a delay or a stop state of an access response to each storage medium; For chunks that are storage areas that are units of striping for dividing and transferring data to a plurality of the storage media, the amount of write data in the storage medium that is the allocation source of the chunks that are write access targets, and the load state of the storage media, When it is determined that it is necessary to change the storage medium to which the write access target chunk is allocated based on at least one of a response delay or a stopped state, another storage medium is selected, and the write access target chunk is selected. To change to a chunk of the other storage medium; There is provided a program for causing a computer to execute a process of issuing a write access request to a chunk to be newly accessed.
  • a computer-readable recording medium semiconductor memory, magnetic disk, optical disk, etc.
  • semiconductor memory semiconductor memory, magnetic disk, optical disk, etc.
  • the present invention it is possible to avoid access to a storage medium in which a response delay or stop has occurred, and it is possible to avoid a decrease in access performance of a storage device having a redundant array configuration.
  • FIG. 1 It is a figure which illustrates an example of the system configuration of a first embodiment of the present invention. It is a figure which illustrates the structure of the storage apparatus of 1st embodiment of invention. It is a figure which illustrates the access request table in 1st embodiment of this invention. It is a figure which illustrates the access table in 1st embodiment of this invention. It is a figure which illustrates the RAID management table in 1st embodiment of this invention. It is a flowchart explaining operation
  • a storage device 2 ′ which is a basic configuration of the embodiment according to the present invention, includes a plurality of storage media 21, a write amount measurement unit 26, and a storage medium monitoring unit. 27, a configuration change unit 30 and an access control unit 31.
  • the write amount (write amount) measuring unit 26 measures the write data amount for each storage medium 21.
  • the storage medium monitoring unit 27 monitors the load state of each storage medium and monitors the delay or stop state of the response to access to each storage medium.
  • the configuration change unit 30 assigns the write access target chunk to the write access target chunk based on at least one of the write data amount of the storage medium to which the write access target chunk is assigned and the load state, response delay, or stop state of the storage medium.
  • This storage medium is unsuitable as a data writing destination, and it is determined whether or not a change is necessary. If it is determined that the change is necessary, the configuration changing unit 30 does not correspond to any of the other storage media (write data amount condition, load state, response delay or stop, and is more appropriate as a data write destination. Select another storage medium. Further, the configuration changing unit 30 changes the chunk to be accessed for writing to a chunk of the other storage medium (thus changing the chunk configuration of the stripe to be accessed for writing).
  • the access control unit 31 issues a write access request to the newly accessed chunk.
  • the write amount measuring unit 26, the storage medium monitoring unit 27, the configuration changing unit 30, and the access control unit 31 are configured to realize their functions and processing by a program executed on a computer constituting the storage 2 ', for example. Also good.
  • the write amount measuring unit 26, the storage medium monitoring unit 27, the configuration changing unit 30, and the access control unit 31 may be mounted on a RAID controller or a RAID server.
  • the configuration change unit 30 may include a storage medium access unit 23, a RAID configuration change unit 28, a chunk allocation unit 24, and a RAID management unit 25 shown in FIG.
  • the access control unit 31 may be configured by the access execution unit 22 and the access reissue unit 29 shown in FIG.
  • an integrated virtual storage area is formed by adjusting the amount of data written to a plurality of storage media while avoiding the influence of response delay or response stop of the storage media. For example, while realizing data redundancy between storage media by RAID or the like, it adjusts the write data amount of each storage medium and rejects the effects of temporary response delay or stop of storage media, and consists of multiple storage media
  • the storage area can be configured.
  • a response delay or stop occurs in a storage medium (for example, SSD) that constitutes a RAID
  • the read request or write to the storage medium in the response delay or stop state is performed.
  • delay and stop of the response become obvious.
  • Response delay and stop of each storage medium lead to response delay and stop of the entire RAID group.
  • the storage medium for example, SSD
  • address to which the data is stored the write data amount for each storage medium (for example, SSD) at the time of data storage, and the response delay of the storage medium
  • the configuration of the RAID stripe can be dynamically changed according to the stop state.
  • data redundancy between a plurality of storage media is realized, and the write data amount of each storage medium is adjusted, and the storage medium is not affected by a temporary response delay or a response stop.
  • a storage area can be configured.
  • the storage apparatus 2 includes a configuration based on the storage apparatus 2 ′ shown in FIG.
  • the storage 2 has the following configuration.
  • An access execution unit 22 that converts an access request from the host into an access to the storage medium 21 and manages execution of access processing;
  • a storage medium access unit 23 that makes an access request to each storage medium;
  • a chunk allocation unit 24 that allocates a storage area from each storage medium,
  • a RAID management unit 25 that manages the configuration of RAID stripes,
  • a write amount measuring unit 26 that measures the write data amount for each storage medium;
  • a storage medium monitoring unit 27 that monitors the load state of each storage medium and the response delay or stop state;
  • a RAID configuration changing unit 28 that changes the configuration of the RAID stripe in accordance with the write data amount of the write destination storage medium or the state of the storage medium before issuing the write access request;
  • An access reissuing unit 29 that issues an access request to a chunk that has been newly accessed due to a RAID stripe configuration change.
  • the access execution unit 22 converts an access request from the host into Read or Write access corresponding to each storage medium 21.
  • Write access necessary access to the storage medium is simultaneously generated in order to update redundant data such as parity.
  • the execution status of the access that has been converted or generated is managed, and a response to the execution completion of the processing related to the access request is sent to the host.
  • the storage medium access unit 23 issues an access request converted or generated by the access execution unit 22 to the storage medium, and returns the result to the access execution unit 22 as a response.
  • the chunk allocation unit 24 manages the usage status of each chunk by dividing the storage area of each storage medium into predetermined chunk units. In addition, the chunk allocation unit 24 allocates an unused chunk of the designated storage medium in response to a chunk allocation request accompanying a change in the RAID stripe configuration.
  • the RAID management unit 25 manages the combination of chunks constituting each RAID stripe and the mapping of chunks to the address space of the entire storage area.
  • the write amount measurement unit 26 refers to the information of the write access request actually issued to each storage medium, and measures the write data amount for each storage medium.
  • the storage medium monitoring unit 27 calculates the load from the issuance waiting for each storage medium or the access request being issued through the storage medium access unit 23, and the load is high (the calculated load is equal to or greater than a predetermined threshold). Detect storage media. In addition, the storage medium monitoring unit 27 monitors the response status to the access of each storage medium, and detects a storage medium in a response delay or stopped state.
  • the RAID configuration change unit 28 When the storage medium access unit 23 issues a write access request to each storage medium, the RAID configuration change unit 28, for example, immediately before the issue, writes the write data amount of the write destination (write access target address) storage medium, Check for access load, response delay, or stoppage.
  • a write destination storage medium For a write destination storage medium, a condition in which a write data amount difference with another storage medium is determined in advance, or for a write destination storage medium, a high load, response delay, or response stop condition is satisfied. Determine whether. If the condition is satisfied, the configuration of the chunk is changed so that the write destination storage medium is another storage medium that does not satisfy the condition for the RAID stripe that is the write access request destination.
  • the access reissuing unit 29 has a condition in which a write data amount difference with another storage medium is determined in advance in the write destination storage medium, or a high load, a response delay, and a response stop for the write destination storage medium. Determine whether any of the conditions are met. If the conditions are satisfied: Instruct the storage medium access unit 23 to cancel the write access request to the write destination storage medium, and access the access execution unit 22 to the chunk whose allocation has been changed. Instruct the request to be reissued.
  • FIG. 1 is a diagram illustrating a system configuration according to the first embodiment of this invention.
  • the configuration of the entire system is composed of one or more host terminals (hereinafter referred to as hosts) that access data, one, or a plurality of storage media.
  • the storage 2 includes a network 3 that connects the host 1 and the storage 2.
  • the network 3 may be configured such that a plurality of hosts 1 can be connected to the storage 2. Alternatively, the host 1 and the storage 2 may be directly connected via the network 3.
  • the storage 2 may be configured by a plurality of devices or systems (distributed system or the like) connected by the network 3.
  • the storage 2 includes a storage medium 21, an access execution unit 22, a storage medium access unit 23, a chunk allocation unit 24, a RAID management unit 25, a write amount measurement unit 26, a storage medium monitoring unit 27, and a RAID configuration change.
  • the storage medium 21 stores data of the entire storage area of the storage 2, and is a plurality of SSD storage media configured by NAND flash memory (# 1, # 2,... #N, n is an integer of 2 or more) Consists of Each of the plurality of storage media is composed of SSDs composed of NAND flash memories (SSD # 1 to SSD # n), and constitutes a RAID.
  • the access execution unit 22 receives an access request from the host 1, acquires the RAID stripe configuration information including the access destination address from the RAID management unit 25, and converts it into an access request to the corresponding storage medium 21. In addition, when the access request from the host 1 is Write, the access execution unit 22 generates an access request for updating redundant data in the RAID stripe. The access execution unit 22 converts the access request information received from the host 1 and the correspondence relationship between the converted and generated access request to the storage medium 21 into the access request table storage unit (hereinafter referred to as “access request” in the access execution unit 22. Table 221). Further, the access execution unit 22 manages execution of processing corresponding to each access request from the host 1, instructs the storage medium access unit 23 to issue an access request to the storage medium 21, and displays an access result for the storage medium 21. Receive and return the result to the host 1.
  • FIG. 3 illustrates the configuration of the access request table 221 included in the access execution unit 22.
  • the access request table 221 includes columns for access type, access destination address (the leading 0X indicates hexadecimal (hexadecimal) display), access size, and corresponding access ID.
  • the corresponding access ID is an ID (identifier) indicating access to the storage medium 21 that has been converted or generated.
  • the access execution unit 22 stores information related to the access request in the access request table 221.
  • Write data associated with a Write access request is managed separately.
  • the data format of the access request table 221 is not limited to the format shown in FIG.
  • an identifier representing access to the storage medium 21 is not limited to a numeric ID, and may be in an arbitrary format.
  • the access request table 221 may be provided outside the access execution unit 22 as long as it can be accessed from the access execution unit 22 or the like.
  • the storage medium access unit 23 actually issues an access request for the storage medium 21 converted and generated by the access execution unit 22 to the storage medium 21. Further, the storage medium access unit 23 stores information on each access request for the storage medium 21 in a storage medium access table storage unit (hereinafter referred to as “storage medium access table”) 231 and manages an access request waiting to be issued. To do.
  • storage medium access table storage unit
  • FIG. 4 is a diagram illustrating a configuration of the storage medium access table 231 included in the storage medium access unit 23.
  • the storage medium access table 231 includes columns of access ID, storage medium ID, access type, address, and size.
  • the access ID is an identifier such as an ID that uniquely represents an access request for the storage medium 21 converted and generated by the access execution unit 22.
  • the storage medium ID is an identifier such as an ID representing a storage medium that is an access request issue destination.
  • the access type is an access type (Read, Write).
  • the address and size are an access destination address and an access size.
  • Write data associated with the Write access request is managed separately.
  • the data format of the storage medium access table 231 is not limited to the format shown in FIG.
  • the address and the access size may be expressed in any format such as a byte unit and a sector (512B) unit that is a general storage medium access unit in addition to the chunk unit shown in FIG.
  • the storage medium access table 231 may be provided outside the storage medium access unit 23 as long as it can be accessed from the storage medium access unit 23 or the like.
  • the chunk allocating unit 24 manages the storage area of each storage medium 21 by dividing it into chunks of a certain size, and manages the presence / absence of allocation to the RAID stripe for each chunk in each storage medium 21.
  • the chunk allocation unit 24 allocates an unused chunk from the storage area of the storage medium 21 specified by the RAID configuration change unit 28 when the RAID configuration change unit 28 changes the chunk assigned to the RAID stripe.
  • the RAID management unit 25 manages chunk allocation information of each storage medium for a RAID stripe in a RAID management table storage unit (hereinafter referred to as “RAID management table”) 251.
  • FIG. 5 is a diagram illustrating a configuration of the RAID management table 251 included in the RAID management unit 25.
  • the RAID management table 251 includes columns for address, RAID level, number of chunks, and used chunk (storage medium ID-address).
  • the address is a mapping destination address of the RAID stripe in the storage area space that the storage 2 provides to the host 1.
  • the number of chunks is the number of chunks constituting the RAID stripe.
  • the used chunk (storage medium ID-address) is a combination of the storage medium ID of the chunk constituting each RAID stripe and the address in the storage medium. If the RAID level is not constant, the information is additionally recorded for each RAID stripe.
  • the data format of the RAID management table 251 is not limited to the format shown in FIG.
  • the RAID stripe size is constant and the RAID stripe information mapped in order from the start address of the storage area of the storage 2 is stored, the RAID stripe mapping destination address information (first column) ) Can be omitted.
  • the RAID management table 251 may be provided outside the RAID management unit 25 as long as it can be accessed from the RAID management unit 25 or the like.
  • the write amount measurement unit 26 monitors the write access actually issued from the storage medium access unit 23 to each storage medium 21 and totals the write data amount for each storage medium 21.
  • the storage medium monitoring unit 27 monitors the response time from each storage medium 21 to the access made by the storage medium access unit 23 to each storage medium 21, and detects a response delay or a response stop.
  • the storage medium monitoring unit 27 calculates the access load of each storage medium 21 from either or both of the access request issuance waiting status, the access request being issued, or both, together with detection of response delay and response stop. May be.
  • the RAID configuration changing unit 28 pays attention to the write access request immediately before issuance to the storage medium 21 by the storage medium access unit 23. With this attention, the RAID configuration changing unit 28 uses the information of the write amount measuring unit 26 and the storage medium monitoring unit 27 for the write destination storage medium 21 as the data storage destination. Check if it is appropriate.
  • the RAID configuration changing unit 28 determines that the write destination storage medium 21 is not suitable as a data storage destination as a result of the confirmation, the storage medium 21 that is the allocation source of the write destination chunk in the RAID stripe. To change.
  • the write destination storage medium 21 when the write destination storage medium 21 is in a response delay state, a response stop state, or a high load state, it is determined that it is difficult to newly store data.
  • the previous chunk is changed to that of another storage medium 21 that does not correspond to any of the response delay, response stop, or high load.
  • the RAID configuration changing unit 28 compares the write data amount with respect to the write destination storage medium 21 with the other storage medium 21 having the smallest write data amount or the largest write data amount. As a result of the comparison, when the difference exceeds a predetermined upper limit value or lower limit value, the RAID configuration changing unit 28 may change the write destination chunk to that of another storage medium 21. Good.
  • the access reissuing unit 29 permits the storage medium access unit 23 to actually issue a write access request immediately before issuance.
  • the access reissue unit 29 Instruct the storage medium access unit 23 to cancel the write access request immediately before issuance, Instructs the access execution unit 22 to reissue a write request for a chunk in the RAID stripe whose allocation has been changed.
  • FIG. 6 is a flowchart for explaining the operation in which the storage 2 receives an access request from the host 1 and responds with the result in the first embodiment of the present invention. The operation of the embodiment will be described below with reference to FIG. 6 and FIGS. 1 to 5.
  • step S 11 the access execution unit 22 receives an access request for the storage 2 from the host 1 and registers it in the access request table 221.
  • step S12 the access execution unit 22 refers to the RAID management table 251 of the RAID management unit 25, determines a RAID stripe to be an access destination, and converts the read and write access to the chunks constituting the RAID stripe.
  • the conversion procedure for Read and Write access to chunks is the same as that of generally known RAID, and is not included in the present invention.
  • the access execution unit 22 requests the storage medium access unit 23 to execute the converted Read and Write access.
  • the access execution unit 22 registers the access ID for the chunk in the access request table 221 after converting the access request from the host 1.
  • step S 13 the storage medium access unit 23 issues an access request for the chunk received from the access execution unit 22 to the storage medium 21.
  • step S ⁇ b> 14 the storage medium access unit 23 returns a result (response) to the access request from the storage medium 21 to the access execution unit 22.
  • step S15 upon receiving the access request result from the storage medium access unit 23, the access execution unit 22 refers to the access request table 221 and completes all accesses corresponding to the access request from the host 1. Make sure.
  • step S16 if all accesses corresponding to the access request from the host 1 are not completed (No determination in step S16), the access execution unit 22 waits until the other access is completed, and performs the processing from step S14. Execute.
  • step S16 when all accesses corresponding to the access request from the host 1 are completed (Yes in step S16), the access execution unit 22 returns the access request result in response to the host 1, and accesses The request information is deleted from the access request table 221 and the procedure ends.
  • FIGS. 7 and 8 are flowcharts for explaining a procedure in which the storage medium access unit 23 receives an access request for each storage medium 21 from the access execution unit 22 and issues an access request for each storage medium 21 in step S13 of FIG. It is. 7 and 8 are divided for convenience of drawing. The procedure for issuing an access request and responding to the result will be described with reference to FIGS.
  • step S 201 the storage medium access unit 23 registers the access request for each storage medium 21 received from the access execution unit 22 in the storage medium access table 231.
  • step S202 the storage medium access unit 23 selects an access request issued to each storage medium 21 from the access requests registered in the storage medium access table 231.
  • step S203 the storage medium access unit 23 determines whether or not the access request selected in step S202 is Read.
  • step S203 when the access request selected in step S202 is Read (Yes determination in step S203), the storage medium access unit 23 issues the selected access request to the storage medium 21 (step S204) and ends the procedure. To do.
  • step S203 when the access request selected in step S202 is Write (No determination in step S203), the storage medium access unit 23 sends the write destination storage medium 21 and the write address to the RAID configuration change unit 28. The size information is notified (step S205).
  • step S206 the RAID configuration changing unit 28 inquires of the storage medium monitoring unit 27 about whether or not a response delay or a response stop has occurred for the write access request issuance storage medium 21 notified from the storage medium access unit 23. .
  • the RAID configuration changing unit 28 refers to the storage medium access table 231 of the storage medium access unit 23 and confirms whether or not the storage medium 21 that is the write access request destination is in a high load state.
  • step S207 If it is determined in step S207 that the write destination storage medium 21 is in a response delay, response stop, or high load state (Yes determination in step S207), the process proceeds to step S208 (FIG. 8). When the write destination storage medium 21 is not in a response delay, response stop, or high load state (No determination in step S207), the process proceeds to step S209 (FIG. 8).
  • step S208 the RAID configuration changing unit 28 selects a new issue destination of the write access request notified from the storage medium access unit 23 from the storage medium 21 other than the current issue destination.
  • the RAID configuration changing unit 28 refers to the storage medium monitoring unit 27 to determine a storage medium that is neither a response delay, a response stop, nor a high load.
  • the RAID configuration changing unit 28 compares the write data amount of each storage medium 21 acquired from the write amount measuring unit 26 from these storage media, and selects the storage medium having the smallest write data amount as a new write destination. Then, the processing after step S211 is executed.
  • step S209 the RAID configuration changing unit 28 writes the write of each storage medium 21 acquired from the write amount measuring unit 26 for the storage medium 21 that issued the write access request notified from the storage medium access unit 23. Compare the amount of data. As a result of the comparison, the RAID configuration changing unit 28 determines whether there is another appropriate storage medium 21 as the write destination.
  • the RAID configuration changing unit 28 refers to the storage medium access table 231 of the storage medium monitoring unit 27 and the storage medium access unit 23 in the above determination, and the storage medium is not in a response delay, response stop, or high load state. Only 21 is determined as an appropriate write destination.
  • the RAID configuration changing unit 28 compares, for example, the write data amount of the write destination storage medium and the minimum value of the write data amount of each storage medium 21. As a result of the comparison, the RAID configuration changing unit 28 determines that the storage medium 21 having the smallest write data amount is appropriate as the write destination when the write data amount of the write destination storage medium exceeds a predetermined threshold value. You may do it.
  • step S210 (FIG. 8), if there is another storage medium 21 that is an appropriate write destination (Yes determination in step S210), the RAID configuration changing unit 28 becomes the appropriate write destination determined in step S209. The processing from step S211 is continued with the storage medium 21 as a new write destination.
  • step S211 the RAID configuration changing unit 28 requests the chunk allocation unit 24 to allocate an unused chunk for the storage medium 21 to be a new write destination, and allocates it from the chunk allocation unit 24. Receive the address of the given chunk.
  • the RAID configuration changing unit 28 also notifies the chunk allocating unit 24 of the release of the original write destination chunk that is no longer used by newly allocating the chunk.
  • step S212 the RAID configuration changing unit 28 sends, to the RAID management unit 25, the write destination chunk of the write access request selected in step S202, the new write destination storage medium 21, and step S213. Change to the chunk address assigned in.
  • step S213 the RAID configuration changing unit 28 instructs the access reissuing unit 29 to reissue the write access request selected in step S202.
  • the access reissue unit 29 instructs the storage medium access unit 23 to cancel the write access request selected in step S202.
  • the access reissue unit 29 instructs the access execution unit 22 to reissue the write access request selected in step S202 in accordance with the RAID stripe configuration changed in step S213, and ends the procedure.
  • step S210 (FIG. 8), it is assumed that there is no other suitable write destination storage medium 21 and the current write destination is determined to be optimal (No determination in step S210).
  • the RAID configuration changing unit 28 issues the write access request selected in step S202 to the storage medium 21 through the storage medium access unit 23 (step S214).
  • the storage medium access unit 23 notifies the write amount measurement unit 26 that a write for the size of the write data is newly performed on the write request destination storage medium 21 (step S214).
  • step S215 when a predetermined time has passed in a state where the response of the write access issued to the storage medium 21 is not returned (No determination in step S215), the storage medium access unit 23 The process of step S208 is executed for the access being issued.
  • step S201 to S215 By performing the above processing from step S201 to S215, the operation of the storage medium access unit 23 receiving the access request for each storage medium 21 from the access execution unit 22 and issuing the access request for each storage medium 21 is completed.
  • FIG. 9 shows the storage medium 21 of FIG. 2 (included in the storage 2 of FIG. 1).
  • the storage 2 includes six storage media 21A to 21F of the same type.
  • the storage 2 and the host 1 use an address space in units of chunk size. It is assumed that none of the storage media 21A to 21F is in a response delay, response stop, or high load state in the initial state of this example.
  • the RAID configuration is changed to change the write data amount between the storage media. To reduce the difference.
  • the access execution unit 22 (FIG. 2) of the storage 2 that has received an access request from the host 1, it is converted into an access to a chunk divided into different storage media. Conversion to access to the chunk is performed with reference to the RAID management table 251 shown in FIG.
  • the RAID level of each RAID stripe is all RAID 5, and the number of chunks constituting the stripe is all 5.
  • the end of the list of used chunks is a chunk that stores parity information of each RAID stripe.
  • the access request from the host 1 is a write for one chunk for the address 0x00000003.
  • the write access of the write data body for the chunk of the address 0x0000 of the storage medium 21D and the write access for updating the parity for the chunk of the storage medium 21E at the address 0x0000 is converted into two.
  • the storage medium access unit 23 issues a write access to the storage medium 21D and the storage medium 21E.
  • the storage medium access unit 23 confirms that the storage medium 21D is not in a response delay / response stop / high load state.
  • the write data amount of each storage medium is obtained by the write amount measurement unit 26 shown in FIG. It is acquired from the data amount information 261 (for example, held in a storage unit (not shown) of the write amount measuring unit 26).
  • the write data amount information 261 of the storage medium shown in FIG. 11 represents the write data amount for each storage medium by the number of chunks.
  • the write data amount of the storage medium 21D that is the write destination is 20 chunks.
  • the write data amount of the storage medium 21F which is the minimum write data amount, is 10 chunks. For this reason, the chunk at the address 0x0000 of the storage medium 21D assigned to the RAID stripe is released, and an unused chunk (assumed to be 0x0010) of the storage medium 21F is newly assigned.
  • the RAID management unit 25 updates the configuration information of the RAID stripe in the RAID management table 251. Write for the chunk with address 0x0000 in the storage medium 21D is canceled, and the access reissue unit 29 newly creates a write access for the chunk with address 0x0010 in the storage medium 21F.
  • each storage medium responds to the write access to the chunk with the address 0x0000 on the storage medium 21E and the write access to the chunk with the address 0x0010 on the newly created storage medium 21F, which updates the chunk corresponding to the parity of the RAID stripe.
  • the access does not cause the write data amount of each write-destination storage medium to exceed the minimum value of the write data amount by 10 or more from the write data amount information 261 of the storage medium.
  • Write access is issued to the storage medium 21E and the storage medium 21F.
  • the write access process accompanied with the RAID stripe configuration change according to the difference in the write data amount between the storage media at the time of writing the write is completed.
  • the storage medium is changed to a more suitable storage medium according to the write data amount of the write destination storage medium, the response delay and the stop state of the storage medium, and the access target chunk is newly added. Is assigned to the storage medium. Thereby, for example, it is possible to avoid a decrease in access performance of a RAID system configured with an SSD.
  • the storages 2, 2 ' can be realized by using an information processing apparatus (computer).
  • the RAID configuration changing unit 28 and the access reissuing unit 29 can be regarded as a function (processing) unit (software module) of the software program.
  • the configuration changing unit 30, the access control unit 31, the write amount measuring unit 26, and the storage medium monitoring unit 27 in each unit of the storage 2 ′ illustrated in FIG. 12 are regarded as a function (processing) unit of the software program. Can do.
  • An example of a hardware environment capable of realizing these functions (processing) will be described with reference to FIG. However, the division of each part shown in these drawings is a configuration for convenience of explanation, and various configurations can be assumed for mounting.
  • FIG. 13 is a diagram exemplarily illustrating the configuration of the information processing apparatus 1000 that can execute the storages 2, 2 ′ according to the embodiment of the present invention.
  • the information processing apparatus 1000 illustrated in FIG. 13 is a general computer in which the following configurations are connected via a bus (communication line) 1005.
  • I / F A communication interface with an external device (Interface: hereinafter referred to as “I / F”) 1001;
  • the communication I / F 1001 performs communication with the storage 2 and 2 ′ with the host 1.
  • a computer capable of realizing the functions of the block configuration diagrams (FIGS. 2 and 12) or the flowcharts (FIGS. 6, 7, and 8) referred to in the description of the embodiment for the information processing apparatus 1000 shown in FIG.
  • a program is supplied from the network 3 (see FIG.
  • the computer program is read and interpreted by the CPU 1002 of the hardware and executed by the CPU 1002. Further, the computer program supplied to the information processing apparatus 1000 may be stored in a readable / writable volatile storage device (RAM 1004) or a nonvolatile storage device such as the storage device 1006.
  • RAM 1004 readable / writable volatile storage device
  • nonvolatile storage device such as the storage device 1006.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 応答の遅延、停止が発生した記憶媒体に対するアクセスを回避可能とし、冗長アレイ構成のストレージのアクセス性能の低下を回避可能とする。 複数の記憶媒体と、各記憶媒体に対する書き込みデータ量を計測する書き込み量計測部と、前記各記憶媒体の負荷状態を監視するとともに、前記各記憶媒体に対するアクセスの応答の遅延、又は前記各記憶媒体の停止状態を監視する記憶媒体監視部と、ストライピングの単位であるチャンクについて、書き込みアクセス対象の前記チャンクの割り当て元の記憶媒体の書き込みデータ量と、前記記憶媒体の負荷状態、応答の遅延又は停止状態の少なくとも1つに基づき、別の記憶媒体を選択し、書き込みアクセス対象の前記チャンクを、前記別の記憶媒体のチャンクに変更する構成変更部と、新たにアクセス対象となったチャンクに対してアクセス要求を発行するアクセス制御部とを備える。

Description

ストレージ装置、コンピュータシステム、アクセス制御方法および記録媒体
 本発明は、ストレージ装置等に関する。
<RAID>
 複数の記憶媒体を用いて仮想的に単一の記憶領域を提供し冗長性を持たせ信頼性を向上する技術として、RAID(Redundant Array of Inexpensive Disks)が広く用いられている。記憶媒体間の冗長構成の実現に関して、複数のRAIDレベルが存在する。例えばRAID10、RAID5、RAID6等では、通常、各記憶媒体の記憶領域は、チャンクと呼ばれる、予め定められた一定サイズ(チャンクサイズ又はストライプサイズ)の領域で区切られる。チャンクはストライピング(データを複数の前記記憶媒体に分割して転送する)の単位となる。仮想的なアドレス空間に異なる記憶媒体のチャンクを順番に割り当てるストライピングを行うことで、複数記憶媒体の並列動作による性能向上と、複数記憶媒体の容量を合わせた記憶領域を実現する。RAID5は、4台の記憶媒体(各々の記憶媒体を記憶媒体1、…、記憶媒体4と称呼する)で構成される。RAID5では、データは一定サイズのチャンク単位に、一例として6つに分割される(分割されたチャンクをチャンク1、…、チャンク6と称呼する)。この場合、例えばチャンク1~3は記憶媒体1~3に格納され、チャンク1~3のパリティは4台目の記憶媒体4に格納される。チャンク1~3(パリティのチャンクを含ませる場合、チャンク1~4)を「RAIDストライプ」と呼ぶ。チャンクとパリティの順序はストライプごとに変更され、例えば、次のストライプでは、チャンク4~6の各々は記憶媒体2~4に各々格納され、チャンク4~6のパリティは記憶媒体1に格納される。また、RAID0を除き、RAIDでは、記憶媒体間のデータにミラー、パリティ等の冗長性を持たせることで、記憶媒体の障害等によるデータ消失を防止して、信頼性を向上させている。
 RAIDは、記憶媒体であるHDD(Hard Disk Drive)の性能、容量、信頼性を最大化するために用いられているが、近年では、RAIDの記憶媒体として、NANDフラッシュメモリを用いたSSD(Solid State Drive)も用いられつつある。SSDについてその概略を以下に説明する。
<SSD>
 HDDと同様のインタフェースを備えたSSDに対して、アクセス元となるホストは、HDDと同様に、読み出し(Read)アクセス及び書き込み(Write)アクセスが可能である。しかしながら、よく知られているように、NANDフラッシュメモリは、HDDとは異なる特性を有する。例えばNANDフラッシュメモリでは、各領域に対する格納データの更新回数増加に従って、ビットエラーの発生率が上昇する。そのため、NANDフラッシュメモリが正しくデータを保持可能な条件を保つため、格納データの更新回数に制限を持つ。
 SSDでは、NANDフラッシュメモリにおける格納データの更新回数(書き換え回数)の増加に伴うエラー発生を防ぐ(SSDの寿命を延ばす)ために、各記憶領域に対する更新回数(データ書換回数)を各記憶領域(記憶デバイス)間で均一化する「ウェアレベリング(wear levelling / wear leveling)」と呼ばれる技術が用いられる。SSDで用いられるNANDフラッシュメモリの各記憶領域における更新回数は、SSDに対するWrite処理の総量で表される。つまり、SSDに対するWrite処理の総量がSSDの寿命を決定する。
 また、SSDは大容量化が進む一方で、その寿命は短くなりつつある。短寿命化は、記憶デバイスであるNANDフラッシュメモリの更新回数制限の減少による。NANDフラッシュメモリは、近年、製造プロセスの微細化、及び、メモリセルに格納される情報量の多値化によって、大容量化が実現されているが、更新可能な回数は減少している。例えば、メモリセルに格納されるビットを多値化したMLC(Multi Level Cell)又はTLC(Triple Level Cell)等のNANDフラッシュメモリは、大容量化、低コスト化を実現しているが、更新可能な回数の制限が特に少ない。したがって、SSDの寿命に直結するWrite可能な総データ量も減少する。つまり、SSDに対するデータの更新頻度、更新量の削減は、寿命の観点から、特に重要性を増している。
<SSDのアクセス特性>
 更に、SSDでは、HDDと同様のアクセス手段を提供するために、NANDフラッシュメモリのアクセス特性を隠蔽するための様々な処理が行われる。例えば、NANDフラッシュメモリでは、格納されたデータを更新する場合、一度格納されたデータを消去する消去(Erase)操作が必要である。NANDフラッシュメモリにおいて、読み出し及び書き込みは、該読み出し及び書き込みアクセスの単位であるページ単位に行われ、消去(Erase)は、ページを複数まとめたブロック単位となる。NANDフラッシュメモリにおいて、あるページに格納されたデータを更新する場合、一括消去の対象となるブロックに含まれる有効なページに対するデータの退避、及び、再格納が、SSDによって行われる。NANDフラッシュメモリにおいて、ブロックの消去に伴うデータ退避、及び、再格納のページ数は、SSDに対する、書き込み先のアドレス、及び、アクセスサイズによって変化する。具体的には、書き込みアクセスのサイズが小さくなるほど、NANDフラッシュメモリのブロックにおける更新対象外のページが増加して、当該ブロックの消去に伴い退避が必要とされるページ数が増加する。
 また、SSD内部におけるNANDフラッシュメモリの記憶領域に関する使用状況、SSDに対するアクセスの状況等の条件で、消去(Erase)に伴うページの退避、再格納の処理負荷は、増減する。そのため、SSDに対するアクセス要求の状況から、SSDの内部における負荷の状況を正確に把握することは、困難である。SSD内部の負荷の把握が困難であることは、SSDが意図しない状況で高負荷となりえ、結果として、一時的に応答の遅延、若しくは停止が発生することを意味する。
 SSDにおけるアクセスの応答遅延は、情報処理システムの性能低下に加えて、システム全体の動作におけるタイムアウトの形で障害として影響を与える可能性が存在する。
 RAIDを構成するSSDにおいて、応答の遅延、若しくは停止が発生した場合、応答遅延又は停止状態のSSDに対する読み出し(Read)、又は書き込み(Write)が行われると、アクセス要求元に対して応答の遅延、停止が顕在化する。
 つまり、RAIDを構成する各SSDの応答遅延、停止は、RAIDグループ全体の応答遅延、停止に結び付くことになる。
 RAIDグループ全体の応答遅延、停止を回避するためには、応答の遅延、停止が発生したSSDに対するアクセスを避けることが必要である。
 記憶媒体にSSDを用いたRAID構成について説明する。例えば、特許文献1は、応答遅延が発生したSSDのデータを読み出す代わりに、RAIDグループ内の他のSSDに格納されている、冗長関係にあるデータを読み出すことで、応答の遅延を回避するシステムに関する技術を開示する。特許文献1のシステムでは、複数のストレージデバイスのうちの、読み込み要求が対象とするデータを含む少なくとも第1のストレージデバイスを識別する。次に、当該システムは、前記複数のストレージデバイスのうちの前記第1のストレージデバイス以外の1又はそれ以上のデバイスから、前記データを取得するように構成された再構成読み込み要求を生成する。この要求は、第1のストレージデバイスが相対的に長い応答レイテンシ又は相対的に低いスループットの少なくとも一方を含む可変パフォーマンスを示すであろうことを検出又は予測したことに応答して発生する。
 特許文献2は、各半導体記憶装置に対するデータの書き込み頻度に差がつき、複数の半導体記憶装置が同時期に故障することを回避し、データ損失の危険性を低減させるシステムに関する技術を開示する。特許文献2では、SSDでRAIDを構成する場合、SSDにおけるウェアレベリングによる書き込み/消去回数の平滑化が行われるとともに、RAID機能による負荷分散によって、各SSDへの書き込み回数が均一化される可能性が高くなる。これにより、複数のSSDが同時期に故障する可能性が高くなり、その場合の交換保守作業は難しくなる、即ち、データ損失の危険性が生じる。よって、複数の不揮発性の半導体記憶装置に対するデータの書き込み頻度に差をつける必要がある。当該頻度に差をつけるには、各半導体記憶装置に対して、ストライプブロックのデータを入れ替えて配置情報を変更する。ストライプブロックは、マッピング表で管理されている。当該マッピング表には、データと共に誤り訂正符号データを分散させたストライプブロック(単位)と、データ破損の復元機能にかかるデータと、誤り訂正符号データの配置情報とが記録されている。
 特許文献3は、論理的に連続する複数ブロックのデータに対して論理ブロックおよびその論理ブロックのパリティを格納するドライブが全て異なるように制御するRAIDシステムを開示する。特許文献3には、データの書き込み時にパリティの読み出しを要求する、RAID5レベルの様なタイプのディスクアレイにおいて、書き込み要求あるいは読み出し要求の実行を高速にするように、ディスクアレイ内の記憶領域を割り当てる。
 特許文献4は、プールが階層構成ルールを満たさない場合に生じる物理ストレージデバイスに対する階層レベルの変化に基づいて、プールを複数の仮想ボリュームに割り当てるシステムを開示する。特許文献4では、階層レベルを含む階層構成ルールが変更された場合に、コントローラは、ストレージボリュームの階層構成を変更する。
 なお、RAID構成ではないが、メモリの負荷に応じて格納先のメモリを変更する関連技術として、特許文献5がある。特許文献5は、複数のノードの各々は、高負荷状態と判定された第1メモリの一部のデータを、他のノードの第2メモリに移動し、第1メモリと第2メモリとでインタリーブを行うメモリ制御部を備えた構成を開示する。
特表2013-541765号公報 特開2010-15516号公報 特開平8-185275号公報 特開2011-65624号公報 特開2009-237709号公報
 以下に関連技術の分析を記載する。
 上記したように、RAIDのHDDをSSDで置き換える場合、SSDとHDDとで異なる特性を考慮する必要がある。例えばSSDの寿命は、接続元ホストからのWrite総量に依存する。このため、Write量が限界に近づいたSSDは、データ損失を防ぐために、交換が必要である。SSDの交換は新たなコストの発生につながる。よって、可能な限り、SSDの交換の発生頻度を減らすことが望ましい。つまり、SSDのWriteデータ量を削減することが望まれる。
 また、複数のSSDを使用する環境において、各SSDのWriteデータ量を削減するには、SSDに対するWriteデータ量を、直接減らすだけでなく、各SSDに対するWriteデータ量を均一にすることで、特定のSSDが早く寿命を迎えないようにすることが望まれる。
 しかしながら、RAIDを構成するSSDでは、各SSDに対するWriteデータ量の均一化は困難である。その理由として、一般的なRAIDでは、提供するアドレス空間に対する、各SSDの記憶領域のマッピングが固定されていることが挙げられる。つまり、RAIDの提供するアドレス空間に対する各Writeデータの格納先は、Write先のアドレス(Writeアクセス対象のアドレス)によって一意に決定される。このため、RAIDを構成するSSD間において、Writeデータ量の偏りを解消するための、Writeデータ量の調整は困難である。
 また、記憶媒体間で冗長性を持つRAID5、RAID6等のRAIDレベルを用いる場合には、各記憶媒体のチャンクを組み合わせてパリティを形成するため、データの格納先となる記憶媒体、アドレスを自由に選択することは困難である。
 さらに、SSDは、HDDとは異なり、外部から負荷を予測することが困難である。このため、外部からのアクセス要求の負荷が低い状況であっても、一時的に応答の遅延、停止が発生し得る。RAIDを構成するSSDにおいて、応答の遅延、若しくは停止が発生した場合、応答遅延又は停止状態のSSDに対するRead又はWriteが行われると、アクセス要求元に対して、応答の遅延、停止が顕在化する。
 RAIDグループ全体の応答遅延、停止を回避するためには、応答の遅延、停止が発生したSSDに対するアクセスを避けることが必要である。
 特許文献1によれば、RAIDグループに対するReadアクセスは、応答遅延が発生したSSDのデータの代わりに、RAIDグループ内の他のSSDに格納された冗長関係にあるデータを読み出すことで、応答遅延等を回避することは可能である。しかしこれでは、特定のSSDに対するWriteアクセスを回避することは困難である。これは、一般的なRAIDでは、
・各SSDに対する記憶領域のマッピングが固定であり、
・固定されたチャンクの集合でパリティを形成する、
ことに起因する。
 特許文献2では、RAIDストライプにおいて、複数のフラッシュメモリで構成された記憶媒体が同時に寿命を迎えないように、チャンクのマッピングを記憶媒体間で入れ替えることで、各記憶媒体のWriteデータ量を調整している。しかし、特許文献2では、データ格納先の変更は、RAIDストライプ内に限定されており、記憶媒体間で、チャンクのマッピングを交換するものである。このため、応答が停止したSSDと他のSSDとの間でデータを入れ替えた場合に、停止したSSDに対するアクセスを避けることは不可能である。
 特許文献3には、RAIDストライプを動的に形成する方法が開示されている。この方法では、RAIDストライプを構成するチャンクを動的に選択する際に、先に選んだチャンクが格納された記憶媒体のいずれとも衝突しないように選択することで、冗長性を持ったRAIDストライプの動的な形成を実現する。しかしながら、特許文献3には、構成済みのRAIDストライプに対して、使用する記憶媒体側の状態に基づき、該RAIDストライプを再構成することについては何も記載されていない。
 特許文献1~3では、RAIDグループを構成するSSDにおいて発生する、Writeデータ量に依存する寿命、及び、一時的な応答遅延又は停止の問題を同時に解決することはできない。同様に特許文献4および5においても、当該問題を同時に解決することはできない。
 本発明は、上記課題に鑑みて創案されたものである。本発明の目的は、応答の遅延、停止が発生した記憶媒体に対するアクセスを回避可能とし、アクセス性能の低下を抑制可能とするストレージ装置等を提供することにある。
 本発明の1つの側面によれば、複数の記憶媒体と、前記各記憶媒体に対する書き込みデータ量を計測する書き込み量計測部と、前記各記憶媒体の負荷状態を監視するとともに、前記各記憶媒体に対するアクセスの応答の遅延又は停止状態を監視する記憶媒体監視部と、データを複数の前記記憶媒体に分割して転送するストライピングの単位となる記憶領域であるチャンクについて、書き込みアクセス対象の前記チャンクの割り当て元の記憶媒体の書き込みデータ量と、前記記憶媒体の負荷状態、応答の遅延又は停止状態の少なくとも1つに基づき、書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体の変更が必要であると判断した場合、別の記憶媒体を選択し、書き込みアクセス対象の前記チャンクを、前記別の記憶媒体のチャンクに変更する構成変更部と、新たにアクセス対象となったチャンクに対して書き込みアクセス要求を発行するアクセス制御部と、を備えたストレージ装置が提供される。
 本発明によれば、上記ストレージ装置と、ホストを備えたコンピュータシステムが提供される。
 本発明の他の側面によれば、複数の記憶媒体の各々に対する書き込みデータ量を計測し、前記各記憶媒体の負荷状態を監視するとともに、前記各記憶媒体に対するアクセスの応答の遅延又は停止状態を監視し、
 データを複数の前記記憶媒体に分割して転送するストライピングの単位となる記憶領域であるチャンクについて、書き込みアクセス対象の前記チャンクの割り当て元の記憶媒体の書き込みデータ量と、前記記憶媒体の負荷状態、応答の遅延又は停止状態の少なくとも1つに基づき、書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体の変更が必要であると判断した場合、別の記憶媒体を選択し、書き込みアクセス対象の前記チャンクを、前記別の記憶媒体のチャンクに変更し、
 新たにアクセス対象となったチャンクに対して書き込みアクセス要求を発行する、ストレージ制御方法が提供される。
 本発明の他の側面によれば、複数の記憶媒体の各々に対する書き込みデータ量を計測する処理と、
 前記各記憶媒体の負荷状態を監視するとともに、前記各記憶媒体に対するアクセスの応答の遅延又は停止状態を監視する処理と、
 データを複数の前記記憶媒体に分割して転送するストライピングの単位となる記憶領域であるチャンクについて、書き込みアクセス対象の前記チャンクの割り当て元の記憶媒体の書き込みデータ量と、前記記憶媒体の負荷状態、応答の遅延又は停止状態の少なくとも1つに基づき、書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体の変更が必要であると判断した場合、別の記憶媒体を選択し、書き込みアクセス対象の前記チャンクを、前記別の記憶媒体のチャンクに変更する処理と、
 新たにアクセス対象となったチャンクに対して書き込みアクセス要求を発行する処理と、をコンピュータに実行させるプログラムが提供される。
 本発明によれば、該プログラムを記録したコンピュータ読み出し可能な記録媒体(半導体メモリ、磁気ディスク、光ディスク等)が提供される。
 本発明によれば、応答の遅延、停止が発生した記憶媒体に対するアクセスを回避可能とし、冗長アレイ構成のストレージ装置のアクセス性能の低下を回避することができる。
本発明の第一の実施形態のシステム構成の一例を例示する図である。 発明の第一の実施形態のストレージ装置の構成を例示する図である。 本発明の第一の実施形態におけるアクセス要求テーブルを例示する図である。 本発明の第一の実施形態におけるアクセステーブルを例示する図である。 本発明の第一の実施形態におけるRAID管理テーブルを例示する図である。 本発明の第一の実施形態の動作を説明するフローチャートである。 本発明の第一の実施形態の動作を説明するフローチャートである。 本発明の第一の実施形態の動作を説明するフローチャートである。 本発明の第一の実施形態におけるストレージ装置の記憶媒体の構成を例示する図である。 本発明の第一の実施形態におけるRAID管理テーブルを例示する図である。 本発明の第一の実施形態における各記憶媒体のWriteデータ量を例示する図である。 本発明の実施形態の基本概念を示す図である。 本発明の実施形態を実現するための情報処理装置の構成の一例を示す図である。
<基本概念>
 本発明の実施形態の基本概念を説明し、つづいて第一の実施形態について説明する。図12を参照すると、本発明に係る実施形態の基本的な構成であるストレージ装置(以下、「ストレージ」と記載)2´は、複数の記憶媒体21、Write量計測部26、記憶媒体監視部27、構成変更部30およびアクセス制御部31とを備えている。
 Write量(書き込み量)計測部26は、各記憶媒体21に対する書き込みデータ量を計測する。
 記憶媒体監視部27は、各記憶媒体の負荷状態を監視するとともに、各記憶媒体に対するアクセスの応答の遅延又は停止状態を監視する。
 構成変更部30は、書き込みアクセス対象のチャンクの割り当て元の記憶媒体の書き込みデータ量と、記憶媒体の負荷状態、応答の遅延又は停止状態の少なくとも1つに基づき、書き込みアクセス対象のチャンクの割り当て元の記憶媒体がデータ書き込み先として不適であり、変更が必要であるか否かを判断する。そして変更が必要であると判断した場合、構成変更部30は、別の記憶媒体(書き込みデータ量の条件、負荷状態、応答の遅延又は停止のいずれにも該当せず、データ書き込み先としてより適切な別の記憶媒体)を選択する。更に構成変更部30は、書き込みアクセス対象の前記チャンクを、その別の記憶媒体のチャンクに変更(したがって書き込みアクセス先のストライプのチャンク構成を変更)する。
 アクセス制御部31は、新たにアクセス対象となったチャンクに対して書き込みアクセス要求を発行する。
 なお、Write量計測部26、記憶媒体監視部27、構成変更部30、アクセス制御部31は、例えばストレージ2´を構成するコンピュータ上で実行されるプログラムによりその機能、処理を実現するようにしてもよい。Write量計測部26、記憶媒体監視部27、構成変更部30、アクセス制御部31は、RAIDコントローラあるいはRAIDサーバに実装してもよい。
 構成変更部30は、後述する図2に示す記憶媒体アクセス部23、RAID構成変更部28、チャンク割当部24、RAID管理部25で構成してもよい。
 また、アクセス制御部31は、図2に示すアクセス実行部22とアクセス再発行部29とで構成してもよい。
 本発明の実施形態によれば、記憶媒体の応答遅延や応答停止等による影響を回避し、複数の記憶媒体に対する書き込みデータ量を調整することで、統合された仮想的な記憶領域を形成する。例えばRAID等による記憶媒体間のデータ冗長化を実現しつつ、各記憶媒体のWriteデータ量の調整、及び記憶媒体の一時的な応答遅延、又は応答停止からの影響を退け、複数記憶媒体からなる記憶領域を構成可能とする。
 前述したように、RAIDを構成する記憶媒体(例えばSSD)において、応答の遅延、又は停止が発生した場合、応答遅延又は停止状態の記憶媒体に対するRead、又はWriteが行われると、アクセス要求元に対して応答の遅延、停止が顕在化する。各記憶媒体の応答遅延、停止がRAIDグループ全体の応答遅延、停止に結び付く。
 RAIDグループ全体の応答遅延、停止を回避するためには、応答の遅延、停止が発生した記憶媒体に対するアクセスを避けることが必要である。
 そこで、本発明の実施形態によれば、データの格納先となる記憶媒体(例えばSSD)及びアドレスを、データ格納時点の各記憶媒体(例えばSSD)に対するWriteデータ量、及び、記憶媒体の応答遅延、停止状態に応じて、RAIDストライプの構成を、動的に変更することができる。
 本発明の実施形態によれば、複数記憶媒体間のデータ冗長化を実現しつつ、各記憶媒体のWriteデータ量の調整、及び記憶媒体の一時的な応答遅延、又は応答停止の影響を受けずに記憶領域を構成することができる。
<第一の実施形態>
 本発明の第一の実施形態に係るストレージ装置2(以下、「ストレージ2」と記載、図2を参照)は、図12に示すストレージ装置2´を基本とする構成を含む。ストレージ2は、以下の構成を備える。
 ・ホストからのアクセス要求を記憶媒体21に対するアクセスに変換してアクセス処理の実行を管理するアクセス実行部22、
 ・各記憶媒体に対してアクセス要求を行う記憶媒体アクセス部23、
 ・各記憶媒体から記憶領域の割り当てを行うチャンク割当部24、
 ・RAIDストライプの構成を管理するRAID管理部25、
 ・各記憶媒体に対するWriteデータ量を計測するWrite量計測部26、
 ・各記憶媒体の負荷状態、及び応答遅延又は停止状態を監視する記憶媒体監視部27、
 ・Writeアクセス要求を発行する前に、Write先の記憶媒体のWriteデータ量、又は記憶媒体の状態に応じてRAIDストライプの構成を変更するRAID構成変更部28、
 ・RAIDストライプの構成変更によって新たにアクセス対象となったチャンクに対してアクセス要求を発行するアクセス再発行部29。
 アクセス実行部22は、ホストからのアクセス要求を各記憶媒体21に対応するRead又はWriteアクセスに変換する。また、Writeアクセスの場合は、同時に、パリティ等の冗長データを更新するために、記憶媒体に対して必要なアクセスを生成する。更に、変換又は生成されたアクセスの実行状況を管理して、アクセス要求に関する処理の実行完了の応答を、ホストに対して行う。
 記憶媒体アクセス部23は、アクセス実行部22によって変換又は生成されたアクセス要求を記憶媒体に対して発行し、結果をアクセス実行部22に応答として返す。
 チャンク割当部24は、各記憶媒体の記憶領域を一定のチャンク単位に分割して、各チャンクの使用状況を管理する。また、チャンク割当部24は、RAIDストライプの構成変更に伴うチャンクの割り当て要求に対して、指定された記憶媒体の未使用のチャンクを割り当てる。
 RAID管理部25は、各RAIDストライプを構成するチャンクの組み合わせ、及び記憶領域全体のアドレス空間に対するチャンクのマッピングを管理する。
 Write量計測部26は、各記憶媒体に対して実際に発行されたWriteアクセス要求の情報を参照して、記憶媒体毎のWriteデータ量を計測する。
 記憶媒体監視部27は、記憶媒体アクセス部23を通して、各記憶媒体に対する発行待ち、あるいは、発行中のアクセス要求から、負荷を算出し、高負荷状態(算出された負荷が所定の閾値以上)の記憶媒体を検出する。また、記憶媒体監視部27は、各記憶媒体のアクセスに対する応答状況を監視して応答遅延、あるいは停止状態の記憶媒体を検出する。
 RAID構成変更部28は、記憶媒体アクセス部23によって各記憶媒体にWriteアクセス要求を発行するにあたり、例えば、発行の直前に、Write先(Writeアクセス対象のアドレス)の記憶媒体のWriteデータ量と、アクセス負荷、応答遅延、あるいは、停止の有無を確認する。Write先の記憶媒体について、他の記憶媒体とのWriteデータ量の差が事前に決定された条件、又は、Write先の記憶媒体について、高負荷、応答遅延、応答停止のいずれかの条件を満たすかを判断する。条件を満たした場合は、Writeアクセス要求先となるRAIDストライプについて、Write先の記憶媒体が、前記条件を満たさない他の記憶媒体となるように、チャンクの構成を変更する。
 アクセス再発行部29は、Write先の記憶媒体において、他の記憶媒体とのWriteデータ量の差が事前に決定された条件、又は、Write先の記憶媒体について高負荷、応答遅延、応答停止のいずれかの条件を満たすかを判断する。条件を満たしている場合には、・記憶媒体アクセス部23に対して、Write先の記憶媒体へのWriteアクセス要求のキャンセルを指示し、アクセス実行部22に対して、割り当てを変更したチャンクに対するアクセス要求の再発行を指示する。
 本発明の第一の実施形態によれば、RAIDによる記憶媒体間のデータ冗長化を実現しつつ、各記憶媒体のWriteデータ量の調整、及び記憶媒体の一時的な応答遅延、又は応答停止の影響を受けずに、複数の記憶媒体からなる記憶領域の構成を実現することができる。以下、第一の実施形態の詳細について図面を参照して説明する。
<システム構成例>
 図1は、本発明の第一の実施形態のシステム構成を例示する図である。図1を参照すると、本発明の第一の実施形態においてシステム全体の構成はデータにアクセスする1台以上のホスト端末(以下、ホストと記載)1、1つ又は複数の記憶媒体から構成されるストレージ2、ホスト1とストレージ2を接続するネットワーク3を含む。ネットワーク3は、ストレージ2に対して複数のホスト1が接続可能な形態であってもよい。あるいは、ホスト1とストレージ2がネットワーク3により直接接続される形態であってもよい。またストレージ2は、ネットワーク3によって接続された複数の装置又はシステム(分散システム等)によって構成してもよい。
<ストレージの構成例>
 図1に示されるストレージ2の構成の一例について説明する。図2を参照すると、ストレージ2は、記憶媒体21、アクセス実行部22、記憶媒体アクセス部23、チャンク割当部24、RAID管理部25、Write量計測部26、記憶媒体監視部27、RAID構成変更部28およびアクセス再発行部29を備える。
 記憶媒体21は、ストレージ2の記憶領域全体のデータを格納し、NANDフラッシュメモリで構成されたSSDの複数の記憶媒体(#1、#2、・・・#n、nは2以上の整数)から構成される。複数の記憶媒体の各々は、NANDフラッシュメモリで構成されたSSDからなり(SSD#1~SSD#n)、RAIDを構成する。
 アクセス実行部22は、ホスト1からのアクセス要求を受け取り、RAID管理部25からアクセス先アドレスが含まれるRAIDストライプの構成情報を取得して、対応する記憶媒体21へのアクセス要求に変換する。また、アクセス実行部22は、ホスト1からのアクセス要求がWriteである場合は、RAIDストライプ内の冗長データの更新を行うアクセス要求を生成する。アクセス実行部22は、ホスト1から受け取ったアクセス要求の情報、及び変換、生成された記憶媒体21に対するアクセス要求の対応関係を、アクセス実行部22内のアクセス要求テーブル記憶部(以下、「アクセス要求テーブル」と記載)221に格納する。更に、アクセス実行部22は、ホスト1からの各アクセス要求に対応する処理の実行を管理し、記憶媒体21に対するアクセス要求の発行を記憶媒体アクセス部23に指示し、記憶媒体21に対するアクセス結果を受け取ってホスト1に対して結果を応答する。
 図3は、アクセス実行部22に含まれるアクセス要求テーブル221の構成を例示する。アクセス要求テーブル221は、アクセスの種類、アクセス先アドレス(先頭の0Xはヘキサデシマル(16進)表示であることを示す)、アクセスサイズ、対応するアクセスIDの各欄を含む。対応するアクセスIDは、変換、又は生成された記憶媒体21に対するアクセスを表すID(識別子)である。アクセス実行部22は、ホスト1からの各アクセス要求に対して、アクセス要求に関する情報をアクセス要求テーブル221に格納する。また、図3においては、図示していないが、Writeアクセス要求に付随するWriteデータは別途管理する。なお、アクセス要求テーブル221のデータ形式は、図3に示した形式に限定されるものでないことは勿論である。例えば記憶媒体21に対するアクセスを表す識別子は、数字のIDに限らず、任意の形式であってよい。また、アクセス要求テーブル221は、アクセス実行部22等からアクセスできれば、アクセス実行部22の外部に設ける構成としてもよいことは勿論である。
 再び図2を参照すると、記憶媒体アクセス部23は、アクセス実行部22によって変換、生成された記憶媒体21に対するアクセス要求を、実際に記憶媒体21に対して発行する。また、記憶媒体アクセス部23は、記憶媒体21に対する各アクセス要求の情報を、記憶媒体アクセステーブル記憶部(以下、「記憶媒体アクセステーブル」と記載)231に格納し、発行待ちのアクセス要求を管理する。
 図4は、記憶媒体アクセス部23に含まれる記憶媒体アクセステーブル231の構成を例示する図である。記憶媒体アクセステーブル231は、アクセスID、記憶媒体ID、アクセス種類、アドレス、サイズの各欄を備えている。アクセスIDは、アクセス実行部22によって変換、生成された記憶媒体21に対するアクセス要求を一意に表すID等の識別子である。記憶媒体IDは、アクセス要求の発行先となる記憶媒体を表すID等の識別子である。アクセス種類は、アクセスの種類(Read,Write)である。アドレス、サイズは、アクセス先アドレスとアクセスサイズである。また、図4においては、図示していないが、Writeアクセス要求に付随するWriteデータは別途管理する。なお、記憶媒体アクセステーブル231のデータ形式は、図4に示した形式に限定されるものでないことは勿論である。例えばアドレス、及びアクセスサイズの表記は、図4に示されるチャンク単位以外に、バイト単位、一般的な記憶媒体のアクセス単位であるセクタ(512B)単位などの任意の形式であって良い。記憶媒体アクセステーブル231は、記憶媒体アクセス部23等からアクセスできれば、記憶媒体アクセス部23の外部に設ける構成としてもよいことは勿論である。
 再び図2を参照すると、チャンク割当部24は、各記憶媒体21の記憶領域を一定サイズのチャンクに区切って管理し、各記憶媒体21において、チャンク毎のRAIDストライプに対する割り当て有無を管理する。また、チャンク割当部24は、RAID構成変更部28がRAIDストライプに対して割り当てるチャンクを変更する場合、RAID構成変更部28によって指定された記憶媒体21の記憶領域から、未使用のチャンクを割り当てる。
 RAID管理部25は、RAIDストライプに対する各記憶媒体のチャンクの割り当て情報をRAID管理テーブル記憶部(以下、「RAID管理テーブル」と記載)251内にて管理する。
 図5は、RAID管理部25に含まれるRAID管理テーブル251の構成を例示する図である。RAID管理テーブル251は、アドレス、RAIDレベル、チャンク数、使用チャンク(記憶媒体ID-アドレス)の各欄を含む。アドレスは、ストレージ2がホスト1に対して提供する、記憶領域の空間における、RAIDストライプのマッピング先アドレスである。チャンク数は、RAIDストライプを構成するチャンク数である。使用チャンク(記憶媒体ID-アドレス)は、各RAIDストライプを構成するチャンクの記憶媒体のIDと記憶媒体内のアドレスの組み合わせである。RAIDレベルが一定ではない場合は、RAIDストライプ毎に、前記各情報を追加で記録する。なお、RAID管理テーブル251のデータ形式は、図5に示した形式に限定されるものでないことは勿論である。例えば各RAIDストライプのサイズが一定であり、且つ、ストレージ2の記憶領域の先頭アドレスから順番にマッピングされたRAIDストライプの情報が格納されている場合、RAIDストライプのマッピング先アドレスの情報(第1欄)を省略することが可能である。また、RAID管理テーブル251は、RAID管理部25等からアクセスできれば、RAID管理部25の外部に設ける構成としてもよいことは勿論である。
 再び図2を参照すると、Write量計測部26は、記憶媒体アクセス部23から実際に各記憶媒体21に対して発行されたWriteアクセスを監視し、各記憶媒体21に対するWriteデータ量を集計する。
 記憶媒体監視部27は、記憶媒体アクセス部23が各記憶媒体21に対して行ったアクセスに対する各記憶媒体21からの応答時間を監視し、応答遅延、あるいは応答停止を検出する。
 また記憶媒体監視部27は、応答遅延、応答停止の検出と併せて、アクセス要求の発行待ち状況、発行中のアクセス要求のいずれか、又は両方から各記憶媒体21のアクセス負荷を算出するようにしてもよい。
 RAID構成変更部28は、記憶媒体アクセス部23にて記憶媒体21に対して発行直前のWriteアクセス要求に着目する。この着目によりRAID構成変更部28は、Write先の記憶媒体21に対して、Write量計測部26、及び記憶媒体監視部27の情報から、データの格納先として、当該Write先の記憶媒体21が適切であるか否かを確認する。
 RAID構成変更部28は、確認の結果、Write先の記憶媒体21が、データの格納先として適していないと判断した場合には、RAIDストライプにおける、Write先のチャンクの割り当て元である記憶媒体21を変更する。
 具体的には、例えば、Write先の記憶媒体21が、応答遅延、応答停止、又は高負荷のいずれかの状態である場合、新たにデータを格納することは困難であると判断して、Write先のチャンクを、上記応答遅延、応答停止、又は高負荷のいずれにも該当しない別の記憶媒体21のものに変更する。
 あるいはRAID構成変更部28は、Write先の記憶媒体21に対するWriteデータ量について、Writeデータ量が最も少ないか、又は、最も多い他の記憶媒体21と比較する。比較の結果、差分が事前に定めた上限値、又は、下限値を超えた場合に、RAID構成変更部28は、Write先のチャンクを、別の記憶媒体21のものに変更するようにしてもよい。
 アクセス再発行部29は、RAID構成変更部28において、RAIDストライプの構成を変更しなかった場合には、記憶媒体アクセス部23に対して、発行直前のWriteアクセス要求に対する実際の発行を許可する。
 一方、RAID構成変更部28において、RAIDストライプの構成が変更された場合には、アクセス再発行部29は、
・記憶媒体アクセス部23に対して、発行直前のWriteアクセス要求のキャンセルを指示し、
・アクセス実行部22に対して、割り当てを変更したRAIDストライプ内のチャンクに対するWrite要求の再発行を指示する。
<第一の実施形態の動作例>
 図6は、本発明の第一の実施形態においてホスト1からストレージ2がアクセス要求を受け取り、結果を応答する動作を説明する流れ図である。以下、図6、及び図1乃至図5を参照して、実施形態の動作を説明する。
 ステップS11において、アクセス実行部22は、ホスト1からストレージ2に対するアクセス要求を受け取り、アクセス要求テーブル221に登録する。
 ステップS12において、アクセス実行部22は、RAID管理部25のRAID管理テーブル251を参照して、アクセス先となるRAIDストライプを決定し、RAIDストライプを構成するチャンクに対するRead、Writeアクセスに変換する。
 チャンクに対するRead、Writeアクセスへの変換手順は、一般に知られるRAIDと同様であり、本発明には含まれない。アクセス実行部22は、変換したRead、Writeアクセスの実行を記憶媒体アクセス部23に要求する。
 また、アクセス実行部22は、ホスト1からのアクセス要求を変換後の、チャンクに対するアクセスのIDをアクセス要求テーブル221に登録する。
 ステップS13において、記憶媒体アクセス部23は、アクセス実行部22から受け取った、チャンクに対するアクセス要求を記憶媒体21に対して発行する。
 ステップS14において、記憶媒体アクセス部23は、記憶媒体21からのアクセス要求に対する結果(応答)をアクセス実行部22に応答する。
 ステップS15において、アクセス実行部22は、記憶媒体アクセス部23からのアクセス要求の結果を受け取ると、アクセス要求テーブル221を参照して、ホスト1からのアクセス要求に対応した全てのアクセスが完了しているか確認する。
 ステップS16において、ホスト1からのアクセス要求に対応したすべてのアクセスが完了していない場合(ステップS16のNo判定)、アクセス実行部22は他のアクセス完了まで待機して、ステップS14からの処理を実行する。
 ステップS16において、ホスト1からのアクセス要求に対応したすべてのアクセスが完了している場合(ステップS16のYes判定)、アクセス実行部22は、ホスト1にアクセス要求の結果を応答して返し、アクセス要求の情報を、アクセス要求テーブル221から削除し、手順を終了する。
 以上のステップS11からS17までの処理を行い、ホスト1からストレージ2がアクセス要求を受け取り、結果を応答する動作が完了する。
<アクセス要求の発行と結果の応答の手順>
 図7及び図8は、図6のステップS13において、記憶媒体アクセス部23がアクセス実行部22から各記憶媒体21に対するアクセス要求を受け取り、各記憶媒体21に対するアクセス要求を発行する手順を説明する流れ図である。なお、図7及び図8は、図面作成の都合で分図されている。図7及び図8、図1乃至図6を参照して、アクセス要求の発行と結果の応答の手順を説明する。
 ステップS201において、記憶媒体アクセス部23は、アクセス実行部22から受け取った各記憶媒体21に対するアクセス要求を記憶媒体アクセステーブル231に登録する。
 ステップS202において、記憶媒体アクセス部23は、記憶媒体アクセステーブル231に登録されたアクセス要求から、各記憶媒体21に対して発行するアクセス要求を選択する。
 ステップS203において、記憶媒体アクセス部23は、ステップS202で選択したアクセス要求がReadであるか否かを判定する。
 ステップS203において、ステップS202で選択したアクセス要求がReadである場合(ステップS203のYes判定)、記憶媒体アクセス部23は、選択したアクセス要求を記憶媒体21に発行して(ステップS204)手順を終了する。
 ステップS203において、ステップS202で選択したアクセス要求がWriteである場合(ステップS203のNo判定)、記憶媒体アクセス部23は、RAID構成変更部28に対してWrite先の記憶媒体21、及びWriteアドレス、サイズの情報を通知する(ステップS205)。
 ステップS206において、RAID構成変更部28は、記憶媒体アクセス部23から通知されたWriteアクセス要求の発行先記憶媒体21について、記憶媒体監視部27に応答遅延、又は応答停止が発生していないか問い合わせる。
 また、RAID構成変更部28は、記憶媒体アクセス部23の記憶媒体アクセステーブル231を参照して、Writeアクセス要求先である記憶媒体21が高負荷状態であるか否かを確認する。
 ステップS207において、Write先の記憶媒体21が応答遅延、応答停止、高負荷のいずれかの状態であると判定された場合(ステップS207のYes判定)、ステップS208(図8)に進む。Write先の記憶媒体21が応答遅延、応答停止、高負荷の状態ではない場合(ステップS207のNo判定)、ステップS209(図8)に進む。
 ステップS208(図8)において、RAID構成変更部28は、記憶媒体アクセス部23から通知されたWriteアクセス要求の新たな発行先を現在の発行先以外の記憶媒体21から選択する。
 RAID構成変更部28は、記憶媒体監視部27を参照して、応答遅延、応答停止、高負荷のいずれでもない記憶媒体を判断する。RAID構成変更部28は、これらの記憶媒体から、Write量計測部26から取得した各記憶媒体21のWriteデータ量を比較して、最もWriteデータ量の少ない記憶媒体を新たなWrite先として選択してステップS211以降の処理を実行する。
 ステップS209(図8)において、RAID構成変更部28は、記憶媒体アクセス部23から通知されたWriteアクセス要求の発行先の記憶媒体21について、Write量計測部26から取得した各記憶媒体21のWriteデータ量を比較する。比較の結果、RAID構成変更部28は、Write先として、他に適切な記憶媒体21が存在するか判断する。
 また、RAID構成変更部28は、上記判断において、記憶媒体監視部27、及び記憶媒体アクセス部23の記憶媒体アクセステーブル231を参照して、応答遅延、応答停止、高負荷の状態ではない記憶媒体21のみを、適切なWrite先として、判断する。
 前記手順の一例として、RAID構成変更部28は、例えばWrite先の記憶媒体のWriteデータ量と、各記憶媒体21のWriteデータ量の最小値とを比較する。比較の結果、RAID構成変更部28は、Write先の記憶媒体のWriteデータ量が事前に定められた閾値を上回る場合に、Writeデータ量が最小の記憶媒体21を、Write先として適切と判断するようにしてもよい。
 ステップS210(図8)において、他に適切なWrite先となる記憶媒体21が存在する場合(ステップS210のYes判定)、RAID構成変更部28は、ステップS209で判断された適切なWrite先となる記憶媒体21を、新たなWrite先としてステップS211以降の処理を継続する。
 ステップS211(図8)において、RAID構成変更部28は、チャンク割当部24に対して、新たなWrite先となる記憶媒体21について未使用のチャンクの割り当てを要求して、チャンク割当部24から割り当てられたチャンクのアドレスを受け取る。また、RAID構成変更部28は、チャンク割当部24に対して、チャンクを新たに割り当てることで使用されなくなった、元のWrite先のチャンクに対する解放を通知する。
 ステップS212(図8)において、RAID構成変更部28は、RAID管理部25に対して、ステップS202で選択されたWriteアクセス要求のWrite先チャンクを、新たなWrite先の記憶媒体21、及びステップS213で割り当てられたチャンクのアドレスに変更する。
 ステップS213(図8)において、RAID構成変更部28は、アクセス再発行部29に対してステップS202で選択されたWriteアクセス要求の再発行を指示する。
 アクセス再発行部29は、記憶媒体アクセス部23に対して、ステップS202で選択されたWriteアクセス要求の中止を指示する。また、アクセス再発行部29は、アクセス実行部22に対して、ステップS213で変更したRAIDストライプの構成に従ってステップS202で選択されたWriteアクセス要求の再発行を指示して手順を終了する。
 ステップS210(図8)において、他に適切なWrite先となる記憶媒体21が存在せず、現在のWrite先が最適と判断されたとする(ステップS210のNo判定)。この場合、RAID構成変更部28は、記憶媒体アクセス部23を通して、ステップS202で選択されたWriteアクセス要求の記憶媒体21に対する発行を行う(ステップS214)。また、記憶媒体アクセス部23は、Write量計測部26に対してWrite要求先の記憶媒体21に対して新たにWriteデータのサイズ分のWriteが行われることを通知する(ステップS214)。
 ステップS215(図8)において、記憶媒体21に対して発行したWriteアクセスの応答が返らない状態で事前に定められた一定時間を経過した場合(ステップS215のNo判定)、記憶媒体アクセス部23は、前記発行中のアクセスに対して、ステップS208の処理を実行する。
 記憶媒体21に対して発行したWriteアクセスについて事前に定められた一定時間内に応答が返ってきた場合(ステップS215のYes判定)、手順を終了する。
 以上のステップS201からS215までの処理を行うことで、記憶媒体アクセス部23がアクセス実行部22から各記憶媒体21に対するアクセス要求を受け取り、各記憶媒体21に対するアクセス要求を発行する動作が完了する。
<RAIDストライプの構成変更の一具体例>
 図9乃至図11を参照して、Write発行時の記憶媒体間のWriteデータ量の差に応じた、RAIDストライプの構成変更を行う動作例を説明する。図9は、図2の記憶媒体21(図1のストレージ2に含まれる)を表している。ストレージ2は、同種の6個の記憶媒体21A~21Fを備えている。ストレージ2、ホスト1は、チャンクサイズを単位としたアドレス空間を使用する。記憶媒体21A~21Fは、この例の初期状態において、いずれも応答遅延、応答停止、高負荷の状態ではないとする。
 また、この例では、Write先の記憶媒体と、記憶媒体21A~21FのWriteデータ量の最小値との差が10チャンク以上である場合に、RAID構成を変更して記憶媒体間のWriteデータ量の差を削減するものとする。
 ホスト1からのアクセス要求を受けたストレージ2のアクセス実行部22(図2)において、異なる記憶媒体に分かれたチャンクに対するアクセスに変換される。チャンクに対するアクセスへの変換は、図10に示された、RAID管理テーブル251を参照して行う。
 なお、この例では、各RAIDストライプのRAIDレベルは全てRAID5、ストライプを構成するチャンク数は全て5とする。また、使用チャンクのリストの末尾が各RAIDストライプのパリティ情報を格納するチャンクとする。
 ホスト1からのアクセス要求が、アドレス0x00000003に対するチャンク1個分のWriteであるとする。この場合、図10に例示したRAID管理テーブル251の情報から、記憶媒体21Dのアドレス0x0000のチャンクに対するWriteデータ本体のWriteアクセスと、記憶媒体21Eのアドレス0x0000のチャンクに対するパリティを更新するためのWriteアクセスの2つに変換される。
 記憶媒体アクセス部23は、記憶媒体21Dと記憶媒体21Eに対するWriteアクセスを発行する。
 まず、記憶媒体アクセス部23は、記憶媒体21Dに対するWriteアクセス発行前に、記憶媒体21Dが応答遅延・応答停止・高負荷状態でないことを確認する。
 記憶媒体21Dは、応答遅延・応答停止・高負荷状態のいずれでもないため、次に各記憶媒体のWriteデータ量を、図11に示した、Write量計測部26が取得した各記憶媒体のWriteデータ量情報261(例えばWrite量計測部26の不図示の記憶部に保持される)から取得する。
 図11に示す記憶媒体のWriteデータ量情報261は、各記憶媒体に対するWriteデータ量をチャンク数で表す。
 Write先である記憶媒体21DのWriteデータ量は20チャンクである。一方で、最小のWriteデータ量である記憶媒体21FのWriteデータ量は10チャンクである。このため、RAIDストライプに割り当てられた記憶媒体21Dのアドレス0x0000のチャンクを解放して、新たに記憶媒体21Fの未使用のチャンク(仮に0x0010とする)を割り当てる。
 また、RAID管理部25は、RAID管理テーブル251のRAIDストライプの構成情報を更新する。記憶媒体21Dのアドレス0x0000のチャンクに対するWriteを中止して、アクセス再発行部29は、新たに記憶媒体21Fのアドレス0x0010のチャンクに対するWriteアクセスを生成する。
 そして、RAIDストライプのパリティに相当するチャンクを更新する、記憶媒体21Eのアドレス0x0000のチャンクに対するWriteアクセス、及び新たに生成された記憶媒体21Fのアドレス0x0010のチャンクに対するWriteアクセスは、各記憶媒体が応答遅延、応答停止、高負荷のいずれの状態でもない。更に当該アクセスは、記憶媒体のWriteデータ量情報261から、Write先の各記憶媒体のWriteデータ量がWriteデータ量の最小値を、10以上、上回ることはない。この結果、記憶媒体21Eと記憶媒体21Fに対して、Writeアクセスが発行される。
 上記2つのWriteアクセスの完了によって、アドレス0x00000003に対するチャンク1個分のWriteアクセス要求に対するすべてのアクセス(データ書き込み/パリティ書き込み)が完了する。ストレージ2のアクセス実行部22は、ホスト1に対してWriteアクセス要求に対する処理の完了を応答する。
 以上の動作によってWrite発行時の記憶媒体間のWriteデータ量の差に応じた、RAIDストライプの構成変更を伴ったWriteアクセス処理が完了する。
 上記第一の実施形態によれば、書き込み先の記憶媒体のWriteデータ量、及び、該記憶媒体の応答遅延、停止状態に応じて、より適した記憶媒体に変更し、新たにアクセス対象のチャンクを該記憶媒体に割り当てる。これにより、例えばSSDで構成したRAIDシステムのアクセス性能の低下を回避可能としている。
 また、本発明の実施形態のストレージ2、2´は、情報処理装置(コンピュータ)を利用しても実現することができる。この場合において、図2に示したストレージ2の各部のうちの少なくともアクセス実行部22、記憶媒体アクセス部23、チャンク割当部24、RAID管理部25、Write量計測部26、記憶媒体監視部27、RAID構成変更部28およびアクセス再発行部29は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。更に、図12に示したストレージ2´の各部の内の少なくとも構成変更部30、アクセス制御部31、Write量計測部26、記憶媒体監視部27は、ソフトウェアプログラムの機能(処理)単位と捉えることができる。これらの機能(処理)を実現可能なハードウェア環境の一例を、図13を参照して説明する。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。
 図13は、本発明の実施形態に係るストレージ2、2´を実行可能な情報処理装置1000の構成を例示的に説明する図である。
 図13に示した情報処理装置1000は、以下の構成がバス(通信線)1005を介して接続された一般的なコンピュータである。
 ・CPU(Central_Processing_Unit)1002、
 ・ROM(Read_Only_Memory)1003、
 ・RAM(Random_Access_Memory)1004、
 ・記憶装置1006、
 ・外部装置との通信インタフェース(Interface:以降、「I/F」と称する)1001、
 通信I/F1001は、ホスト1とのストレージ2、2´との間の通信を行う。上述したハードウェア環境において、上述した実施形態は、以下の手順によって達成される。即ち、図13に示した情報処理装置1000に対して、その実施形態の説明において参照したブロック構成図(図2および12)、或いはフローチャート(図6、7、8)の機能を実現可能なコンピュータ・プログラムがネットワーク3(図1参照)から供給される、または、予め組み込まれる。その後、そのコンピュータ・プログラムは、当該ハードウェアのCPU1002に読み出されて解釈され、CPU1002において実行される。また、当該情報処理装置1000内に供給されたコンピュータ・プログラムは、読み書き可能な揮発性の記憶デバイス(RAM1004)または記憶装置1006等の不揮発性の記憶デバイスに格納すればよい。
 なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は2014年7月25日に出願された日本出願特願2014-151668号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 ホスト
2 ストレージ
21、21A~21F 記憶媒体
22 アクセス実行部
221 アクセス要求テーブル
23 記憶媒体アクセス部
231 記憶媒体アクセステーブル
24 チャンク割当部
25 RAID管理部
251 RAID管理テーブル
26 Write量計測部
261 記憶媒体のWriteデータ量情報
27 記憶媒体監視部
28 RAID構成変更部
29 アクセス再発行部
3 ネットワーク
30 構成変更部
31 アクセス制御部

Claims (20)

  1.  複数の記憶媒体と、
     前記記憶媒体の各々に対する書き込みデータ量を計測する書き込み量計測手段と、
     前記記憶媒体の各々の負荷状態を監視するとともに、前記記憶媒体の各々に対するアクセスの応答の遅延又は停止状態を監視する記憶媒体監視手段と、
     データを複数の前記記憶媒体に分割して転送するストライピングの単位となる記憶領域であるチャンクについて、書き込みアクセス対象のチャンクの割り当て元の記憶媒体の書き込みデータ量と、前記記憶媒体の負荷状態、応答の遅延又は停止状態の少なくとも1つに基づき、前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体の変更が必要であると判断した場合、別の記憶媒体を選択し、前記書き込みアクセス対象のチャンクを、前記別の記憶媒体のチャンクに変更する構成変更手段と、
     新たにアクセス対象となったチャンクに対して書き込みアクセス要求を発行するアクセス制御手段と、
     を備える、ストレージ装置。
  2.  前記構成変更手段は、書き込みアクセス要求を前記記憶媒体に対して発行する前に、書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体の書き込みデータ量と、他の記憶媒体との書き込みデータ量との差が、予め定められた所定の条件を満たしているか、又は、
     前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体について、高負荷、応答遅延、応答停止の少なくともいずれか一つに該当していると判定した場合、
     前記複数の記憶媒体から、前記書き込みデータ量の条件、高負荷、応答遅延、停止に関していずれにも該当しない、別の記憶媒体を選択し、
     前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体から、前記書き込みアクセス対象の前記チャンクを解放し、
     前記別の記憶媒体の未使用のチャンクをアクセス対象として割り当てることで、書き込みアクセス先のストライプの構成を変更する、
    請求項1記載のストレージ装置。
  3.  前記複数の記憶媒体がRAIDを構成し、
     前記アクセス制御手段が、
     ホストからのアクセス要求を前記記憶媒体の各々に対するアクセスに変換するアクセス実行手段と、
     RAIDストライプの構成変更によって新たにアクセス対象となったチャンクに対してアクセス要求を発行するアクセス再発行手段と、
     を備え、
     前記構成変更手段は、
     前記記憶媒体の各々に対してアクセス要求を行う記憶媒体アクセス手段と、
     前記記憶媒体の各々のチャンクの割り当て、解放を行うチャンク割当手段と、
     RAIDのストライプ構成を管理するRAID管理手段と、
     書き込みアクセス要求を発行する前に、書き込み先の記憶媒体の書き込みデータ量、又は、前記書き込み先の記憶媒体の状態に応じて、RAIDストライプの構成を変更するRAID構成変更手段と、
     を備える、請求項1又は2記載のストレージ装置。
  4.  前記RAID管理手段は、前記RAIDのストライプの前記ホスト側からみたアドレス、RAIDのレベル、RAIDのストライプのチャンク数、前記チャンクが割り当てられた記憶媒体の識別情報とアドレス情報の対を含む使用チャンク情報を、対応付けて記憶手段で管理する、
    請求項3記載のストレージ装置。
  5.  前記アクセス実行手段は、前記ホストからのアクセス要求を前記各記憶媒体に対応するアクセスに変換してアクセスの実行を管理して、前記アクセス要求に関する処理の実行完了の応答を前記ホストに対して行う、
    請求項3又は4記載のストレージ装置。
  6.  前記記憶媒体アクセス手段は、前記アクセス実行手段によって変換又は生成されたアクセス要求を前記記憶媒体に対して発行し、前記記憶媒体からの結果を、前記アクセス実行手段に応答として返す、
    請求項3乃至5のいずれか1項に記載のストレージ装置。
  7.  前記チャンク割当手段は、前記各記憶媒体の記憶領域をチャンク単位に分割し、各チャンクの使用状況を管理し、RAIDストライプの構成変更に伴うチャンクの解放、及び、チャンクの割り当てを行う、
    請求項3乃至6のいずれか1項に記載のストレージ装置。
  8.  前記RAID管理手段は、RAIDストライプを構成するチャンクの組み合わせ、及び記憶領域全体のアドレス空間に対するチャンクのマッピングを管理する、
    請求項3乃至7のいずれか1項に記載のストレージ装置。
  9.  前記書き込み量計測手段は、前記記憶媒体の各々に発行された書き込みアクセス要求の情報を参照して、記憶媒体毎の書き込みデータ量を計測する、
    請求項3乃至8のいずれか1項に記載のストレージ装置。
  10.  前記記憶媒体監視手段は、前記記憶媒体アクセス手段を通して、前記記憶媒体の各々に対する発行待ち、又は、発行中のアクセス要求から、負荷を算出し、高負荷状態の記憶媒体を検出し、前記記憶媒体の各々へのアクセスに対する応答状況を監視して応答遅延又は停止状態の記憶媒体を検出する、
    請求項3乃至9のいずれか1項に記載のストレージ装置。
  11.  前記RAID構成変更手段は、前記記憶媒体アクセス手段によって前記記憶媒体の各々に書き込みアクセス要求を発行する直前に、書き込み先の記憶媒体の書き込みデータ量と、アクセス負荷、応答遅延、又は、停止の有無を確認し、
     書き込み先の記憶媒体について、他の記憶媒体との書き込みデータ量の差が、予め定められた所定の条件を満たしているか、
     書き込み先の記憶媒体について、高負荷、応答遅延又は停止の少なくとも1つの条件を満たしている場合には、書き込みアクセス先のRAIDストライプについて、書き込み先の記憶媒体が、高負荷、応答遅延、応答停止に該当しない、他の記憶媒体となるように、チャンクの構成を変更する、
    請求項3乃至10のいずれか1項に記載のストレージ装置。
  12.  前記アクセス再発行手段は、書き込み先の記憶媒体において、他の記憶媒体との書き込みデータ量の差が、予め定められた所定の条件を満たすか、書き込み先の記憶媒体について高負荷、応答遅延、応答停止のいずれかの条件を満たしている場合には、前記記憶媒体アクセス手段に対して、書き込み先の記憶媒体への書き込みアクセス要求のキャンセルを指示し、前記アクセス実行手段に対して、割り当てを変更したチャンクに対するアクセス要求の再発行を指示する、
    請求項3乃至11のいずれか1項に記載のストレージ装置。
  13.  前記記憶媒体は、ブロック単位で一括消去される書き変え可能な不揮性半導体記憶デバイスからなる、
    請求項1乃至12のいずれか1項に記載のストレージ装置。
  14.  請求項1乃至13のいずれか1項に記載のストレージ装置と、
     前記ストレージ装置と通信接続され、前記ストレージ装置に対してアクセス要求を行うホストと、
     を備えるコンピュータシステム。
  15.  複数の記憶媒体の各々に対する書き込みデータ量を計測し、
     前記記憶媒体の各々の負荷状態を監視するとともに、前記記憶媒体の各々に対するアクセスの応答の遅延又は停止状態を監視し、
     データを複数の前記記憶媒体に分割して転送するストライピングの単位となる記憶領域であるチャンクについて、書き込みアクセス対象のチャンクの割り当て元の記憶媒体の書き込みデータ量と、前記記憶媒体の負荷状態、応答の遅延又は停止状態の少なくとも1つに基づき、前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体の変更が必要であると判断した場合、別の記憶媒体を選択し、書き込みアクセス対象の前記チャンクを、前記別の記憶媒体のチャンクに変更し、
     新たにアクセス対象となったチャンクに対して書き込みアクセス要求を発行する、ストレージのアクセス制御方法。
  16.  書き込みアクセス要求を前記記憶媒体に対して発行する前に、前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体の書き込みデータ量と、他の記憶媒体との書き込みデータ量との差が、予め定められた所定の条件を満たしているか、又は、
     前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体について、高負荷、応答遅延、応答停止の少なくともいずれか一つに該当していると判定した場合、
     前記複数の記憶媒体から、前記書き込みデータ量の条件、高負荷、応答遅延、停止に関していずれにも該当しない別の記憶媒体を選択し、
     前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体から、前記書き込みアクセス対象の前記チャンクを解放し、
     前記別の記憶媒体の未使用のチャンクをアクセス対象として割り当てることで、書き込みアクセス先のストライプの構成を変更する、
    請求項15記載のストレージのアクセス制御方法。
  17.  前記複数の記憶媒体がRAIDを構成し、
     書き込みアクセス要求を発行する前に、書き込み先の記憶媒体の書き込みデータ量、又は、前記記憶媒体の高負荷、応答遅延、停止状態に応じて、RAIDストライプの構成を変更する、
    請求項15又は16記載のストレージのアクセス制御方法。
  18.  複数の記憶媒体の各々に対する書き込みデータ量を計測する処理と、
     前記記憶媒体の各々の負荷状態を監視するとともに、前記記憶媒体の各々に対するアクセスの応答の遅延又は停止状態を監視する処理と、
     データを複数の前記記憶媒体に分割して転送するストライピングの単位となる記憶領域であるチャンクについて、書き込みアクセス対象のチャンクの割り当て元の記憶媒体の書き込みデータ量と、前記記憶媒体の負荷状態、応答の遅延又は停止状態の少なくとも1つに基づき、前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体の変更が必要であると判断した場合、別の記憶媒体を選択し、書き込みアクセス対象の前記チャンクを、前記別の記憶媒体のチャンクに変更する処理と、
     新たにアクセス対象となったチャンクに対して書き込みアクセス要求を発行する処理と、
     をコンピュータに実行させるプログラムを格納する記録媒体。
  19.  書き込みアクセス要求を前記記憶媒体に対して発行する前に、前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体の書き込みデータ量と、他の記憶媒体との書き込みデータ量との差が、予め定められた所定の条件を満たしているか、又は、
     前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体について、高負荷、応答遅延、応答停止の少なくともいずれか一つに該当していると判定した場合、
     前記複数の記憶媒体から、前記書き込みデータ量の条件、高負荷、応答遅延、停止に関していずれにも該当しない別の記憶媒体を選択し、
     前記書き込みアクセス対象のチャンクの割り当て元の前記記憶媒体から、前記書き込みアクセス対象の前記チャンクを解放し、
     前記別の記憶媒体の未使用のチャンクをアクセス対象として割り当てることで、書き込みアクセス先のストライプの構成を変更する処理を、前記コンピュータに実行させる、請求項18記載の記録媒体。
  20.  前記複数の記憶媒体がRAIDを構成しており、
     書き込みアクセス要求を発行する前に、書き込み先の記憶媒体の書き込みデータ量、又は、前記記憶媒体の高負荷、応答遅延、停止状態に応じて、RAIDストライプの構成を変更する処理
    を前記コンピュータに実行させる請求項18又は19記載の記録媒体。
PCT/JP2015/003631 2014-07-25 2015-07-17 ストレージ装置、コンピュータシステム、アクセス制御方法および記録媒体 WO2016013202A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014151668A JP2017199043A (ja) 2014-07-25 2014-07-25 ストレージ装置とシステム及び方法とプログラム
JP2014-151668 2014-07-25

Publications (1)

Publication Number Publication Date
WO2016013202A1 true WO2016013202A1 (ja) 2016-01-28

Family

ID=55162746

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/003631 WO2016013202A1 (ja) 2014-07-25 2015-07-17 ストレージ装置、コンピュータシステム、アクセス制御方法および記録媒体

Country Status (2)

Country Link
JP (1) JP2017199043A (ja)
WO (1) WO2016013202A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017162260A (ja) * 2016-03-10 2017-09-14 株式会社東芝 メモリ制御装置、ストレージ装置、ストレージ装置の制御プログラム、及び、ストレージ装置の制御方法
JP2018185584A (ja) * 2017-04-24 2018-11-22 富士通株式会社 ストレージ装置、ストレージ装置の制御プログラムおよびストレージ装置の制御方法
CN112882646A (zh) * 2019-11-29 2021-06-01 北京金山云网络技术有限公司 一种资源缓存方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7053399B2 (ja) 2018-07-31 2022-04-12 キオクシア株式会社 情報処理システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756691A (ja) * 1993-08-12 1995-03-03 Toshiba Corp ストライピングディスクのデータブロック自動再配置機能を持つ情報処理装置
JP2002523834A (ja) * 1998-08-28 2002-07-30 イーエムシー コーポレイション ディスクアレイ記憶装置内でボリュームを交換する方法
JP2003167690A (ja) * 2001-11-30 2003-06-13 Toshiba Corp ディスクアレイ装置及び同装置におけるデータ復旧方法
JP2007334593A (ja) * 2006-06-14 2007-12-27 Fujitsu Ltd Raidコントローラおよびraid装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756691A (ja) * 1993-08-12 1995-03-03 Toshiba Corp ストライピングディスクのデータブロック自動再配置機能を持つ情報処理装置
JP2002523834A (ja) * 1998-08-28 2002-07-30 イーエムシー コーポレイション ディスクアレイ記憶装置内でボリュームを交換する方法
JP2003167690A (ja) * 2001-11-30 2003-06-13 Toshiba Corp ディスクアレイ装置及び同装置におけるデータ復旧方法
JP2007334593A (ja) * 2006-06-14 2007-12-27 Fujitsu Ltd Raidコントローラおよびraid装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017162260A (ja) * 2016-03-10 2017-09-14 株式会社東芝 メモリ制御装置、ストレージ装置、ストレージ装置の制御プログラム、及び、ストレージ装置の制御方法
JP2018185584A (ja) * 2017-04-24 2018-11-22 富士通株式会社 ストレージ装置、ストレージ装置の制御プログラムおよびストレージ装置の制御方法
CN112882646A (zh) * 2019-11-29 2021-06-01 北京金山云网络技术有限公司 一种资源缓存方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP2017199043A (ja) 2017-11-02

Similar Documents

Publication Publication Date Title
US10162536B2 (en) Storage apparatus and storage control method
JP5844473B2 (ja) 複数の不揮発性の半導体記憶媒体を有し、ホットデータを長寿命記憶媒体に配置しコールドデータを短寿命記憶媒体に配置するストレージ装置、及び、記憶制御方法
JP6073471B2 (ja) ストレージ装置
US10459639B2 (en) Storage unit and storage system that suppress performance degradation of the storage unit
US8832371B2 (en) Storage system with multiple flash memory packages and data control method therefor
JP6279620B2 (ja) ストレージ装置
JP5192352B2 (ja) 記憶装置及びデータ格納領域管理方法
WO2014141411A1 (ja) ストレージシステムおよびストレージシステム制御方法
US20180275894A1 (en) Storage system
US10846231B2 (en) Storage apparatus, recording medium, and storage control method
US9792073B2 (en) Method of LUN management in a solid state disk array
US10768838B2 (en) Storage apparatus and distributed storage system
US10545684B2 (en) Storage device
TW201314437A (zh) 快閃碟陣列及控制器
JP2012505441A (ja) ストレージ装置およびそのデータ制御方法
CN109725838B (zh) 用于管理多个盘的方法、装置以及计算机可读介质
WO2016013202A1 (ja) ストレージ装置、コンピュータシステム、アクセス制御方法および記録媒体
JP2017162260A (ja) メモリ制御装置、ストレージ装置、ストレージ装置の制御プログラム、及び、ストレージ装置の制御方法
JP2017037501A (ja) ストレージ制御装置およびストレージ制御プログラム
WO2018002999A1 (ja) 記憶デバイス及びストレージ装置
JP2020095548A (ja) 不揮発性メモリドライブを備えたシステム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15824288

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15824288

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP