WO2015029102A1 - ストレージ装置及び階層制御方法 - Google Patents

ストレージ装置及び階層制御方法 Download PDF

Info

Publication number
WO2015029102A1
WO2015029102A1 PCT/JP2013/072710 JP2013072710W WO2015029102A1 WO 2015029102 A1 WO2015029102 A1 WO 2015029102A1 JP 2013072710 W JP2013072710 W JP 2013072710W WO 2015029102 A1 WO2015029102 A1 WO 2015029102A1
Authority
WO
WIPO (PCT)
Prior art keywords
tier
performance
drive
ssd
controller
Prior art date
Application number
PCT/JP2013/072710
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 株式会社日立製作所
Priority to US14/359,918 priority Critical patent/US9086807B2/en
Priority to PCT/JP2013/072710 priority patent/WO2015029102A1/ja
Publication of WO2015029102A1 publication Critical patent/WO2015029102A1/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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Definitions

  • the present invention relates to a storage apparatus and a tier control method, and is particularly suitable for application to a storage apparatus in which all storage media are configured with SSDs, and manages storage areas by classifying them into a plurality of tiers (tiers). It is suitable for application to the hierarchical control method.
  • Patent Document 1 discloses a technique for controlling storage areas in a hierarchical manner. According to the technique described in Patent Document 1, storage areas are managed in a hierarchical manner based on IO performance and reliability. Based on the access frequency, data requiring IO performance is arranged in a higher hierarchy, and conversely, data not requiring IO performance is arranged in a lower hierarchy. In addition, data is appropriately moved between hierarchies based on the status of IO processing. As a result, IO is processed at high speed.
  • An HDD Hard Disk Drive
  • an SSD Solid State Drive
  • the SSD is characterized by being capable of processing IO at high speed while being non-volatile compared to the HDD.
  • LBA mapping position information
  • metadata logical-physical mapping information
  • SSD uses a technology called reclamation processing. This means that when update (overwrite) data is received, the old data (invalid data) of the data written to another internal area by wear leveling processing is aggregated and released, and the release area is reused.
  • reclamation processing a technology that when update (overwrite) data is received, the old data (invalid data) of the data written to another internal area by wear leveling processing is aggregated and released, and the release area is reused.
  • reclamation processing Until the reclamation process is executed, an invalid entry exists in the metadata, so that the search efficiency of the database in the metadata decreases. For this reason, as the metadata grows, the IO performance decreases due to an increase in search overhead.
  • an increase in search overhead occurs due to an increase in metadata accompanying data storage.
  • Patent Document 1 uses these HDDs and SSDs to classify storage areas provided from HDDs and SSDs into a plurality of tiers (layers), and performs hierarchical control. This is based on the premise that the performance of the HDD and SSD is reduced by the amount of use of the storage area provided from the HDD and SSD.
  • performance is, for example, IOPS (Input Output Per Second).
  • SSD depends on the type of storage element used (SLC: Single-Level-Cell, MLC: Multi-Level-Cell, etc.), parallelism of internal bus (number of bits, etc.), multiplicity of processing, etc.
  • SLC Single-Level-Cell
  • MLC Multi-Level-Cell
  • the performance and life are different, and the performance is restored under predetermined conditions.
  • This property is vendor specific and different. This vendor-specific and unique SSD property is referred to herein as a “characteristic”.
  • the SSD has a characteristic that the performance is restored by executing a predetermined process in addition to the above-described characteristic that the performance is reduced by the use of the storage area. This is because, for example, by executing reclamation processing, the metadata is reduced by organizing invalid data entries in the metadata, search efficiency is improved, and multiple metadata entries are performed by executing sequential write. As a result, it is presumed that due to the internal factor of the SSD, the metadata is reduced as a result, and the search efficiency is similarly improved.
  • the present invention has been made in consideration of the above points, and proposes a storage apparatus and a tier control method capable of executing tier control based on the changing performance and characteristics of the SSD.
  • the storage apparatus classifies storage areas provided by a plurality of drives into a plurality of tiers having different performances in a storage apparatus equipped with a plurality of drives configured by flash memory. And a controller for hierarchically controlling the storage area by determining the first tier to which the drive belongs based on the performance of the drive, and based on the performance of the drive that varies depending on the characteristics of the drive, It is determined that the tier to which the drive belongs is changed from the first tier to the second tier, and the affiliation of the drive decided to be changed is changed from the first tier to the second tier. .
  • the hierarchical control method categorizes storage areas provided from a plurality of drives composed of flash memory into a plurality of tiers having different performances, and manages the storage areas.
  • a tier control method for a storage apparatus including a controller for tier control, the controller determines a first tier to which the drive belongs based on the performance of the drive, and a drive that varies depending on the drive characteristics. Based on the performance, the second step of deciding to change the tier to which the drive belongs from the first tier to the second tier, and the affiliation of the drive that has decided to change the tier from the first tier And a third step of changing to the second tier.
  • hierarchical control can be executed based on the changing performance and characteristics of the SSD.
  • 1 is an overall configuration diagram of a storage system in the present embodiment. It is an internal block diagram of a controller. It is a logical block diagram of a tier management table. It is a logic block diagram of a SSD measurement performance management table. It is a logical block diagram of a SSD type name performance management table. It is a logical block diagram of a write management table. It is a logical block diagram of a tier capacity management table. It is a logic block diagram of a characteristic management table. It is a logic block diagram of a schedule management table. It is a logical block diagram of a field management table. It is a conceptual diagram which shows the performance of the fluctuating SSD and the relationship between the tiers to which it belongs.
  • FIG. 1 shows the overall configuration of a storage system 1 in this embodiment.
  • the storage system 1 includes a storage device 10 and a host computer 20.
  • the storage apparatus 10 and the host computer 20 are connected to be communicable with each other via a communication line N1.
  • the communication line N1 is, for example, a LAN (Local Area Network) or a SAN (Storage Area Network).
  • the storage device 10 includes a controller 11 and a plurality of SSDs (Solid State Drives) 12.
  • the controller 11 and the plurality of SSDs 12 are communicably connected via, for example, a SAN.
  • the SSD 12 is a drive composed of a flash memory.
  • the controller 11 When the controller 11 receives a read request or write request (collectively referred to as an IO request) from the host computer 20, the controller 11 accesses the SSD 12, reads data (read data) corresponding to the read request from the SSD 12, and Data corresponding to the write request (write data) is written to the SSD 12.
  • the controller 11 in the present embodiment executes hierarchical control.
  • Hierarchical control classifies storage areas provided from a plurality of SSDs 12 into a plurality of tiers (tiers) for each SSD 12 response performance, and SSDs belonging to a high-performance tier for data with a high access frequency (high performance).
  • the data is stored in the SSD 12 that provides the storage area belonging to the tier, and the data with low access frequency is stored in the SSD 12 that belongs to the low-performance tier (the SSD 12 that provides the storage area belonging to the low-performance tier).
  • This is a control method that realizes a high-speed response to an IO request from the host computer 20.
  • performance of response performance high performance or low performance means IOPS (Input Output Per Second) or Response Time.
  • response performance when the term “response performance”, “high performance”, “low performance”, or simply “performance” is used, it means an index based on this IOPS or response time.
  • IOPS and response time moving average, excessive moving average, differential value, and change amount may be used as performance indicators as required.
  • storage areas provided from different types of storage media are classified as tier 1, tier 2, tier 3, respectively,
  • the data is stored in the storage areas belonging to the tiers 1 to 3, while the access frequency of the stored data is monitored, and the storage area for storing the data is relocated based on the access frequency.
  • the hierarchy control is usually unnecessary because the types are the same.
  • the same SSD 12 there are differences in performance and characteristics (characteristics will be described later) depending on the type.
  • the SSD 12 not only deteriorates in performance as the usage time elapses, but also recovers by executing a predetermined process. That is, the performance of the SSD 12 varies with time.
  • the characteristic configuration of the storage apparatus 10 according to the present embodiment is that hierarchical control is performed using the feature of the SSD 12 that the performance varies.
  • hierarchical control is performed using the feature of the SSD 12 that the performance varies.
  • Multiple SSDs 12 form a RAID (Redundant Array Independent Disks) group with the same type of drives.
  • RAID Redundant Array Independent Disks
  • Each RAID group composed of the same type of drives provides the controller 11 with storage areas having different performance.
  • the storage areas having different performance provided to the controller 11 are classified into a plurality of tiers and managed by the hierarchical control described above.
  • the “same type of drive” as the RAID group configuration requirement is, for example, an SSD having the same vendor, the same generation, and the same cell structure (SLC, MLC, TLC), and an SSD having common specifications and performance. means.
  • SSDs change in performance depending on the data retention rate. If they continue to be used, the performance deteriorates, the number of writes is limited (there is a lifetime), and the performance recovers when a predetermined condition is met. It has characteristics (properties).
  • the performance of the SSD deteriorates based on the data retention rate, and the performance fluctuates by executing reclamation as a garbage collection process.
  • the performance deteriorates, and the write count limit is the rewrite life.
  • performance is recovered by executing sequential write or suppressing IO for a certain period of time.
  • the characteristic that this performance is restored is a characteristic that HDD (Hard Disk Drive) does not have.
  • SSDs in general.
  • the SSD 1 of the vendor A company recovers 10% when the IO is suppressed for a predetermined time
  • the SSD 2 of the vendor B company recovers 60% when the sequential write is executed.
  • the characteristics differ depending on the type of the same SSD.
  • SSDs having different vendors, generations, or cell structures are treated as drives having different characteristics because the characteristics of individual (or partial) characteristics are different, although the general characteristics of SSDs are common.
  • Storage areas having different performances are provided to the controller as described above.
  • Storage areas with different performances that is, different types of SSDs 12, are classified according to performance, for example, either high-performance tier H (High), medium-performance tier M (Mid), or low-performance tier L (Low).
  • the SSD 12 initially classified as tier M is changed in tier so that it belongs to tier L when the performance deteriorates, and the tier is changed so as to belong again to tier M when the performance recovers.
  • a read-only archive tier A may be provided. This hierarchy is configured by the SSD 12 that is about to reach the rewrite life. The tier is not changed for the SSD 12 once moved to the main hierarchy.
  • the storage areas provided from the SSD 12 are classified into a plurality of tiers based on the performance and characteristics of the SSD 12, and fluctuations occur. Since the tier to which the SSD 12 belongs is changed based on the performance of the SSD 12, the deterioration of IO performance can be prevented.
  • FIG. 2 shows the internal configuration of the controller 11.
  • the controller 11 includes a CPU (Central Processing Unit) 111 and a memory 112.
  • the controller 11 and the SSD 12 are connected by an I / F 13.
  • a repeater such as a normal SAS expander is provided on the I / F 13.
  • the CPU 111 is a processor that comprehensively controls the operation of the controller 11 in cooperation with various tables 1121 and various programs 1122 stored in the memory 112.
  • the memory 112 is configured to store various tables 1121 and various programs 1122.
  • the various tables 1121 include a tier management table 11211, an SSD measurement performance management table 11212, an SSD type performance management table 11213, a write management table 11214, a tier capacity management table 11215, a characteristic management table 11216, a schedule management table 11217, and a field management table. There is 11218. Details of these various tables 1121 will be described later (FIGS. 3 to 10).
  • the various programs 1122 include an initial tier determination program 11221, a tier check program 11222, a tier change program 11223, and an event driven program 11224. Details of processing executed by these various programs 1122 based on the control of the CPU 1121 will be described later (FIGS. 13 to 30).
  • FIG. 3 shows a logical configuration of the tier management table 11211.
  • the tier management table 11211 is a table for managing the SSD 12 and the tier to which the SSD 12 belongs, and includes an SSD number column 112111 and a tier column 112112.
  • the tier column 112112 stores tier classifications classified by performance.
  • the SSD 12 with the SSD number “SSD 1” is shown to belong to the tier “Tier H”.
  • the tier H is the tier with the highest response performance
  • the tier M is the tier with the middle response performance
  • the tier L is the tier with the lowest response performance.
  • FIG. 4 shows a logical configuration of the SSD measurement performance management table 11212.
  • the SSD measurement performance management table 11212 is a table for managing the performance of the SSD 12 based on actual measurement, and includes an SSD number column 112121, a performance value column 112122, and a rank column 112123.
  • the identification number of the SSD 12 is stored.
  • the performance value column 112122 the value of IOPS is stored here.
  • the rank column 112123 stores performance ranks.
  • the SSD 12 with the SSD number “SSD 1” has the IOPS value “5000” and the performance rank “2”.
  • FIG. 5 shows a logical configuration of the SSD type performance management table 11213.
  • the SSD type name performance management table 11213 is a table for managing the theoretical initial performance of the SSD 12 based on the SSD type name, and includes an SSD type name column 112131 and a performance value column 112132.
  • the SSD type name column 112131 stores an SSD type name defined in advance by the vendor.
  • the performance value column 112132 stores the IOPS value here.
  • the SSD 12 whose SSD type name is “ABC” is theoretically shown to have an IOPS value of “1000” as the initial performance.
  • FIG. 6 shows a logical configuration of the write management table 11214.
  • the write management table 11214 is a table for managing writes to the SSD 12 and includes an SSD number column 112141, a write count column 112142, a write capacity column 112143, and an operation time column 112144.
  • the write count column 112142 stores the write count (cumulative count).
  • the write capacity column 112143 stores the write capacity (cumulative capacity).
  • the operation time column 112144 stores the operation time of the SSD 12.
  • the SSD 12 with the SSD number “SSD1” has a write count of “10000”, a write capacity of “5 GB”, and an operating time of “HH: MM: SS”. It is shown.
  • FIG. 7 shows a logical configuration of the tier capacity management table 11215.
  • the tier capacity management table 11215 is a table for managing the capacity of each tier, and includes a tier column 112151, a total capacity column 112152, and a free capacity column 112153.
  • the tier field 112151 stores the tier classification classified for each response performance.
  • the total capacity column 112152 stores the total capacity of the tier.
  • the free space column 112153 stores the free space of the tier.
  • the tier “Tier H” indicates that the total capacity is “10000 GB” and the free capacity is “8000 GB”.
  • the consumed capacity can be obtained by subtracting the free capacity from the total capacity.
  • FIG. 8 shows a logical configuration of the characteristic management table 11216.
  • the characteristic management table 11216 is a table for managing each characteristic of the SSD 12 obtained based on the previous mounting evaluation.
  • the vendor name column 112161, the model type column 112162, the life column 112163, the performance column 112164, the performance degradation degree It consists of a column 112165, a recovery method column 112166, and a recovery capability column 112167.
  • the vendor name column 112161 stores the vendor name of the SSD 12.
  • the model type column 112162 stores a model type such as a high-performance model or a low-priced model. In this field, an identification name such as a product type name or a part number may be stored.
  • an identification name such as a product type name or a part number may be stored.
  • the life column 112163 to the recovery capability column 112167 parameters (long, short, high speed, low speed, high, low, numerical information, etc.) or recovery methods for each characteristic are stored.
  • the lifetime column 112163 stores parameters regarding the lifetime of the SSD 12 due to the write count limit.
  • the performance column 112164 stores a parameter indicating the IO processing speed in relation to the IOPS or response time.
  • the performance degradation degree column 112165 a parameter indicating the degree of performance degradation is stored.
  • the recovery method column 112166 stores information indicating a performance recovery method.
  • the recovery capability column 112167 stores a parameter indicating the performance recovery capability.
  • the SSD 12 whose vendor name is “vendor A” and whose model type is “high performance model” has a long life, a performance of “high speed”, and a performance degradation degree of “12”. It is shown to be managed as having a characteristic that is “large”. Further, it is shown that the performance of the SSD 12 is recovered by executing “sequential write”, and the recovery capability is managed as having “high” characteristics.
  • FIG. 9 shows a logical configuration example of the schedule management table 11217.
  • the schedule management table 11217 is a table for managing a tier placement policy and a tier change schedule according to each parameter of each characteristic of the SSD 12, and includes an item column 112171, a parameter column 112172, and a schedule column 112173.
  • characteristic classifications of the SSD 12 are stored.
  • the characteristics stored in this item column 112171 correspond to the characteristics of the respective columns of the life column 112163 to the recovery capability column 112167 in the property management table 11216 of FIG.
  • the parameter column 112172 stores the parameter type for each characteristic.
  • the parameter type shown in this example is a definition in which values based on SSD 12 specifications, actual measurement data, statistical information in a field, and the like are separately classified (in an arbitrary group).
  • the schedule column 112173 stores a tier change schedule and the like.
  • “performance” includes “high speed”, “medium speed”, and “low speed” as parameters, and in the case of the SSD 12 belonging to the category of “high speed”, the SSD 12 is It is indicated that the tier to which it belongs is scheduled to be “at the time of initial installation: placed in a higher tier”.
  • the SSD 12 of “Vendor A” “High Performance Model” has a “long life” and a “high speed” performance. Therefore, the tier change is scheduled so that the SSD 12 is “placed in a higher tier” at the time of initial mounting and “teared down after 12 months”.
  • FIG. 10 shows a logical configuration of the field management table 11218.
  • the field management table 11218 is a table for managing a tier change schedule based on field information, and includes an SSD type name column 112181, an elapsed year / month column 112182, a field performance column 112183, and a tier arrangement schedule column 112184.
  • the SSD type name column 112181 an SSD type name prescribed in advance by the vendor is stored.
  • the elapsed year / month column 112182 stores information indicating the month or year in the order of progress.
  • the classification obtained from the statistical average value (field performance) of the performance actually performed on the SSD by the SSD of the same type name as the SSD type name column 112181 is stored for each elapsed year and month.
  • the tier arrangement schedule column 112184 stores a schedule for the tier to which the SSD 12 should belong every month elapsed since the initial installation.
  • the field performance stored in the field performance column 112183 is cumulatively aggregated including performance data actually collected on the field by the SSD having the same model name as the SSD type name column 112181. , Calculated based on the average value of the aggregated performance.
  • the field performance may be calculated simply from the SSD of the same model name as described above, for example, or may be calculated from the SSD of the same model name, the type of controller and the number of installed SSDs. Further, it may be calculated from an SSD having the same performance as that obtained as an actual measurement value when the SSD of the same model name and the SSD 12 are initially mounted.
  • the SSD 12 with the SSD type name “ABC” actually has a field performance of “1 month” and “2 month” when the SSD 12 with the same type name is installed in the storage device 10 in the past. Based on the field performance of “high”, the schedule is shown to belong to the high-performance “tier H”.
  • this SSD 12 is based on the field performance in which the field performance of the SSD 12 of the same model name subsequently changed to “medium”, “low”, “high”, based on “tier M” of medium performance, “tier L” of low performance, It is also shown that it is scheduled to belong to the high-performance “Tier H”.
  • the tier was changed to belong to “Tier L” in “N years” It is shown that it is scheduled to issue an exchange request.
  • FIG. 11 shows the relationship of the SSD 12 performance that changes over time and the tier to which this SSD 12 belongs.
  • the horizontal axis indicates time, and the vertical axis indicates performance.
  • the solid curve indicates the performance of the SSD 12 that varies with time, and the broken curve indicates a moving average of the performance of the SSD 12.
  • solid straight lines parallel to the horizontal axis indicate tier boundary values, and broken straight lines parallel to the horizontal axis indicate the upper limit value and lower limit value of the change width.
  • the boundary value of the tier is determined by calculating an average value of the performance of the SSD 12 belonging to each tier and calculating an intermediate value between the average values of adjacent tiers.
  • the range of change is determined by an upper limit value and a lower limit value for performance predetermined with reference to the boundary value of the tier.
  • the change of the tier to which the SSD 12 belongs is determined when the moving average of the performance of the SSD 12 exceeds or can be predicted to exceed the upper limit value or lower limit value of the change width.
  • the moving average of any SSD 12 of a plurality of SSDs 12 constituting the same RAID group exceeds the upper limit value or the lower limit value of the change width
  • the moving averages of other SSDs 12 constituting the same RAID group also exceed. Then it can be predicted.
  • the reason why the tier change is determined based on the moving average rather than the SSD 12 performance is to avoid frequent tier changes due to a sudden rise or fall in the SSD 12 performance.
  • the reason why the change of the tier is not the tier boundary value but is determined by whether or not this threshold is exceeded by setting the upper limit value or the lower limit value of the change width as a threshold value is that the performance of the SSD 12 is in the vicinity of the tier boundary value. This is to avoid frequent tier changes when rising or falling.
  • the moving average of the performance of the SSD 12 belonging to the tier M increases with the lapse of time at the time of initial mounting, and changes from the boundary value of the tier between the tier M and the tier H to + ⁇ as an upper limit value. It has been shown that the tier to which the SSD 12 belongs is changed from tier M to tier H when rising beyond the width.
  • the SSD 12 belongs. It is shown that the tier to be changed from tier H to tier M.
  • the tier to which the SSD 12 belongs is changed to the tier M. It has been shown not to.
  • FIG. 12 shows how the performances of the two SSDs 12 that change over time are reversed.
  • the horizontal axis indicates time
  • the vertical axis indicates performance.
  • a solid curve indicates the performance of each SSD 12 that varies with time
  • a broken straight line having a contact point on the solid line indicates a differential value of the performance of the SSD 12 at a certain time.
  • the change of the tier to which the SSD 12 belongs is determined when the performance of the target SSD 12 is reversed or predicted to be reversed with the performance of another SSD 12 belonging to another tier.
  • the differential value of the performance of the target SSD 12 at a certain time and the differential value of the performance of the other SSD 12 belonging to another tier are reversed within a certain time, it can be predicted that the performance is reversed.
  • the performance of “SSD2” having the highest performance among SSDs 12 belonging to L and belonging to Tier L is reversed over time, the tier to which “SSD1” belongs and “SSD2” at the reversed timing. The tier to which belongs is changed.
  • FIG. 13 shows a processing procedure for hierarchical control processing.
  • the hierarchical control process shown here shows the flow of the entire process, and is executed in response to an initial setting operation when the operation of the storage apparatus 10 is started.
  • This hierarchical control process is executed by the CPU 111 in cooperation with the initial tier determination program 11221, the tier check program 11222, and the tier change program 11223.
  • the CPU 111 reads the initial tier determination program 11221 in response to the initial setting operation. Then, the CPU 111 determines a tier (initial tier) to initially belong to each SSD 12 in cooperation with the read initial tier determination program 11221 (SP1).
  • the CPU 111 reads the tier check program 11222 and monitors the performance of each SSD 12 that changes over time constantly or regularly. Then, when there is an SSD 12 whose fluctuating performance exceeds a predetermined threshold, the CPU 111 decides to change the tier to which the SSD 12 has performance exceeding the threshold (SP2).
  • the threshold here is, for example, the upper limit value or the lower limit value of the change width (FIG. 11), or the relative performance with the SSD 12 belonging to another tier (FIG. 12).
  • the CPU 111 reads the tier change program 11223, changes the tier to which the SSD 12 to which the affiliation tier has been changed in step SP2 belongs (SP3), and ends this process. In the normal state, SP2 and SP3 are periodically repeated. When a new SSD 12 is installed, the SSD is executed from SP1.
  • FIG. 14 shows the detailed processing procedure of the hierarchical control processing.
  • the hierarchical control process shown here describes the hierarchical control process in FIG. 13 in detail.
  • the CPU 111 issues a pseudo-IO without data transfer to the SSD 12 (SP11).
  • the CPU 111 measures IOPS or response time as the performance of the SSD 12 (SP12).
  • the CPU 111 classifies the SSDs 12 to belong to the tier classification corresponding to the measured performance (SP13), and ends the initial tier determination process.
  • SP13 specifically, information on the tier to which each SSD 12 belongs is stored in the tier column 112112 of the tier management table 11211 (FIG. 3).
  • the CPU 111 calculates the average value by adding the performances of all the SSDs 12 belonging to each tier, sets the average value as the performance of each tier, and sets the intermediate value of the performances of adjacent tiers as the tier. (SP21). Next, the CPU 111 sets an upper limit value and a lower limit value for the predetermined performance from the boundary value, and determines the change width (SP22).
  • the CPU 111 measures the IOPS or response time of the SSD 12 as performance at all times or regularly (SP23).
  • the CPU 111 manages the measured performance value using the SSD measurement performance management table 11212 (FIG. 4).
  • the CPU 111 determines whether or not there is a change in which the measured performance of the SSD 12 exceeds or is predicted to exceed the upper limit value or lower limit value of the change width (SP24).
  • the CPU 111 proceeds to step SP21.
  • the CPU 111 determines the change of the tier to which the SSD 12 that has changed exceeding the upper limit value or the lower limit value of the change width belongs (SP25), and performs a tier check process. Exit.
  • tier change process SP3
  • a tier change process in the case where the tier to which the SSD 12 belongs is changed from a higher tier to a lower tier will be described.
  • the situation assumed as a case where the upper tier is changed to the lower tier may be, for example, a situation where the performance of the SSD 12 is degraded or the life of the SSD 12 is approaching.
  • the CPU 111 refers to the tier capacity management table 11215 (FIG. 7) and determines whether or not there is a free capacity in the change destination tier (SP31). If the CPU 111 obtains a negative result in the determination at step SP31, it requests the addition of an SSD 12 having performance equivalent to the tier classification of the change destination (SP32).
  • the CPU 111 determines whether there is data with high access frequency among the data stored in the target SSD 12 (SP34).
  • the CPU 111 When the CPU 111 obtains a negative result in the determination at step SP34, it ends the tier change process. On the other hand, if the CPU 111 obtains a positive result in the determination at step SP34, it migrates the frequently accessed data stored in the target SSD 12 to any SSD 12 belonging to the original higher tier before the tier change. (SP35), the tier change process is terminated.
  • the above-described processing is sequentially executed for all the SSDs 12 installed in the storage apparatus 10.
  • the other initial tier determination processes (1) to (3) shown here correspond to the initial tier determination processes (SP11 to SP13) described in FIG. 14, and are replaced with the initial tier determination processes (SP11 to SP13). Can be executed.
  • the CPU 111 acquires the SSD type name of the SSD 12 mounted on the storage device 10 (SP11A). Next, the CPU 111 refers to the SSD type performance management table 11213 (FIG. 5) and classifies the SSDs 12 based on the performance corresponding to the acquired SSD type name (SP12A). Then, the CPU 111 determines the initial tier to which the SSD 12 belongs by assigning tiers in order from the SSD 12 with the highest performance (SP13A), and ends the other initial tier determination processing (1).
  • Steps SP11B and SP12B are the same as steps SP11 and SP12 in the initial tier determination process (SP1), and thus the description thereof is omitted.
  • the CPU 111 determines the initial tier to which the SSD 12 belongs by assigning tiers in the order of the required number of each tier determined in advance from the high-performance SSD 12 (SP13B), and other initial tier determination processing (2 ) Ends.
  • the CPU 111 determines the initial tier to which the SSD 12 belongs by setting the tier to which all the SSDs 12 mounted in the storage apparatus 10 belong to the tier M having a performance of “medium” (SP11C), and determines other initial tiers.
  • the process (3) is terminated.
  • the other tier check processes shown here are processes corresponding to the tier check processes (SP21 to SP25) described in FIG. 14, and can be executed instead of the tier check processes (SP21 to SP25).
  • the CPU 111 measures the IOPS or response time of the SSD 12 mounted on the storage device 10 as performance (SP21A). Next, the CPU 111 extracts any one of the SSDs 12 from among the plurality of SSDs 12, and whether there is a change in which the performance of the extracted SSD 12 is reversed with respect to the performance of other SSDs 12 belonging to another tier or a change that is predicted to be reversed. It is determined whether or not (SP22A).
  • the CPU 111 When the CPU 111 obtains a negative result in the determination at step SP22A, the CPU 111 proceeds to step SP21A, performs the next performance measurement for the same SSD 12, or executes the same processing for another SSD 12. On the other hand, if the CPU 111 obtains a positive result in the determination at step SP22A, it determines a change of tiers belonging to the SSDs (target SSDs) 12 to be determined at step SP22A (SP23A), and performs another tier check process. End (1).
  • the CPU 111 monitors the write count or write capacity for the SSD 12 (SP21B), and manages the write count or write capacity using the write management table 11214 (FIG. 6). Then, the CPU 111 determines whether or not the number of writes or the write capacity has exceeded a predetermined threshold (SP22B).
  • step SP22B determines the next write count or write capacity for the same SSD 12, or executes the same processing for another SSD 12.
  • the CPU 111 obtains a positive result in the determination at step SP22B, it determines the change of the tier to which the SSD (target SSD) 12 to be determined at step SP22B belongs (SP23B), and performs another tier check process ( 2) is finished.
  • the CPU 111 monitors the operation time for the SSD 12 (SP21C), and manages the operation time using the write management table 11214 (FIG. 6). Then, the CPU 111 determines whether or not the operating time has exceeded a predetermined threshold (SP22C).
  • step SP22C If the CPU 111 obtains a negative result in the determination at step SP22C, the CPU 111 proceeds to step SP21C, performs the next operation time determination on the same SSD 12, or executes the same processing on another SSD 12. On the other hand, when the CPU 111 obtains a positive result in the determination at step SP22C, it determines the change of the tier to which the SSD (target SSD) 12 to be determined at step SP22C belongs (SP23C), and performs other tier check processing ( 3) is completed.
  • FIG. 21 shows another tier change process.
  • the other tier change process shown here is a process corresponding to the tier change process (SP31 to SP35) described in FIG. 14, and can be executed in place of the tier change process (SP31 to SP35).
  • the other tier change process is a process when the tier to which the SSD 12 belongs is changed from a lower tier to an upper tier.
  • the situation assumed as the case where the lower tier is changed to the upper tier may be a situation where the performance of the SSD 12 is recovered.
  • the CPU 111 raises the current affiliation of the SSD (target SSD) 12 that has decided to change the tier in the tier check process (SP2) to the next tier (SP31A). Then, the CPU 111 determines whether there is data with low access frequency among the data stored in the target SSD 12 (SP32A).
  • the CPU 111 obtains a negative result in the determination at step SP32A, it ends the other tier change processing. On the other hand, if the CPU 111 obtains a positive result in the determination at step SP32A, it migrates the data with low access frequency stored in the target SSD 12 to any SSD 12 belonging to the original lower tier before the tier change. (SP33A), the other tier change processing is terminated.
  • the present invention is not limited to this, and the processing may not be performed for SP32A and SP33A. In this case, data with low access frequency stored in the SSD 12 is migrated to a lower tier at the execution timing of the normal inter-tier data migration processing. Further, the processing corresponding to SP31 in FIG. 14 is not necessary. When the free space is insufficient in the lower tier, the data with low access frequency remains in the upper tier without being migrated or is partially migrated by an amount corresponding to the free space.
  • the second embodiment is different from the first embodiment in that a schedule process is executed instead of the tier check process (SP2).
  • SP2 tier check process
  • the same components as those in the first embodiment will be denoted by the same reference numerals, the description thereof will be omitted, and different configurations will be described.
  • FIG. 22 shows the processing procedure of the second hierarchical control process.
  • the second hierarchical control process shown here corresponds to the hierarchical control process (FIG. 13) in the first embodiment, and a schedule process (SP4) is executed instead of the tier check process (SP2). .
  • SP4 schedule process
  • SP2 tier check process
  • the schedule process (SP4) is a process executed by the CPU 111 in cooperation with the tier check program 11222, and is a process for determining a change of the tier to which each SSD 12 belongs according to a predetermined schedule.
  • FIG. 23 shows the detailed processing procedure of the schedule processing.
  • the schedule process shown here describes the schedule process in FIG. 22 in detail.
  • the CPU 111 manages the characteristic management table 11216 (FIG. 8) and the schedule management table 11217 (FIG. 9) in advance, and refers to the characteristic management table 11216 and the schedule management table 11217 to determine the timing of the tier change of the SSD 12. decide. Then, the CPU 111 determines whether or not the determined timing for changing the tier of the SSD 12 has been reached (SP41A). *
  • the CPU 111 obtains a negative result in the determination at step SP41A, it repeats the determination at step SP41A. On the other hand, when the CPU 111 obtains a positive result in the determination at step SP41A, it determines the change of the tier to which the SSD (target SSD) 12 to be determined at step SP41A belongs (SP42A), and ends the scheduling process.
  • FIG. 24 shows a detailed processing procedure of other schedule processing.
  • the other schedule process shown here describes the schedule process SP4 in FIG. 22 in detail, and is a process that can be executed instead of the schedule process (SP41A and SP42A) in FIG.
  • the CPU 111 confirms and updates the field management table 11218 with respect to the information that is the source of the field management table based on the monitoring of the field status by obtaining input from the operator or the network (SP41B), and the field management table 11218 (FIG. 10 ). Specifically, the CPU 111 manages the field performance in the field management table 11218 corresponding to the operating time of the SSD 12.
  • the CPU 111 determines the change timing of the tier to which each SSD 12 belongs by referring to the field management table 11218 for the tier arrangement schedule determined based on the field performance (SP42B).
  • the CPU 111 determines whether or not the change timing of the tier to which the SSD 12 belongs calculated in SP42B has arrived (SP43B). If the CPU 111 obtains a negative result in the determination at step SP43B, the CPU 111 proceeds to step SP41B.
  • the CPU 111 determines the change of the tier to which the determination target SSD (target SSD) 12 at step SP43B belongs (SP44B), and ends the other schedule processing. .
  • FIG. 25 shows a processing procedure for event-driven processing.
  • the event-driven process shown here shows the flow of the entire process, triggered by the timing when the life of the SSD 12 mounted in the storage device 10 approaches, the timing when the SSD 12 is added, or the time when the SSD 12 is removed. Executed. This event-driven process is executed by the CPU 111 in cooperation with the event-driven program 11224.
  • the CPU 111 detects that the life of the SSD 12 is approaching, the addition of the SSD 12 or the reduction of the SSD 12, the event-driven program 11224 is read out.
  • the CPU 111 executes event-driven processing in cooperation with the read event-driven program 11224 (SP5).
  • FIG. 26 shows a processing procedure of event-driven processing executed at the timing when the life of the SSD 12 approaches.
  • the CPU 111 acquires the number of writes of each SSD 12 (SP51).
  • the number of writes is managed in the SSD 12. For example, when the CPU 111 issues a command called “mode sense (MODE SENSE)” to the SSD 12, a value indicating “current write count” / “write count limit” is reported from the SSD 12 to the CPU 111. Is done. For example, if the value reported from the SSD 12 is “85”, it indicates that the current write is limited to 85% of the write count limit.
  • mode sense MODE SENSE
  • the CPU 111 determines whether or not the acquired number of writes is close to the limit on the number of writes (SP52). Note that the CPU 111 determines that it is close to the write count limit when the acquired write count exceeds a predetermined threshold.
  • the CPU 111 proceeds to step SP51.
  • the CPU 111 determines to change from the tier to which the SSD (target SSD) 12 to be determined at step SP52 belongs to the lowest tier (SP53).
  • the CPU 111 changes the affiliation of the target SSD 12 to the lowest tier by executing a tier change process (SP31 to SP35). It is desirable that the target SSD 12 whose tier has been changed should not be changed to a higher tier because its life will be short even if the performance recovers in the future.
  • the CPU 111 sets a bit that does not change the tier to which the target SSD 12 belongs (SP54), issues a message for prompting the addition of the SSD 12, and ends the event-driven process.
  • FIG. 27 shows the procedure of another event-driven process (1) executed at the timing of adding the SSD 12.
  • the CPU 111 determines whether or not a new SSD 12 has been added to the storage device 10 (SP51A). If the CPU 111 obtains a negative result in the determination at step SP51A, it repeats the determination at step SP51A.
  • the CPU 111 determines whether or not the added SSD 12 has a certain amount of free space (SP52A). If the CPU 111 obtains a negative result in the determination at step SP52A, it ends this other event-driven process.
  • the CPU 111 determines to change the SSD 12 having the shortest life to the lowest tier among the other SSDs 12 belonging to the same tier as the tier to which the added SSD 12 belongs (SP54A).
  • the CPU 111 executes a tier change process (SP31 to SP35) on the SSD (target SSD) 12 whose tier change has been determined in step SP54A to change the target SSD 12 to the lowest tier. Since the target SSD 12 whose tier has been changed does not necessarily have a short lifetime, there is a possibility that it will return to a higher tier again in a short time.
  • the CPU 111 sets a bit that does not change the tier to which the target SSD 12 belongs for a certain period of time (SP55A), and ends the other event-driven processing (1).
  • FIG. 28 shows the procedure of another event-driven process (2) executed at the timing when the SSD 12 is removed.
  • the CPU 111 detects that a reduction setting specifying a tier has been performed for the SSD 12 mounted in the storage device 10 (SP51B), there is free space in the tier to be reduced or in a tier higher than this tier. It is determined whether or not there is (SP52B).
  • step SP52B If the CPU 111 obtains a negative result in the determination at step SP52B, if any SSD 12 belonging to the tier to be removed is removed, a data storage location cannot be secured, and a message indicating that the removal has been rejected is displayed. Issued (SP53B), and the other event-driven processing is terminated.
  • the CPU 111 determines that the SSD 12 having the shortest life among the SSDs 12 belonging to the tier to be removed is to be removed (SP55B).
  • the CPU 111 copies the data stored in the SSD 12 with the shortest life to another SSD 12 belonging to the same tier or a higher tier than this tier (SP56B). Then, the CPU 111 determines whether or not copying has been completed (SP57B).
  • the CPU 111 obtains a negative result in the determination at step SP57B, it repeats the process at step SP56B until the copying is completed. On the other hand, if the CPU 111 obtains a positive result in the determination at step SP57B, it notifies or displays a message to the operator that the SSD 12 with the shortest life may be removed, and detects that the SSD 12 is actually removed. (SP58B), the other event-driven process (2) is terminated.
  • FIG. 29 shows a processing procedure of performance recovery processing for the SSD 12 whose performance is recovered by sequential writing.
  • This performance recovery process is a process executed on the SSD 12 whose performance has deteriorated.
  • the performance recovery process is executed with the timing of step SP52B of another event-driven process (2) (FIG. 28) as a trigger.
  • the CPU 111 reads data from the SSD (target SSD) 12 whose performance has deteriorated and stores it in the cache in the controller 11 (SP51C).
  • the CPU 111 writes the data stored in the cache back to the target SSD 12 by sequential write (SP52C), and ends the performance recovery process.
  • FIG. 30 shows the processing procedure of another performance recovery process for the SSD 12 whose performance is recovered by IO suppression.
  • This other performance recovery process is a process executed on the SSD 12 whose performance has deteriorated, and is executed at the same timing as the performance recovery process of FIG. 29, for example.
  • the CPU 111 determines whether or not the IO with respect to the SSD 12 is performed over the threshold (SP51D). If the CPU 111 obtains a negative result in the determination at step SP51D, it ends this other performance recovery process. On the other hand, if the CPU 111 obtains a positive result in the determination at step SP51D, it determines whether the IO being performed above the threshold is a read or a write (SP52D).
  • the CPU 111 performs a collection read from another SSD 12 constituting the same RAID group as the SSD (target SSD) 12 performing the read above the threshold (SP56D). The control is performed so that the IO for the target SSD 12 is equal to or less than the threshold value. Then, the CPU 111 determines whether or not the performance of the target SSD 12 has been recovered by suppressing the IO for a predetermined time (SP57D).
  • step SP57D If the CPU 111 obtains a negative result in the determination at step SP57D, the CPU 111 proceeds to step SP52D. In contrast, when the CPU 111 obtains a positive result in the determination at step SP57D, it ends the other performance recovery processing.
  • step SP52D when the IO performed over the threshold is a write, the CPU 111 uses another SSD 12 constituting a RAID group different from the target SSD 12 over which the write over the threshold is performed, etc. ⁇ data stored in the target SSD is written to the SSD 12 or another SSD 12 used as a journal volume (SP53D), and control is performed so that the IO with respect to the target SSD 12 is equal to or less than the threshold value. Then, the CPU 111 determines whether or not the performance of the target SSD 12 has been recovered by suppressing the IO for a predetermined time (SP54D).
  • SP54D predetermined time
  • the CPU 111 If the CPU 111 obtains a negative result in the determination at step SP54D, the CPU 111 proceeds to step SP52D. In contrast, when the CPU 111 obtains a positive result in the determination at step SP54D, it writes the saved data written to the other SSD 12 to the target SSD 12 whose performance has been recovered (SP55D), and ends the other performance recovery processing.
  • the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.
  • the present invention is described mainly with respect to the characteristics of the flash memory SSD in order to exert a remarkable effect on the SSD adopting the flash memory as a storage element.
  • the scope of the present invention is not limited to this, and various semiconductor memories are used.
  • the present invention can be applied to SSDs adopting the above, and can be widely applied to storage devices and computers in which SSDs can be mounted in a situation where there is a difference in characteristics as an SSD.
  • Storage System 10 Storage Device 11 Controller 111 CPU 112 Memory 1121 Table 1122 Program 12 SSD 13 I / F 20 Host computer

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】変動するSSDの性能に基づいて階層制御を実行し得るストレージ装置及び階層制御方法を提案する。 【解決手段】フラッシュメモリから構成される複数のドライブを搭載したストレージ装置において、複数のドライブから提供される記憶領域を性能の異なる複数のティアに分類して管理することにより記憶領域を階層制御するコントローラを備え、コントローラは、ドライブの性能に基づいて、ドライブが所属する第1のティアを決定し、ドライブの特性によって変動するドライブの性能に基づいて、ドライブが所属するティアを第1のティアから第2のティアに変更することを決定し、変更することを決定したドライブの所属を第1のティアから第2のティアに変更することを特徴とする。

Description

ストレージ装置及び階層制御方法
 本発明は、ストレージ装置及び階層制御方法に関し、特に全ての記憶媒体がSSDで構成されたストレージ装置に適用して好適なものであり、また記憶領域を複数のティア(階層)に分類して管理する階層制御方法に適用して好適なものである。
 近年、技術の進展にともないストレージ装置の高性能化が要求されている。特に爆発的に増え続けるデータを格納するとともに、記憶媒体に対するIO(Input Output)を高速に処理することが要求されている。
 特許文献1には、記憶領域を階層化して制御する技術が開示されている。この特許文献1に記載の技術によれば、記憶領域をIO性能や信頼性に基づいて階層化して管理する。そしてアクセス頻度に基づいて、IO性能が要求されるデータを高階層に配置し、逆にIO性能が要求されないデータは低階層に配置する。またIO処理の状況に基づいて階層間でデータを適宜移動させる。これによりIOを高速に処理するとしている。
特開2008-47156号公報
 ところで特許文献1に記載の技術では、記憶領域を階層化する際、記憶媒体の性能の違いを利用する。記憶媒体にはHDD(Hard Disk Drive)が用いられ、また近年ではHDDとともにフラッシュメモリから構成されるSSD(Solid State Drive)が用いられる。SSDは、HDDと比較して、不揮発でありながら高速にIOを処理することができるという特徴がある。
 現在主流のSSDでは、記憶素子にフラッシュメモリ素子が使用されており、書換え回数の寿命を軽減するためにウェアレベリング処理という、シンプロビジョニング的な技術が採用されている。この制御は上位装置(例:ストレージコントローラ)からデータを格納された位置情報(LBA)と実際に内部のどの素子のどの位置に格納されているかをマッピングしてIOを処理する手法である。このため論理-物理マッピングの情報(メタデータ)が格納データとともに増大する。
 またSSDにはウェアレベリング処理に加えて、レクラメーション処理という技術も採用されている。これは更新(上書き)データを受領した場合に、ウェアレベリング処理により別の内部領域に書き込まれたデータの、元の古いデータ(無効データ)を集約して解放し、解放領域を再使用するという技術である。レクラメーション処理が実行されるまで、メタデータ上には無効のエントリが存在するためメタデータ内のデータベースの検索効率が低下する。このような理由でメタデータが肥大化するに従い、検索オーバヘッドの増大によりIO性能が低下する。これは、シンプロビジョニング方式を採用するストレージ装置についても同様であり、データ格納に伴うメタデータの肥大により検索オーバヘッドの増大が生じる。
 特許文献1に記載の技術は、これらHDD及びSSDを用いて、HDD及びSSDから提供される記憶領域を複数のティア(階層)に分類して階層制御するものであるが、この階層制御においてはHDD及びSSDから提供される記憶領域を利用した分だけHDD及びSSDの性能が低下することを前提としたものである。なおここでいう「性能」とは、例えばIOPS(Input Output Per Second)である。
 しかし、SSDは使用している記憶素子の種類(SLC:Single-Level-CellやMLC:Multi-Level-Cell等の方式)や内部バスの並列度(ビット数等)、処理の多重度等によって性能や寿命が異なり、また所定の条件下で性能が回復するという性質がある。この性質は、ベンダ固有で異なる。このベンダ固有で異なるSSD特有の性質をここでは「特性」と呼ぶ。
 すなわちSSDは、記憶領域を利用した分だけ性能が低下するという前述の特性以外に、所定の処理を実行することで性能が回復するという特性がある。これは例えば、レクラメーション処理の実行により、メタデータ内の無効データのエントリが整理されることでメタデータが小さくなり、検索効率が向上することや、シーケンシャルライトの実行により、複数のメタデータのエントリが統合されることで、結果的にメタデータが小さくなり、同様に検索効率が向上するというSSDの内部的要因によるものと推定される。
 特許文献1に記載の技術では、このSSDの性能差及び回復特性について何ら考慮されておらず、HDDと比較したときのSSDの最大の特徴である性能が変動するという点が生かされていない。特にSSDの性能が回復した場合にはティア間でデータの移動が発生すべきであるところ、特許文献1に記載の技術ではこのSSDの性能の回復にともなうデータの移動は考慮されていない。またSSDのティアは細分化されておらず、SSDにおける機種の違いによる書換え寿命の特性差についても何ら考慮されていない。
 本発明は以上の点を考慮してなされたもので、変動するSSDの性能及び特性に基づいて階層制御を実行し得るストレージ装置及び階層制御方法を提案するものである。
 かかる課題を解決するために、本発明におけるストレージ装置は、フラッシュメモリから構成される複数のドライブを搭載したストレージ装置において、複数のドライブから提供される記憶領域を性能の異なる複数のティアに分類して管理することにより記憶領域を階層制御するコントローラを備え、コントローラは、ドライブの性能に基づいて、ドライブが所属する第1のティアを決定し、ドライブの特性によって変動するドライブの性能に基づいて、ドライブが所属するティアを第1のティアから第2のティアに変更することを決定し、変更することを決定したドライブの所属を第1のティアから第2のティアに変更することを特徴とする。
 またかかる課題を解決するために、本発明における階層制御方法は、フラッシュメモリから構成される複数のドライブから提供される記憶領域を性能の異なる複数のティアに分類して管理することにより記憶領域を階層制御するコントローラを備えたストレージ装置の階層制御方法において、コントローラが、ドライブの性能に基づいて、ドライブが所属する第1のティアを決定する第1のステップと、ドライブの特性によって変動するドライブの性能に基づいて、ドライブが所属するティアを第1のティアから第2のティアに変更することを決定する第2のステップと、ティアを変更することを決定したドライブの所属を第1のティアから第2のティアに変更する第3のステップとを備えることを特徴とする。
 本発明によれば、変動するSSDの性能及び特性に基づいて階層制御を実行することができる。
本実施の形態におけるストレージシステムの全体構成図である。 コントローラの内部構成図である。 ティア管理テーブルの論理構成図である。 SSD測定性能管理テーブルの論理構成図である。 SSD型名性能管理テーブルの論理構成図である。 ライト管理テーブルの論理構成図である。 ティア容量管理テーブルの論理構成図である。 特性管理テーブルの論理構成図である。 スケジュール管理テーブルの論理構成図である。 フィールド管理テーブルの論理構成図である。 変動するSSDの性能及び所属するティアの関係を示す概念図である。 変動するSSDの性能が逆転する様子を示す概念図である。 階層制御処理の全体の流れを示すフローチャートである。 階層制御処理の詳細を示すフローチャートである。 他の初期ティア決定処理を示すフローチャートである。 他の初期ティア決定処理を示すフローチャートである。 他の初期ティア決定処理を示すフローチャートである。 他のティアチェック処理を示すフローチャートである。 他のティアチェック処理を示すフローチャートである。 他のティアチェック処理を示すフローチャートである。 他のティア変更処理を示すフローチャートである。 第2の階層制御処理の全体の流れを示すフローチャートである。 スケジュール処理を示すフローチャートである。 他のスケジュール処理を示すフローチャートである。 イベントドリブン処理の全体の流れを示すフローチャートである。 イベントドリブン処理を示すフローチャートである。 他のイベントドリブン処理を示すフローチャートである。 他のイベントドリブン処理を示すフローチャートである。 SSDの性能回復処理を示すフローチャートである。 他のSSDの性能回復処理を示すフローチャートである。
 以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1-1)全体構成
 図1は、本実施の形態におけるストレージシステム1の全体構成を示す。ストレージシステム1は、ストレージ装置10及びホストコンピュータ20を備えて構成される。これらストレージ装置10及びホストコンピュータ20は、通信回線N1を介して互いに通信可能に接続される。通信回線N1は、例えばLAN(Local Area Network)又はSAN(Storage Area Network)である。
 ストレージ装置10は、コントローラ11及び複数のSSD(Solid State Drive)12から構成される。コントローラ11及び複数のSSD12は、例えばSANを介して通信可能に接続される。SSD12は、フラッシュメモリから構成されるドライブである。
 コントローラ11は、ホストコンピュータ20からのリード要求又はライト要求(総称してIO要求と呼ぶ)を受領すると、SSD12にアクセスして、リード要求に対応するデータ(リードデータ)をSSD12からリードし、またライト要求に対応するデータ(ライトデータ)をSSD12にライトする。また本実施の形態におけるコントローラ11は、階層制御を実行する。
 階層制御とは、複数のSSD12から提供される記憶領域を各SSD12の応答性能ごとに複数の階層(ティア)に分類し、アクセス頻度の多いデータについては高性能のティアに所属するSSD12(高性能のティアに所属する記憶領域を提供するSSD12)に格納し、アクセス頻度の低いデータについては低性能のティアに所属するSSD12(低性能のティアに所属する記憶領域を提供するSSD12)に格納して、ホストコンピュータ20からのIO要求に対して高速に応答することを実現する制御方法である。
 ここで応答性能、高性能又は低性能の「性能」とは、IOPS(Input Output Per Second)又は応答時間(Response Time)を意味する。以下の説明において応答性能、高性能、低性能又は単に性能という用語を用いて説明している場合には、このIOPS又は応答時間に基づく指標を意味する。また必要に応じてIOPS及び応答時間の移動平均、過重移動平均、微分値、変化量を性能の指標として用いる場合がある。
 また既に知られている一般的な階層制御では、種別の異なる記憶媒体(例えばSSD、SAS、SATA)から提供される記憶領域をそれぞれティア1、ティア2、ティア3のように分類し、何れかのティア1~3に所属する記憶領域にデータを格納する一方で、格納したデータのアクセス頻度を監視し、アクセス頻度に基づいてデータを格納する記憶領域を再配置する制御が行われる。
 よって本実施の形態におけるストレージ装置10のように全ての記憶媒体がSSD12で構成されている場合、種別が同一であるため通常は階層制御の必要がないようにも思われる。しかし後述するように同じSSD12であっても種類によってその性能及び特性(特性については後述する)には違いがある。またSSD12は利用時間の経過とともに性能が劣化するだけでなく、所定の処理を実行することにより性能が回復する。すなわちSSD12の性能は時間経過とともに変動する。
 この性能が変動するというSSD12の特徴を利用して階層制御を行う点が、本実施の形態におけるストレージ装置10の特徴的構成である。そして本実施の形態においては、このSSD12の性能が変動することに基づいて階層制御を実行することにより、IOの性能低下を防止しつつ寿命の長大化を実現しようとするものである。
 複数のSSD12は、同一種類のドライブ同士でRAID(Redundant Array Independent Disks)グループを構成する。同一種類のドライブ同士で構成されたそれぞれのRAIDグループは、性能の異なる記憶領域をコントローラ11に提供する。コントローラ11に提供された性能の異なる記憶領域は、上述した階層制御によりそれぞれ複数のティアに分類されて管理される。
 RAIDグループの構成要件とした「同一種類のドライブ」とは、例えば同一のベンダ、同一の世代及び同一のセル構造(SLC,MLC,TLC)を有するSSDであり、仕様や性能が共通するSSDを意味する。一般にSSDは、データ保有率により性能が変化し、使用し続けると性能が劣化し、ライト回数に制限があり(寿命があり)、所定条件を満たすと性能が回復するという大きく4つの特徴的な特性(性質)を有する。
 具体的にはSSDは、前述したようにデータの保有率に基づいて性能が劣化し、ガーベージコレクション処理であるレクラメーションを実行することにより性能が変動する。また内部セルのライト回数がライト回数制限近くになると性能が劣化し、ライト回数制限が書換え寿命である。またSSDによってはシーケンシャルライトを実行又は一定時間IOを抑止することで性能が回復する。特にこの性能が回復するという特性は、HDD(Hard Disk Drive)にはない特性である。
 これらの特性はSSD一般に共通するものであるが、例えばベンダA社のSSD1は一定時間IOを抑止すると性能が10%回復し、ベンダB社のSSD2はシーケンシャルライトを実行すると性能が60%回復するといったように、同じSSDのなかでも種類によっては特性が異なる。ここではベンダ、世代又はセル構造が異なるSSD同士は、SSDが有する一般的な特性は共通するものの、個別の(または部分的な)特性の内容に違いがあるため特性の異なるドライブとして取り扱う。
 よって複数のSSD12からは、上述したように性能の異なる記憶領域がコントローラに提供される。性能の異なる記憶領域、すなわち種類の異なるSSD12は、性能ごとに例えば高性能のティアH(High)、中性能のティアM(Mid)、低性能のティアL(Low)の何れかに分類されて管理される。そして例えば当初ティアMに分類されたSSD12は、性能が劣化するとティアLに所属するようにティアが変更され、性能が回復すると再びティアMに所属するように所属ティアが変更される。また上記以外にも読み出し専用のアーカイブ用ティアA(Archive)を設ける様にしてもよい。この階層は、書換え寿命到達寸前のSSD12により構成される。一旦本階層に移動したSSD12には、ティアの変更は行われない。
 このように本実施の形態によれば、全ての記憶媒体をSSD12で構成したストレージ装置10において、SSD12の性能及び特性に基づいて、SSD12から提供される記憶領域を複数のティアに分類し、変動するSSD12の性能に基づいて、SSD12が所属するティアを変更するようにしたので、IO性能の劣化防止を実現することができる。
(1-2)内部構成
 図2は、コントローラ11の内部構成を示す。コントローラ11は、CPU(Central Processing Unit)111及びメモリ112を備えて構成される。またコントローラ11及びSSD12は、I/F13により接続される。なお図示していないが、I/F13上には、通常SASエクスパンダ等の中継器が設けられる。
 CPU111は、メモリ112内に格納された各種テーブル1121及び各種プログラム1122と協働して、コントローラ11の動作を統括的に制御するプロセッサである。
 メモリ112は、各種テーブル1121及び各種プログラム1122を記憶して構成される。各種テーブル1121には、ティア管理テーブル11211、SSD測定性能管理テーブル11212、SSD型名性能管理テーブル11213、ライト管理テーブル11214、ティア容量管理テーブル11215、特性管理テーブル11216、スケジュール管理テーブル11217及びフィールド管理テーブル11218がある。これらの各種テーブル1121の詳細については後述する(図3~図10)。
 また各種プログラム1122には、初期ティア決定プログラム11221、ティアチェックプログラム11222、ティア変更プログラム11223及びイベントドリブンプログラム11224がある。これらの各種プログラム1122がCPU1121の制御に基づいて実行する処理の詳細については後述する(図13~図30)。
(1-3)詳細構成
 図3は、ティア管理テーブル11211の論理構成を示す。ティア管理テーブル11211は、SSD12及びSSD12の所属するティアを管理するためのテーブルであり、SSD番号欄112111及びティア欄112112から構成される。
 SSD番号欄112111には、SSD12の識別番号が格納される。またティア欄112112には、性能ごとに分類されるティアの区分が格納される。
 従って図3の場合、例えばSSD番号が「SSD1」のSSD12は、「ティアH」のティアに所属していることが示されている。なおここではティアHは応答性能が最上位のティアであり、ティアMは応答性能が中位のティアであり、ティアLは応答性能が最下位のティアである。
 図4は、SSD測定性能管理テーブル11212の論理構成を示す。SSD測定性能管理テーブル11212は、実測に基づくSSD12の性能を管理するためのテーブルであり、SSD番号欄112121、性能値欄112122及び順位欄112123から構成される。
 SSD番号欄112121には、SSD12の識別番号が格納される。性能値欄112122には、ここではIOPSの値が格納される。また順位欄112123には、性能順位が格納される。
 従って図4の場合、例えばSSD番号が「SSD1」のSSD12は、IOPSの値が「5000」であり、性能順位は「2」番目であることが示されている。
 図5は、SSD型名性能管理テーブル11213の論理構成を示す。SSD型名性能管理テーブル11213は、SSD型名に基づくSSD12の理論上の初期性能を管理するためのテーブルであり、SSD型名欄112131及び性能値欄112132から構成される。
 SSD型名欄112131には、ベンダによって予め規定されたSSD型名が格納される。また性能値欄112132には、ここではIOPSの値が格納される。
 従って図5の場合、例えばSSD型名が「ABC」のSSD12は、理論上初期性能としてIOPSの値は「1000」であることが示されている。
 図6は、ライト管理テーブル11214の論理構成を示す。ライト管理テーブル11214は、SSD12に対するライトを管理するためのテーブルであり、SSD番号欄112141、ライト回数欄112142、ライト容量欄112143及び稼働時間欄112144から構成される。
 SSD番号欄112141には、SSD12の識別番号が格納される。ライト回数欄112142には、ライト回数(累積回数)が格納される。ライト容量欄112143には、ライト容量(累積容量)が格納される。稼働時間欄112144には、SSD12の稼働時間が格納される。
 従って図6の場合、例えばSSD番号が「SSD1」のSSD12は、ライト回数が「10000」回であり、ライト容量が「5GB」であり、稼働時間が「HH:MM:SS」であることが示されている。
 図7は、ティア容量管理テーブル11215の論理構成を示す。ティア容量管理テーブル11215は、各ティアの容量を管理するためのテーブルであり、ティア欄112151、総容量欄112152及び空き容量欄112153から構成される。
 ティア欄112151には、応答性能毎に分類されるティアの区分が格納される。総容量欄112152には、ティアの総容量が格納される。空き容量欄112153には、ティアの空き容量が格納される。
 従って図7の場合、例えば「ティアH」のティアは、総容量が「10000GB」であり、空き容量が「8000GB」であることが示されている。なお消費容量は総容量から空き容量を差し引く事で求める事ができる。この場合の当該ティアの消費容量は、10000GB-8000GB=2000GBである。
 図8は、特性管理テーブル11216の論理構成を示す。特性管理テーブル11216は、事前の搭載評価に基づいて得られたSSD12の各特性を管理するためのテーブルであり、ベンダ名欄112161、モデル種別欄112162、寿命欄112163、性能欄112164、性能低下度合欄112165、回復方法欄112166及び回復能力欄112167から構成される。
 ベンダ名欄112161には、SSD12のベンダ名が格納される。モデル種別欄112162には、高性能モデル又は廉価モデルといったモデル種別が格納される。なおこの欄には、製品型名やパーツ番号等の識別名が格納されてもよい。寿命欄112163~回復能力欄112167には、各特性におけるパラメータ(長い、短い、高速、低速、高、低あるいは数値情報など)又は回復方法が格納される。
 具体的には寿命欄112163には、ライト回数制限に起因するSSD12の寿命におけるパラメータが格納される。性能欄112164には、IOPS又は応答時間に関連してIOの処理速度を示すパラメータが格納される。
 性能低下度合欄112165には、性能低下の度合いを示すパラメータが格納される。回復方法欄112166には、性能回復の方法を示す情報が格納される。回復能力欄112167には、性能回復能力を示すパラメータが格納される。
 従って図8の場合、例えばベンダ名が「ベンダA」であってモデル種別が「高性能モデル」であるSSD12は、寿命は「長」く、性能は「高速」であり、性能低下度合は「大」である特性を有するものとして管理されることが示されている。またこのSSD12は、「シーケンシャルライト」を実行することにより性能が回復し、回復能力は「高」い特性を有するものとして管理されることが示されている。
 図9は、スケジュール管理テーブル11217の論理構成例を示す。スケジュール管理テーブル11217は、SSD12の各特性の各パラメータに応じたティア配置のポリシー及びティア変更のスケジュールを管理するためのテーブルであり、項目欄112171、パラメータ欄112172及びスケジュール欄112173から構成される。
 項目欄112171には、SSD12が有する特性区分が格納される。この項目欄112171に格納される特性は、図8の特性管理テーブル11216における寿命欄112163~回復能力欄112167の各欄の特性に対応する。またパラメータ欄112172には、各特性におけるパラメータの種別が格納される。本例で示す当該パラメータの種別は、別途、SSD12の仕様や実測データ、フィールドにおける統計情報等に基づいた値を(任意のグループに)分類した定義である。またスケジュール欄112173には、ティア変更のスケジュール等が格納される。
 従って図9の場合、例えばSSD12の特性のうち「寿命」については、パラメータとして「長い」又は「短い」が用意されており、寿命が「長い」方に属するSSD12の場合にはこのSSD12が所属するティアのスケジュールとして「12ヶ月後にティアダウン」が予定されることが示されている。
 また例えばSSD12の特性のうち「性能」については、パラメータとして「高速」、「中速」、「低速」が用意されており、性能が「高速」の区分に属するSSD12の場合にはこのSSD12が所属するティアは「初期搭載時:上位のティアに配置」が予定されることが示されている。
 従って図9とともに図8を参照すると、「ベンダA」の「高性能モデル」のSSD12は、寿命が「長」く、性能が「高速」である。よってこのSSD12は、初期搭載時には「上位のティアに配置」され、「12ヶ月後にティアダウン」されるようにティア変更がスケジュールされることになる。
 図10は、フィールド管理テーブル11218の論理構成を示す。フィールド管理テーブル11218は、フィールド情報に基づくティア変更のスケジュールを管理するためのテーブルであり、SSD型名欄112181、経過年月欄112182、フィールド性能欄112183及びティア配置スケジュール欄112184から構成される。
 SSD型名欄112181には、ベンダによって予め規定されたSSD型名が格納される。経過年月欄112182には、月又は年を示す情報が経過順に格納される。フィールド性能欄112183には、SSD型名欄112181と同一型名のSSDがフィールド上で実際に発揮した性能の統計的平均値(フィールド性能)から求められた区分が経過年月ごとに格納される。ティア配置スケジュール欄112184には、初期搭載時からの経過月毎にSSD12が所属するべきティアについてのスケジュールが格納される。
 なおフィールド性能欄112183に格納されるフィールド性能は、上述したようにSSD型名欄112181と同一型名のSSDがフィールド上で実際に発揮した性能データを過去採取分も含めて累積的に集計し、集計した性能の平均値に基づいて算出したものである。
 またフィールド性能は、例えば上述のように単に同一型名のSSDから算出するとしてもよいし、同一型名のSSDかつコントローラの種類及び搭載SSD台数が同一構成におけるSSDから算出するとしてもよい。また同一型名のSSDかつSSD12の初期搭載時に実測値として得られた性能と同程度のSSDから算出するとしてもよい。
 従って図10の場合、例えばSSD型名が「ABC」のSSD12は、実際過去に同型名のSSD12をストレージ装置10に搭載したときに「1ヶ月」目及び「2ヶ月」目はフィールド性能が「高」であったというフィールド性能に基づいて、高性能の「ティアH」に所属するようにスケジュールされていることが示されている。
 またこのSSD12は、同型名のSSD12のフィールド性能がその後「中」、「低」、「高」と変動したフィールド性能に基づいて、中性能の「ティアM」、低性能の「ティアL」、そしてまた高性能の「ティアH」に所属するようにスケジュールされていることが示されている。また経過年月が「N年」となったときにフィールド性能が「寿命」になったというフィールド情報に基づいて、「N年」には「ティアL」に所属するようにティアを変更するとともに交換要求を発行するようにスケジュールされていることが示されている。
(1-4)SSDの性能変動及び所属ティアの関係
 図11は、時間経過とともに変動するSSD12の性能及びこのSSD12が所属するティアの関係を示す。横軸は時間を示し、縦軸は性能を示す。また実線の曲線は時間経過とともに変動するSSD12の性能を示し、破線の曲線はSSD12の性能の移動平均を示す。また横軸に平行な実線の直線は、それぞれティアの境界値を示し、横軸に平行な破線の直線は変化幅の上限値及び下限値を示す。
 ティアの境界値は、各ティアに所属するSSD12の性能の平均値を算出し、隣接するティアの平均値の中間を算出することにより決定される。変化幅は、ティアの境界値を基準として予め定められた性能分の上限値及び下限値により決定される。
 本実施の形態においてSSD12が所属するティアの変更は、SSD12の性能の移動平均が変化幅の上限値又は下限値を超過した場合或いは超過すると予測できた場合に決定される。なお同一のRAIDグループを構成する複数のSSD12のうちの何れかのSSD12の移動平均が変化幅の上限値又は下限値を超過した場合、同一のRAIDグループを構成する他のSSD12も移動平均が超過すると予測できる。
 ティアの変更がSSD12の性能ではなく移動平均に基づいて決定される理由は、SSD12の性能が急激に上昇又は低下したことによりティアの変更が頻繁に行われることを回避するためである。
 また同様にティアの変更がティアの境界値ではなく、変化幅の上限値又は下限値を閾値としてこの閾値を超過したか否かによって決定される理由は、SSD12の性能がティアの境界値近傍で上昇又は低下する場合にティアの変更が頻繁に行われることを回避するためである。
 従って図11の場合、初期搭載時にはティアMに所属しているSSD12の性能の移動平均が時間経過とともに上昇し、ティアMとティアHとの間のティアの境界値から+αを上限値とする変化幅を超えて上昇した場合、このSSD12が所属するティアはティアMからティアHに変更されることが示されている。
 またその後このSSD12の性能の移動平均が時間経過とともに低下し、ティアHとティアMとの間のティアの境界値から-αを下限値とする変化幅を超えて低下した場合、このSSD12が所属するティアはティアHからティアMに変更されることが示されている。
 またその後はこのSSD12の性能の移動平均は変化幅の上限値を超えて上昇することなく、また下限値を超えて低下することなく推移するため、このSSD12が所属するティアはティアMのまま変更されないことが示されている。
 図12は、時間経過とともに変動する2つのSSD12の性能が逆転する様子を示す。図11と同様に横軸は時間を示し、縦軸は性能を示す。また実線の曲線は時間経過とともに変動する各SSD12の性能を示し、当該実線に接点を有する破線の直線はある時間におけるSSD12の性能の微分値を示す。
 本実施の形態においてSSD12が所属するティアの変更は、対象SSD12の性能が他のティアに所属する他のSSD12の性能と逆転した場合或いは逆転すると予測できた場合に決定される。なおある時間における対象SSD12の性能の微分値と他のティアに所属する他のSSD12の性能の微分値とが一定時間内に逆転する場合、性能が逆転すると予測できる。
 従って図12の場合、初期搭載時には例えば高性能のティアHに所属しており、かつ、ティアHに所属するSSD12のうち最も性能の低い「SSD1」の性能と、初期搭載時には例えば低性能のティアLに所属しており、かつ、ティアLに所属するSSD12のうち最も性能の高い「SSD2」の性能とが時間経過とともに逆転した場合、逆転したタイミングで「SSD1」が所属するティアと「SSD2」が所属するティアとが変更される。
 またある時間における「SSD1」の性能の微分値と「SSD2」の性能の微分値とに基づいて、「SSD1」の性能と「SSD2」の性能とが逆転すると予測できた場合、性能の逆転が予測されるタイミングで「SSD1」が所属するティアと「SSD2」が所属するティアとが変更される。
(1-5)フローチャート
 図13は、階層制御処理の処理手順を示す。ここで示す階層制御処理は、処理全体の流れを示しており、ストレージ装置10の運用を開始する際の初期設定操作を契機として実行される。この階層制御処理は、CPU111が初期ティア決定プログラム11221、ティアチェックプログラム11222及びティア変更プログラム11223と協働して実行するものである。
 まずCPU111は、初期設定操作を契機として、初期ティア決定プログラム11221を読み出す。そしてCPU111は、読み出した初期ティア決定プログラム11221との協働により、各SSD12に当初所属させるティア(初期ティア)を決定する(SP1)。
 次いでCPU111は、ティアチェックプログラム11222を読み出して、時間経過とともに変動する各SSD12の性能を常時又は定期的に監視する。そしてCPU111は、変動する性能が予め定められた閾値を超過するSSD12が存在する場合、閾値を超過した性能を有するSSD12について、所属するティアの変更を決定する(SP2)。
 なおここでいう閾値とは、例えば変化幅の上限値又は下限値であり(図11)、または他のティアに所属するSSD12との相対的な性能である(図12)。
 そしてCPU111は、ティア変更プログラム11223を読み出して、ステップSP2において所属ティアの変更を決定したSSD12が所属するティアを変更して(SP3)、本処理を終了する。なお通常状態では、定期的にSP2及びSP3を繰り返す。また新規のSSD12が搭載された場合は、当該SSDについてSP1から実行する。
 図14は、階層制御処理の詳細な処理手順を示す。ここで示す階層制御処理は、図13における階層制御処理を詳細に説明するものである。
 まず初期ティア決定処理(SP1)においてCPU111は、データ転送をともなわない疑似IOをSSD12に発行する(SP11)。次いでCPU111は、IOPS又は応答時間をSSD12の性能として測定する(SP12)。そしてCPU111は、測定した性能に相当するティア区分に各SSD12が所属するように分類して(SP13)、初期ティア決定処理を終了する。SP13において、具体的にはティア管理テーブル11211(図3)のティア欄112112に各SSD12が所属するティアの情報を格納する。
 次いでティアチェック処理(SP2)においてCPU111は、各ティアに所属する全SSD12の性能を合算して平均値を算出し、この平均値を各ティアの性能とし、隣接するティアの性能の中間値をティアの境界値として決定する(SP21)。次いでCPU111は境界値から予め定められた性能分だけ上限値及び下限値を設定して変化幅を決定する(SP22)。
 次いでCPU111は、常時又は定期的にSSD12のIOPS又は応答時間を性能として測定する(SP23)。なおCPU111は、測定した性能値をSSD測定性能管理テーブル11212(図4)により管理する。次いでCPU111は、測定したSSD12の性能が変化幅の上限値又は下限値を超過する変化又は超過すると予測される変化があったか否かを判断する(SP24)。
 CPU111は、ステップSP24の判断で否定結果を得ると、ステップSP21に移行する。これに対しCPU111は、ステップSP24の判断で肯定結果を得ると、変化幅の上限値又は下限値を超過する変化のあったSSD12が所属するティアの変更を決定して(SP25)、ティアチェック処理を終了する。
 次いでティア変更処理(SP3)について説明する。ここではSSD12が所属するティアを上位のティアから下位のティアに変更する場合のティア変更処理について説明する。上位のティアから下位のティアに変更する場合として想定される状況は、例えばSSD12の性能が劣化又はSSD12の寿命が近付いている状況が考えられる。
 まずCPU111は、ティア容量管理テーブル11215(図7)を参照して、変更先のティアに空き容量があるか否かを判断する(SP31)。CPU111は、ステップSP31の判断で否定結果を得ると、変更先のティア区分に相当する性能を有するSSD12の増設を要求する(SP32)。
 これに対しCPU111は、ステップSP31の判断で肯定結果を得ると、ステップSP25においてティアの変更を決定したSSD(対象SSD)12の現在の所属を一つ下のティアに下げる(SP33)。そしてCPU111は、対象SSD12に格納されているデータのうちアクセス頻度の高いデータが存在するか否かを判断する(SP34)。
 CPU111は、ステップSP34の判断で否定結果を得ると、ティア変更処理を終了する。これに対しCPU111は、ステップSP34の判断で肯定結果を得ると、対象SSD12に格納されているアクセス頻度の高いデータをティア変更前の元の上位のティアに所属する何れかのSSD12にマイグレーションして(SP35)、ティア変更処理を終了する。なお上述の処理はストレージ装置10に搭載されている全てのSSD12に対し、順次実行される。
 図15~図17は、他の手段(方式)による初期ティア決定処理の処理手順を示す。ここで示す他の初期ティア決定処理(1)~(3)は、図14において説明した初期ティア決定処理(SP11~SP13)に対応する処理であり、初期ティア決定処理(SP11~SP13)に代えて実行可能な処理である。
 まず図15について説明する。CPU111は、ストレージ装置10に搭載されているSSD12のSSD型名を取得する(SP11A)。次いでCPU111は、SSD型名性能管理テーブル11213(図5)を参照して、取得したSSD型名に対応する性能に基づいてSSD12を分類する(SP12A)。そしてCPU111は、性能の高いSSD12から順にティアを割り当てることによりSSD12が所属する初期ティアを決定して(SP13A)、他の初期ティア決定処理(1)を終了する。
 次いで図16について説明する。ステップSP11B及びSP12Bは、初期ティア決定処理(SP1)のステップSP11及び12と同様の処理であるため説明を省略する。ステップSP13BにおいてCPU111は、性能の高いSSD12から順に予め定められた各ティアの必要台数分だけティアを割り当てることによりSSD12が所属する初期ティアを決定して(SP13B)、他の初期ティア決定処理(2)を終了する。
 次いで図17について説明する。CPU111は、ストレージ装置10に搭載されたSSD12の全てについて所属するティアを性能が「中」のティアMに設定することによりSSD12が所属する初期ティアを決定して(SP11C)、他の初期ティア決定処理(3)を終了する。
 図18~図20は、他のティアチェック処理(1)~(3)の処理手順を示す。ここで示す他のティアチェック処理は、図14において説明したティアチェック処理(SP21~SP25)に対応する処理であり、ティアチェック処理(SP21~SP25)に代えて実行可能な処理である。
 まず図18について説明する。CPU111は、ストレージ装置10に搭載されているSSD12のIOPS又は応答時間を性能として測定する(SP21A)。次いでCPU111は、複数のSSD12のなかから何れか一のSSD12を抽出し、抽出したSSD12の性能が他のティアに所属する他のSSD12の性能と逆転する変化又は逆転が予測される変化があるか否かを判断する(SP22A)。
 CPU111は、ステップSP22Aの判断で否定結果を得ると、ステップSP21Aに移行し、同一のSSD12に対し、次回の性能測定を実施、あるいは別のSSD12について同様の処理を実行する。これに対しCPU111は、ステップSP22Aの判断で肯定結果を得ると、ステップSP22Aにおいて判断対象としたSSD(対象SSD)12同士で所属するティアの変更を決定して(SP23A)、他のティアチェック処理(1)を終了する。
 次いで図19について説明する。CPU111は、SSD12に対するライト回数又はライト容量を監視しており(SP21B)、ライト回数又はライト容量をライト管理テーブル11214(図6)により管理する。そしてCPU111は、ライト回数又はライト容量が予め定められた閾値を超過したか否かを判断する(SP22B)。
 CPU111は、ステップSP22Bの判断で否定結果を得ると、ステップSP21Bに移行し、同一のSSD12に対し、次回のライト回数又はライト容量の判定を実施、あるいは別のSSD12について同様の処理を実行する。これに対しCPU111は、ステップSP22Bの判断で肯定結果を得ると、ステップSP22Bにおいて判断対象としたSSD(対象SSD)12が所属するティアの変更を決定して(SP23B)、他のティアチェック処理(2)を終了する。
 次いで図20について説明する。CPU111は、SSD12に対する稼働時間を監視しており(SP21C)、稼働時間をライト管理テーブル11214(図6)により管理する。そしてCPU111は、稼働時間が予め定められた閾値を超過したか否かを判断する(SP22C)。
 CPU111は、ステップSP22Cの判断で否定結果を得ると、ステップSP21Cに移行し、同一のSSD12に対し、次回の稼働時間の判定を実施、あるいは別のSSD12について同様の処理を実行する。これに対しCPU111は、ステップSP22Cの判断で肯定結果を得ると、ステップSP22Cにおいて判断対象としたSSD(対象SSD)12が所属するティアの変更を決定して(SP23C)、他のティアチェック処理(3)を終了する。
 図21は、他のティア変更処理の処理手順を示す。ここで示す他のティア変更処理は、図14において説明したティア変更処理(SP31~SP35)に対応する処理であり、ティア変更処理(SP31~SP35)に代えて実行可能な処理である。またこの他のティア変更処理は、SSD12が所属するティアを下位のティアから上位のティアに変更する場合の処理である。下位のティアから上位のティアに変更する場合として想定される状況は、SSD12の性能が回復した状況が考えられる。
 まずCPU111は、ティアチェック処理(SP2)においてティアの変更を決定したSSD(対象SSD)12の現在の所属を一つ上のティアに上げる(SP31A)。そしてCPU111は、対象SSD12に格納されているデータのうちアクセス頻度が低いデータが存在するか否かを判断する(SP32A)。
 CPU111は、ステップSP32Aの判断で否定結果を得ると、他のティア変更処理を終了する。これに対しCPU111は、ステップSP32Aの判断で肯定結果を得ると、対象SSD12に格納されているアクセス頻度の低いデータをティア変更前の元の下位のティアに所属する何れかのSSD12にマイグレーションして(SP33A)、他のティア変更処理を終了する。なおこれに限らずSP32A及びSP33Aについては処理を行わないようにしてもよい。この場合において、当該SSD12に格納されているアクセス頻度の低いデータは、通常の階層間データ移行処理の実行タイミングで、下位のティアへ移行されることになる。また図14のSP31に相当する処理は必要ない。下位のティアに空き容量が不足している場合には、当該アクセス頻度の低いデータは、移行されずにそのまま上位のティアに留まるか、空き容量に相当する分だけ部分的にマイグレーションされる。
(1-6)第1の実施の形態による効果
 以上のように第1の実施の形態におけるストレージ装置によれば、搭載される記憶媒体を全てSSDで構成し、SSDの特性の違い及び性能の違いおよび/又はSSDごとに異なって変動する性能に基づいて、SSDから提供される記憶領域を複数のティアに分類して管理する階層制御を実行するようにしたので、HDDと比較してもともと高速であるSSDのIO処理の性能劣化を最小限に抑えることができる。
(2)第2の実施の形態
 第2の実施の形態は、ティアチェック処理(SP2)に代えてスケジュール処理を実行する点で、第1の実施の形態と異なる。以下第2の実施の形態におけるストレージ装置及び階層制御方法について、第1の実施の形態と同様の構成については同一の符号を付してその説明を省略し、異なる構成について説明する。
(2-1)フローチャート
 図22は、第2の階層制御処理の処理手順を示す。ここで示す第2の階層制御処理は、第1の実施の形態における階層制御処理(図13)に対応する処理であり、ティアチェック処理(SP2)に代えてスケジュール処理(SP4)が実行される。
 スケジュール処理(SP4)は、CPU111がティアチェックプログラム11222と協働して実行する処理であり、予め定められたスケジュールに従って個々のSSD12が所属するティアの変更を決定する処理である。
 図23は、スケジュール処理の詳細な処理手順を示す。ここで示すスケジュール処理は、図22におけるスケジュール処理を詳細に説明するものである。
 まずCPU111は、特性管理テーブル11216(図8)及びスケジュール管理テーブル11217(図9)を予め管理しており、これら特性管理テーブル11216及びスケジュール管理テーブル11217を参照して、SSD12のティア変更のタイミングを決定する。そしてCPU111は、決定したSSD12のティア変更のタイミングが到達したか否かを判断する(SP41A)。 
 CPU111は、ステップSP41Aの判断で否定結果を得ると、ステップSP41Aの判断を繰り返す。これに対しCPU111は、ステップSP41Aの判断で肯定結果を得ると、ステップSP41Aの判断対象のSSD(対象SSD)12が所属するティアの変更を決定して(SP42A)、スケジュール処理を終了する。
 図24は、他のスケジュール処理の詳細な処理手順を示す。ここで示す他のスケジュール処理は、図22におけるスケジュール処理SP4を詳細に説明するものであり、また図23におけるスケジュール処理(SP41A及びSP42A)に代えて実行可能な処理である。
 まずCPU111は、フィールド状況の監視に基づくフィールド管理テーブルの元となる情報についてオペレータの入力もしくはネットワーク等からの入手によりフィールド管理テーブル11218を確認及び更新して(SP41B)、フィールド管理テーブル11218(図10)を管理する。具体的にはCPU111は、SSD12の稼働時間に対応したフィールド管理テーブル11218内のフィールド性能を管理する。
 そしてCPU111は、フィールド性能に基づいて決定されたティア配置スケジュールについて、フィールド管理テーブル11218を参照することにより、個々のSSD12が所属するティアの変更タイミングを決定する(SP42B)。
 次いでCPU111は、SP42Bで算出した、SSD12が所属するティアの変更タイミングが到達したか否かを判断する(SP43B)。CPU111は、ステップSP43Bの判断で否定結果を得ると、ステップSP41Bに移行する。
 これに対しCPU111は、ステップSP43Bの判断で肯定結果を得ると、ステップSP43Bの判断対象のSSD(対象SSD)12が所属するティアの変更を決定して(SP44B)、他のスケジュール処理を終了する。
(2-2)第2の実施の形態による効果
 以上のように第2の実施の形態におけるストレージ装置によれば、予め定められたティア変更のタイミングでSSDが所属するティアを変更するようにしたので、階層制御処理を簡素化して階層制御にかかるCPUの処理負担を軽減することができる。またSSDのカタログ等に記載された仕様情報ではなく、実運用のデータがフィードバックされることによる、より精密な制御が行えるメリットもある。
(3)第3の実施の形態
 第3の実施の形態は、SSD12の寿命が近付いている場合、SSD12の増設を行う場合又はSSD12の減設を行う場合にイベントドリブン処理を実行する点で、第1の実施の形態と異なる。以下第3の実施の形態におけるストレージ装置及び階層制御方法について、第1の実施の形態と同様の構成については同一の符号を付してその説明を省略し、異なる構成について説明する。
(3-1)フローチャート
 図25は、イベントドリブン処理の処理手順を示す。ここで示すイベントドリブン処理は、処理全体の流れを示しており、ストレージ装置10に搭載されているSSD12の寿命が近付いたタイミング、SSD12の増設を行うタイミング又はSSD12の減設を行うタイミングを契機として実行される。このイベントドリブン処理は、CPU111がイベントドリブンプログラム11224と協働して実行するものである。
 まずCPU111は、SSD12の寿命が近付いていること、SSD12の増設を行うこと又はSSD12の減設を行うことを検知すると、イベントドリブンプログラム11224を読み出す。そしてCPU111は、読み出したイベントドリブンプログラム11224との協働により、イベントドリブン処理を実行する(SP5)。
 図26は、SSD12の寿命が近付いたタイミングで実行されるイベントドリブン処理の処理手順を示す。まずCPU111は、個々のSSD12のライト回数を取得する(SP51)。
 なおライト回数はSSD12において管理されており、例えばCPU111がモードセンス(MODE SENSE)と呼ばれるコマンドをSSD12に発行すると、「現在のライト回数」/「ライト回数制限」を示す値がSSD12からCPU111に報告される。例えばSSD12から報告された値が「85」である場合、現在ライト回数制限の85%までライトされていることを示す。
 次いでCPU111は、取得したライト回数がライト回数制限に近いか否かを判断する(SP52)。なおCPU111は、取得したライト回数が予め定められた閾値を超過している場合にはライト回数制限に近いと判断する。
 CPU111は、ステップSP52の判断で否定結果を得ると、ステップSP51に移行する。これに対しCPU111は、ステップSP52の判断で肯定結果を得ると、ステップSP52で判断対象としたSSD(対象SSD)12が所属するティアから最下位のティアに変更することを決定する(SP53)。
 次いでCPU111は、ティア変更処理(SP31~SP35)を実行することにより、対象SSD12の所属を最下位のティアに変更する。ティアを変更した対象SSD12は、今後たとえ性能が回復しても寿命が近いため上位のティアに変更しないことが望ましい。
 よってCPU111は、対象SSD12が所属するティアを変更させないビットを立てて(SP54)、あわせてSSD12の増設を促すメッセージを発行して、イベントドリブン処理を終了する。
 図27は、SSD12の増設を行うタイミングで実行される他のイベントドリブン処理(1)の処理手順を示す。まずCPU111は、ストレージ装置10に新たなSSD12が増設されたか否かを判断する(SP51A)。CPU111は、ステップSP51Aの判断で否定結果を得ると、ステップSP51Aの判断を繰り返す。
 これに対しCPU111は、ステップSP51Aの判断で肯定結果を得ると、増設されたSSD12に一定量以上の空き容量があるか否かを判断する(SP52A)。CPU111は、ステップSP52Aの判断で否定結果を得ると、この他のイベントドリブン処理を終了する。
 これに対しCPU111は、ステップSP52Aの判断で肯定結果を得ると、全SSD12のライト回数を取得する(SP53A)。そしてCPU111は、増設されたSSD12が所属するティアと同一のティアに所属する他のSSD12のうち、最も寿命が近いSSD12を最下位のティアに変更することを決定する(SP54A)。
 CPU111は、ステップSP54Aでティアの変更を決定したSSD(対象SSD)12に対してティア変更処理(SP31~SP35)を実行して、対象SSD12を最下位のティアに変更する。ティアを変更した対象SSD12は、必ずしも寿命が近いわけではないため、短時間のうちに上位のティアに再び戻る可能性がある。
 よってCPU111は、ティアの変更が頻繁に発生すること回避するため、対象SSD12が所属するティアを一定時間変更させないビットを立てて(SP55A)、他のイベントドリブン処理(1)を終了する。
 図28は、SSD12の減設を行うタイミングで実行される他のイベントドリブン処理(2)の処理手順を示す。まずCPU111は、ストレージ装置10に搭載されているSSD12についてティアを指定した減設設定が行われたことを検知すると(SP51B)、減設対象のティア又はこのティアよりも上位のティアに空き容量があるか否かを判断する(SP52B)。
 CPU111は、ステップSP52Bの判断で否定結果を得ると、減設対象のティアに所属する何れかのSSD12を減設した場合、データの格納場所を確保することができないため、減設拒否のメッセージを発行して(SP53B)、この他のイベントドリブン処理を終了する。
 これに対しCPU111は、ステップSP52Bの判断で肯定結果を得ると、減設対象のティアに所属するSSD12のライト回数を取得する(SP54B)。次いでCPU111は、減設対象のティアに所属するSSD12のうち、最も寿命の近いSSD12を減設対象とすることを決定する(SP55B)。
 次いでCPU111は、最も寿命の近いSSD12に格納されているデータを同一のティア又はこのティアよりも上位のティアに所属する他のSSD12にコピーする(SP56B)。そしてCPU111は、コピーが完了したか否かを判断する(SP57B)。
 CPU111は、ステップSP57Bの判断で否定結果を得ると、コピーが完了するまでステップSP56Bの処理を繰り返す。これに対しCPU111は、ステップSP57Bの判断で肯定結果を得ると、寿命の最も近いSSD12を取り外してよい旨を操作者にメッセージ通知もしくは表示し、当該SSD12が実際に減設されたことを検知すると(SP58B)、他のイベントドリブン処理(2)を終了する。
 図29は、シーケンシャルライトで性能が回復するSSD12に対する性能回復処理の処理手順を示す。この性能回復処理は、性能が劣化したSSD12に対して実行される処理であり、例えば他のイベントドリブン処理(2)(図28)のステップSP52Bのタイミングを契機として実行される。
 まずCPU111は、性能が劣化したSSD(対象SSD)12からデータを読み込んでコントローラ11内のキャッシュに格納する(SP51C)。次いでCPU111は、キャッシュに格納したデータをシーケンシャルライトにより対象SSD12に書き戻して(SP52C)、性能回復処理を終了する。
 図30は、IO抑止により性能が回復するSSD12に対する、他の性能回復処理の処理手順を示す。この他の性能回復処理は、性能が劣化したSSD12に対して実行される処理であり、例えば図29の性能回復処理と同様のタイミングを契機として実行される。
 まずCPU111は、SSD12に対するIOが閾値以上行われているか否かを判断する(SP51D)。CPU111は、ステップSP51Dの判断で否定結果を得ると、この他の性能回復処理を終了する。これに対しCPU111は、ステップSP51Dの判断で肯定結果を得ると、閾値以上行われているIOはリードであるかライトであるかを判断する(SP52D)。
 CPU111は、閾値以上行われているIOがリードである場合、閾値以上のリードが行われているSSD(対象SSD)12と同一のRAIDグループを構成する他のSSD12からコレクションリードして(SP56D)、対象SSD12に対するIOが閾値以下となるように制御する。そしてCPU111は、所定時間IOを抑止したことにより対象SSD12の性能が回復したか否かを判断する(SP57D)。
 CPU111は、ステップSP57Dの判断で否定結果を得ると、ステップSP52Dに移行する。これに対しCPU111は、ステップSP57Dの判断で肯定結果を得ると、他の性能回復処理を終了する。
 ステップSP52Dに戻りCPU111は、閾値以上行われているIOがライトである場合、閾値以上のライトが行われている対象SSD12とは異なるRAIDグループを構成する他のSSD12、キャッシュとして利用している他のSSD12又はジャーナルボリュームとして利用している他のSSD12に対象SSDに格納する筈のデータをライトして(SP53D)、対象SSD12に対するIOが閾値以下となるように制御する。そしてCPU111は、所定時間IOを抑止したことにより対象SSD12の性能が回復したか否かを判断する(SP54D)。
 CPU111は、ステップSP54Dの判断で否定結果を得ると、ステップSP52Dに移行する。これに対しCPU111は、ステップSP54Dの判断で肯定結果を得ると、他のSSD12にライトした退避データを性能が回復した対象SSD12にライトして(SP55D)、他の性能回復処理を終了する。
(3-2)第3の実施の形態による効果
 以上のように第3の実施の形態におけるストレージ装置によれば、ストレージ装置に搭載されるSSDの構成に変更が生じる場合にはSSDの構成の変更に応じてティアを変更するようにしたので、SSDの構成が変更された直後においても第1の実施の形態と同様にIO処理の性能低下抑止を実現することができる。
 以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。例えば本発明は特にフラッシュメモリを記憶素子として採用したSSDについて顕著な効果を奏する為、フラッシュメモリSSDの特性を中心として記述しているが、本発明の範囲はこれに留まらず、さまざまな半導体メモリを採用したSSDに適用が可能であり、SSDとしての特性差が存在する状況にあるストレージ装置やSSD搭載可能な計算機に広く応用可能である。
1    ストレージシステム
10   ストレージ装置
11   コントローラ
111  CPU
112  メモリ
1121 テーブル
1122 プログラム
12   SSD
13   I/F
20   ホストコンピュータ
 

Claims (14)

  1.  フラッシュメモリから構成される複数のドライブを搭載したストレージ装置において、
     前記複数のドライブから提供される記憶領域を性能の異なる複数のティアに分類して管理することにより前記記憶領域を階層制御するコントローラを備え、
     前記コントローラは、
     前記ドライブの性能に基づいて、前記ドライブが所属する第1のティアを決定し、
     前記ドライブの特性によって変動する前記ドライブの性能に基づいて、前記ドライブが所属するティアを前記第1のティアから前記第1のティアとは異なる第2のティアに変更することを決定し、
     前記変更することを決定した前記ドライブが所属するティアを前記第1のティアから前記第2のティアに変更する
     ことを特徴とするストレージ装置。
  2.  前記コントローラは、
     前記ドライブの特性によって変動する前記ドライブの性能に基づいて、隣接するティア間の境界値を設定し、
     前記設定した前記境界値を基準として予め定められた性能の幅を変化幅として設定し、
     前記ドライブの性能が前記変化幅の上限値又は下限値を超過した場合、前記ドライブが所属するティアを前記第1のティアから前記第2のティアに変更することを決定する
     ことを特徴とする請求項1に記載のストレージ装置。
  3.  前記コントローラは、
     前記ティアに所属する前記ドライブの性能の平均値を前記ティアの性能として算出し、前記隣接するティア間で前記ティアの性能の中間値を算出し、算出した中間値を前記境界値として設定し、
     前記設定した前記境界値から予め定められた性能分だけ加算及び減算した性能をそれぞれ前記上限値及び前記下限値として算出し、算出した前記上限値及び前記下限値の幅を前記変化幅として設定する
     ことを特徴とする請求項2に記載のストレージ装置。
  4.  前記コントローラは、
     前記第2のティアが前記第1のティアよりも性能の低いティアである場合、前記ドライブに格納されているデータのうち、予め定められた閾値よりもアクセス頻度の高いデータを前記第1のティアに所属する他のドライブにマイグレーションして、前記ドライブの所属を前記第1のティアから前記第2のティアに変更し、
     前記第2のティアが前記第1のティアよりも性能の高いティアである場合、前記ドライブに格納されているデータのうち、予め定められた閾値よりもアクセス頻度の低いデータを前記第1のティアに所属する他のドライブにマイグレーションして、前記ドライブの所属を前記第1のティアから前記第2のティアに変更する
     ことを特徴とする請求項1に記載のストレージ装置。
  5.  前記コントローラは、
     前記ドライブの特性によって変動する前記ドライブの性能に基づいて、前記ドライブに所属させるティアを予めスケジューリングしたスケジュールを管理し、
     前記スケジューリングしたスケジュールに基づいて、前記ドライブが所属するティアを前記第1のティアから第2のティアに変更することを決定する
     ことを特徴とする請求項1に記載のストレージ装置。
  6.  前記コントローラは、
     前記ドライブの特性によって変動する前記ドライブの性能が搭載時の性能よりも予め定められた閾値以上劣化した場合、前記性能が劣化したドライブに対してシーケンシャルライトを実行し、或いは、前記性能が劣化したドライブに対するリード又はライトを一定時間だけ抑止する処理を実行することにより、前記ドライブの性能を回復させる
     ことを特徴とする請求項1に記載のストレージ装置。
  7.  前記性能は、
     前記ドライブが単位時間当たりにリード又はライト可能な回数、或いは、前記ドライブに対してリード要求又はライト要求のあった時点から前記ドライブがリード又はライトを完了するまでにかかる時間である
     ことを特徴とする請求項1に記載のストレージ装置。
  8.  フラッシュメモリから構成される複数のドライブから提供される記憶領域を性能の異なる複数のティアに分類して管理することにより前記記憶領域を階層制御するコントローラを備えたストレージ装置の階層制御方法において、
     前記コントローラが、
     前記ドライブの性能に基づいて、前記ドライブが所属する第1のティアを決定する第1のステップと、
     前記ドライブの特性によって変動する前記ドライブの性能に基づいて、前記ドライブが所属するティアを前記第1のティアから前記第1のティアとは異なる第2のティアに変更することを決定する第2のステップと、
     前記変更することを決定した前記ドライブが所属するティアを前記第1のティアから前記第2のティアに変更する第3のステップと
     を備えることを特徴とする階層制御方法。
  9.  前記第2のステップにおいて、
     前記コントローラが、
     前記ドライブの特性によって変動する前記ドライブの性能に基づいて、隣接するティア間の境界値を設定し、
     前記設定した前記境界値を基準として予め定められた性能の幅を変化幅として設定し、
     前記ドライブの性能が前記変化幅の上限値又は下限値を超過した場合、前記ドライブが所属するティアを前記第1のティアから前記第2のティアに変更することを決定する
     ことを特徴とする請求項8に記載の階層制御方法。
  10.  前記第2のステップにおいて、
     前記コントローラが、
     前記ティアに所属する前記ドライブの性能の平均値を前記ティアの性能として算出し、前記隣接するティア間で前記ティアの性能の中間値を算出し、算出した中間値を前記境界値として設定し、
     前記設定した前記境界値から予め定められた性能分だけ加算及び減算した性能をそれぞれ前記上限値及び前記下限値として算出し、算出した前記上限値及び前記下限値の幅を前記変化幅として設定する
     ことを特徴とする請求項9に記載の階層制御方法。
  11.  前記第3のステップにおいて、
     前記コントローラが、
     前記第2のティアが前記第1のティアよりも性能の低いティアである場合、前記ドライブに格納されているデータのうち、予め定められた閾値よりもアクセス頻度の高いデータを前記第1のティアに所属する他のドライブにマイグレーションして、前記ドライブの所属を前記第1のティアから前記第2のティアに変更し、
     前記第2のティアが前記第1のティアよりも性能の高いティアである場合、前記ドライブに格納されているデータのうち、予め定められた閾値よりもアクセス頻度の低いデータを前記第1のティアに所属する他のドライブにマイグレーションして、前記ドライブの所属を前記第1のティアから前記第2のティアに変更する
     ことを特徴とする請求項8に記載の階層制御方法。
  12.  前記第2のステップにおいて、
     前記コントローラが、
     前記ドライブの特性によって変動する前記ドライブの性能に基づいて、前記ドライブに所属させるティアを予めスケジューリングしたスケジュールを管理し、
     前記スケジューリングしたスケジュールに基づいて、前記ドライブが所属するティアを前記第1のティアから第2のティアに変更することを決定する
     ことを特徴とする請求項8に記載の階層制御方法。
  13.  前記コントローラが、
     前記ドライブの特性によって変動する前記ドライブの性能が搭載時の性能よりも予め定められた閾値以上劣化した場合、前記性能が劣化したドライブに対してシーケンシャルライトを実行し、或いは、前記性能が劣化したドライブに対するリード又はライトを一定時間だけ抑止する処理を実行することにより、前記ドライブの性能を回復させる第4のステップを備える
     ことを特徴とする請求項8に記載の階層制御方法。
  14.  前記性能は、
     前記ドライブが単位時間当たりにリード又はライト可能な回数、或いは、前記ドライブに対してリード要求又はライト要求のあった時点から前記ドライブがリード又はライトを完了するまでにかかる時間である
     ことを特徴とする請求項8に記載の階層制御方法。
     
PCT/JP2013/072710 2013-08-26 2013-08-26 ストレージ装置及び階層制御方法 WO2015029102A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/359,918 US9086807B2 (en) 2013-08-26 2013-08-26 Storage apparatus and tier control method
PCT/JP2013/072710 WO2015029102A1 (ja) 2013-08-26 2013-08-26 ストレージ装置及び階層制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/072710 WO2015029102A1 (ja) 2013-08-26 2013-08-26 ストレージ装置及び階層制御方法

Publications (1)

Publication Number Publication Date
WO2015029102A1 true WO2015029102A1 (ja) 2015-03-05

Family

ID=52585723

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/072710 WO2015029102A1 (ja) 2013-08-26 2013-08-26 ストレージ装置及び階層制御方法

Country Status (2)

Country Link
US (1) US9086807B2 (ja)
WO (1) WO2015029102A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017154127A1 (ja) * 2016-03-09 2017-09-14 株式会社日立製作所 ストレージ装置の性能管理方法及び装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101593012B1 (ko) * 2013-12-24 2016-02-18 주식회사 케이티 계층형 스토리지 제어 장치 및 방법
US9658782B2 (en) * 2014-07-30 2017-05-23 Excelero Storage Ltd. Scalable data using RDMA and MMIO
US9747042B2 (en) * 2015-06-30 2017-08-29 International Business Machines Corporation Statistic-based isolation of lethargic drives
US20170336991A1 (en) * 2016-04-28 2017-11-23 Knight Point Systems, Inc. System and methodology for automatic classification and separation of storage resources based on optimizing i/o requirements
CN109213695B (zh) * 2017-06-30 2023-07-21 伊姆西Ip控股有限责任公司 缓存管理方法、存储系统以及计算机程序产品
US10614012B2 (en) * 2018-01-09 2020-04-07 Microsemi Storage Solutions, Inc. System and method for controlling the performance of serial attached SCSI (SAS) target devices
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US20190243787A1 (en) * 2018-02-05 2019-08-08 Micron Technology, Inc. Memory Systems having Controllers Embedded in Packages of Integrated Circuit Memory
US11416395B2 (en) * 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US10880401B2 (en) 2018-02-12 2020-12-29 Micron Technology, Inc. Optimization of data access and communication in memory systems
US10877892B2 (en) 2018-07-11 2020-12-29 Micron Technology, Inc. Predictive paging to accelerate memory access
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055210A (ja) * 2008-08-26 2010-03-11 Hitachi Ltd ストレージシステム及びデータ保証方法
JP2011233009A (ja) * 2010-04-28 2011-11-17 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータ階層管理方法
WO2013038510A1 (ja) * 2011-09-13 2013-03-21 株式会社日立製作所 仮想ボリュームに割り当てられた要求性能に基づく制御を行うストレージシステムの管理システム及び管理方法
WO2013094041A1 (ja) * 2011-12-21 2013-06-27 株式会社日立製作所 計算機システム、及び管理システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395396B2 (en) 2004-08-30 2008-07-01 Hitachi, Ltd. Storage system and data relocation control device
JP4842909B2 (ja) 2004-08-30 2011-12-21 株式会社日立製作所 ストレージシステム及びデータ再配置制御装置
WO2013145024A1 (en) * 2012-03-30 2013-10-03 Hitachi, Ltd. Storage system with flash memory, and storage control method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055210A (ja) * 2008-08-26 2010-03-11 Hitachi Ltd ストレージシステム及びデータ保証方法
JP2011233009A (ja) * 2010-04-28 2011-11-17 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータ階層管理方法
WO2013038510A1 (ja) * 2011-09-13 2013-03-21 株式会社日立製作所 仮想ボリュームに割り当てられた要求性能に基づく制御を行うストレージシステムの管理システム及び管理方法
WO2013094041A1 (ja) * 2011-12-21 2013-06-27 株式会社日立製作所 計算機システム、及び管理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017154127A1 (ja) * 2016-03-09 2017-09-14 株式会社日立製作所 ストレージ装置の性能管理方法及び装置
JPWO2017154127A1 (ja) * 2016-03-09 2018-06-28 株式会社日立製作所 ストレージ装置の性能管理方法及び装置
US10282095B2 (en) 2016-03-09 2019-05-07 Hitachi, Ltd. Method and device for managing performance of storage apparatus

Also Published As

Publication number Publication date
US9086807B2 (en) 2015-07-21
US20150160858A1 (en) 2015-06-11

Similar Documents

Publication Publication Date Title
WO2015029102A1 (ja) ストレージ装置及び階層制御方法
CN110245093B (zh) 固态存储驱动器阵列中的工作负荷自适应超额配置
US10915442B2 (en) Managing block arrangement of super blocks
US9921956B2 (en) System and method for tracking block level mapping overhead in a non-volatile memory
JP5844473B2 (ja) 複数の不揮発性の半導体記憶媒体を有し、ホットデータを長寿命記憶媒体に配置しコールドデータを短寿命記憶媒体に配置するストレージ装置、及び、記憶制御方法
JP5881900B2 (ja) ストレージアレイを管理する方法及び装置
US9811288B1 (en) Managing data placement based on flash drive wear level
US10459639B2 (en) Storage unit and storage system that suppress performance degradation of the storage unit
US8447946B2 (en) Storage apparatus and hierarchical data management method for storage apparatus
US8775723B2 (en) Storage system and control method of storage system
WO2019178845A1 (zh) 一种存储介质垃圾回收方法、存储介质和程序产品
JP6216897B2 (ja) ストレージシステム
US9703717B2 (en) Computer system and control method
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
US10545684B2 (en) Storage device
JPWO2011010344A1 (ja) 複数のフラッシュパッケージを有するストレージシステム
US11061814B1 (en) Managing data storage caching and tiering
US11016889B1 (en) Storage device with enhanced time to ready performance
JP5768118B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
CN102630314B (zh) 具有raid1类型的raid组的存储装置以及向raid1类型的raid组的写入的控制方法
JP2018180845A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6138318B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
JP5945040B2 (ja) 複数のフラッシュパッケージを有するストレージシステム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14359918

Country of ref document: US

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

Ref document number: 13892082

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: 13892082

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP