JP4912456B2 - ストレージ装置及びその制御方法 - Google Patents

ストレージ装置及びその制御方法 Download PDF

Info

Publication number
JP4912456B2
JP4912456B2 JP2009286814A JP2009286814A JP4912456B2 JP 4912456 B2 JP4912456 B2 JP 4912456B2 JP 2009286814 A JP2009286814 A JP 2009286814A JP 2009286814 A JP2009286814 A JP 2009286814A JP 4912456 B2 JP4912456 B2 JP 4912456B2
Authority
JP
Japan
Prior art keywords
data
storage
storage area
virtual pool
management table
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2009286814A
Other languages
English (en)
Other versions
JP2011128895A (ja
Inventor
哲哉 舞田
明彦 坂口
達人 青島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009286814A priority Critical patent/JP4912456B2/ja
Priority to US12/703,083 priority patent/US20110153917A1/en
Publication of JP2011128895A publication Critical patent/JP2011128895A/ja
Application granted granted Critical
Publication of JP4912456B2 publication Critical patent/JP4912456B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0653Monitoring storage devices or 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/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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明はストレージ装置及びその制御方法に関し、例えば記憶媒体としてフラッシュメモリが搭載されたストレージ装置に適用して好適なものである。
フラッシュメモリを記憶媒体とするストレージ装置は、小型ディスクドライブを多数備えるストレージ装置に比べ、省電力及びアクセス時間等に優れている。しかしながら、フラッシュメモリは、データの書き換えのために以下の手順を踏む必要があるため、書き換えに時間を要する問題がある。
(ステップ1)有効領域(現在使われているデータが格納されている領域)のデータを退避する。
(ステップ2)無効領域(現在使われていないデータが格納されている領域)のデータを消去する。
(ステップ3)未使用領域(データを消去した領域)に、新たなデータを書き込む。
またフラッシュメモリはデータの消去回数に制限があり、消去回数が増大した記憶領域は使用不能となる。この問題に対し、複数のフラッシュメモリに渡って消去回数を平準化する方法(以下、これを消去回数平準化方法と呼ぶ)が特許文献1に開示されている。この消去回数平準化方法は以下の手順により実行される。
(ステップ1)複数のフラッシュメモリ(PDEV)をまとめたウェアレベリンググループ(WDEV)を定義する。
(ステップ2)WDEV内の複数のPDEVの論理ページアドレスをまとめて仮想ページアドレスにマッピングする。
(ステップ3)複数のWDEVを組み合わせてRAID(Redundant Arrays of Independent Disks)グループ(冗長化グループ)を構成する。
(ステップ4)1つのRAIDグループ内の領域を組み合わせて、又は、複数のRAIDグループで論理ボリュームを構成する。
(ステップ5)ストレージコントローラが、論理ページアドレス空間内の所定領域ごとの延べ書き込み容量を計数管理し、論理ページアドレス間のデータ移動と論理対仮想ページアドレス・マッピング変更により消去回数平準化を実行する。
特開2007−265365号公報
ところが、かかる消去回数平準化方法により複数のフラッシュメモリに渡って消去回数を平準化するためにはフラッシュメモリを常時起動しておく必要があり、このため消費電力を抑えることができない問題があった。またかかる消去回数平準化方法によると、データの書き換えに多くの時間を要し、その間ストレージ装置のI/O性能が劣化する問題があった。
本発明は以上の点を考慮してなされたもので、寿命が短く、データ書き換えに時間のかかるフラッシュメモリの欠点を補いながら、省電力運転を行い得るストレージ装置及びその制御方法を提案しようとするものである。
かかる課題を解決するため本発明においては、計算機システムにおいて、ホスト装置がデータを読み書きするための記憶領域を提供するストレージ装置と、前記ストレージ装置を管理する管理装置とを備え、前記ストレージ装置は、前記記憶領域を提供する複数の不揮発性メモリと、前記不揮発性メモリに対する前記ホスト装置からのデータの読み書きを制御するコントローラとを有し、前記コントローラは、前記複数の不揮発性メモリがそれぞれ提供する前記記憶領域をプールとしてまとめて管理すると共に、前記ホスト装置に対して仮想的なボリュームを提供し、当該仮想的なボリュームに対する前記ホスト装置からのデータの書込み要求に応じて前記仮想プールから前記仮想的なボリュームに前記記憶領域を動的に割り当て、割り当てた前記記憶領域に前記データを配置し、前記管理装置は、前記ホスト装置からのデータの配置先を一部の前記不揮発性メモリが提供する記憶領域に集中させて、未使用の前記不揮発性メモリに対する電源供給を停止させるように前記ストレージ装置を制御し、起動中の前記不揮発性メモリが提供する記憶領域に対するデータの書換え回数及び又はアクセス頻度を監視し、一部の前記不揮発性メモリが提供する記憶領域におけるデータの書換え回数が増大した場合には、他の前記不揮発性メモリが提供するデータの書換え回数が少ない記憶領域にデータを移動させるように前記ストレージ装置を制御し、一部の前記不揮発性メモリが提供する記憶領域に対するアクセス頻度が過多になった場合には、電源供給を停止している前記不揮発性メモリを起動することによりデータの配置先を分散させるように前記ストレージ装置を制御することを特徴とする。
また本発明においては、ホスト装置がデータを読み書きするための記憶領域をそれぞれ提供する複数の不揮発性メモリを有するストレージ装置の制御方法において、前記ストレージ装置は、前記複数の不揮発性メモリがそれぞれ提供する前記記憶領域をプールとしてまとめて管理すると共に、前記ホスト装置に対して仮想的なボリュームを提供し、当該仮想的なボリュームに対する前記ホスト装置からのデータの書込み要求に応じて前記仮想プールから前記仮想的なボリュームに前記記憶領域を動的に割り当て、割り当てた前記記憶領域に前記データを配置し、前記ホスト装置からのデータの配置先を一部の前記不揮発性メモリが提供する記憶領域に集中させて、未使用の前記不揮発性メモリに対する電源供給を停止させるように前記ストレージ装置を制御する第1のステップと、起動中の前記不揮発性メモリが提供する記憶領域に対するデータの書換え回数及び又はアクセス頻度を監視する第2のステップと、一部の前記不揮発性メモリが提供する記憶領域におけるデータの書換え回数が増大した場合には、他の前記不揮発性メモリが提供するデータの書換え回数が少ない記憶領域にデータを移動させるように前記ストレージ装置を制御し、一部の前記不揮発性メモリが提供する記憶領域に対するアクセス頻度が過多になった場合には、電源供給を停止している前記不揮発性メモリを起動することによりデータの配置先を分散させるように前記ストレージ装置を制御する第3のステップとを備えることを特徴とする。
本発明によれば、寿命が短く、データ書き換えに時間のかかるフラッシュメモリの欠点を補いながら、省電力運転を行い得るストレージ装置及びその制御方法を実現できる。
本実施の形態による計算機システムの全体構成を示すブロック図である。 フラッシュメモリ・モジュールの概略構成を示すブロック図である。 フラッシュメモリ・チップの説明に供する概念図である。 ストレージ装置における記憶領域の管理概要の説明に供する概念図である。 本実施の形態によるデータ配置先管理機能の説明に供する概念図である。 本実施の形態によるデータ配置先管理機能の説明に供する概念図である。 管理サーバのメモリに格納された各種制御プログラム及び各種管理テーブルの説明に供するブロック図である。 RAIDグループ管理テーブルの説明に供する概念図である。 論理デバイス管理テーブルの説明に供する概念図である。 スケジュール管理テーブルの説明に供する概念図である。 仮想プール稼働情報管理テーブルの説明に供する概念図である。 論理デバイス情報収集処理の処理手順を示すフローチャートである。 データ配置先管理処理の処理手順を示すフローチャートである。 データ配置先分散処理の処理手順を示すフローチャートである。 データ配置先集中処理の処理手順を示すフローチャートである。 スケジュール処理の処理手順を示すフローチャートである。 新規仮想プール登録処理の処理手順を示すフローチャートである。 テーブル更新処理の処理手順を示すフローチャートである。 レポート出力処理の処理手順を示すフローチャートである。 レポート画面の構成例を示す略線図である。
1……計算機システム、2……業務ホスト、3……管理サーバ、4……ストレージ装置、20,31……CPU、21,32……メモリ、35……フラッシュメモリ・モジュール、40……フラッシュメモリ・チップ、41……フラッシュメモリ、43……ブロック、50……ページ、60……データ配置先管理プログラム、61……スケジュール管理プログラム、62……仮想プール稼働状況レポートプログラム、63……RAIDグループ管理テーブル、64……論理デバイス管理テーブル、65……スケジュール管理テーブル、66……仮想プール稼働情報管理テーブル、70……レポート画面、DPP……仮想プール、DP−VOL……仮想ボリューム、LDEV……論理デバイス、PDEV……物理デバイス、RG……RAIDグループ。
以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態による計算機システムの構成
図1において、1は全体として本実施の形態による計算機システムを示す。この計算機システム1は、複数の業務ホスト2、管理サーバ3及びストレージ装置4を備えて構成される。各業務ホスト2は、ネットワーク5を介してストレージ装置4と接続されると共に、管理用ネットワーク6を介して管理サーバ3と接続されている。また管理サーバ3は、管理用ネットワーク6を介してストレージ装置4と接続されている。
ネットワーク5は、例えばSAN(Storage Area Network)、インターネットから構成される。このネットワーク5を介した業務ホスト2及びストレージ装置4間の通信は、ファイバーチャネルプロトコルに従って行われる。また管理用ネットワーク6は、例えばLAN(Local Area Network)などから構成される。この管理用ネットワーク6を介した管理サーバ3と、業務ホスト2又はストレージ装置4と間の通信は、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
業務ホスト2は、CPU(Central Processing Unit)10、メモリ11及び複数のインタフェース12A,12B等を備えたコンピュータ装置であり、パーソナルコンピュータやワークステーション、メインフレームコンピュータなどから構成される。業務ホスト2のメモリ11には、当該業務ホスト2を使用するユーザの業務内容に応じたアプリケーションソフトウェアが格納されており、CPU10がこのアプリケーションソフトウェアを実行することにより、業務ホスト2全体としてかかるユーザの業務内容に応じた処理が実行される。そして、CPU10がこのようなユーザの業務内容に応じた処理を実行する際に使用するデータがネットワーク5を介してストレージ装置4に読み書きされる。
管理サーバ3は、CPU20、メモリ21及びインタフェース22等を備えたサーバ装置であり、インタフェース22を介して管理用ネットワーク6に接続されている。後述のように、管理サーバ3のメモリ21には、各種制御プログラム及び各種の管理テーブルが格納されており、CPU20がこれらの制御プログラムを実行することにより、管理サーバ3全体として後述のようなデータ配置先管理処理を実行する。
ストレージ装置4は、複数のネットワークインタフェース30A,30Bと、CPU31及びメモリ32を含むコントローラ33と、ドライブインタフェース34と、複数のフラッシュメモリ・モジュール35とを備えて構成される。
ネットインタフェース30Aは、ストレージ装置4がネットワーク5を介して業務ホスト2とデータを送受するためのインタフェースであり、ストレージ装置4及び業務ホスト2間の通信時におけるプロトコル変換などの処理を実行する。またネットインタフェース30Bは、ストレージ装置4が管理用ネットワーク6を介して管理サーバ3と通信を行うためのインタフェースであり、ストレージ装置4及び管理サーバ3間の通信時におけるプロトコル変換などの処理を実行する。さらにドライブインタフェース34は、フラッシュメモリ・モジュール35との間のインタフェースとして機能する。
コントローラ33のメモリ32は、業務ホスト2によりフラッシュメモリ・モジュール35に読み書きされるデータを一時的に保持するために用いられるほか、CPU31のワークメモリとしても用いられる。各種の制御プログラムもこのメモリ32に保持される。CPU31は、ストレージ装置4全体の動作制御を司るプロセッサであり、メモリ32に格納された各種制御プログラムを実行することにより、業務ホスト2からのデータをフラッシュメモリ・モジュール35に読み書きする。
ドライブインタフェース34は、フラッシュメモリ・モジュール35との間のプロトコル変換等を行うインタフェースである。後述のようなフラッシュメモリ・モジュール35の電源制御(電源のオン/オフ)も、このドライブインタフェース34により行われる。
フラッシュメモリ・モジュール35は、図2に示すように、複数のフラッシュメモリ・チップ40から構成されるフラッシュメモリ41と、フラッシュメモリ41に対するデータの読み書きを制御するメモリコントローラ42とから構成される。
フラッシュメモリ・チップ40は、複数の単位容量の記憶領域(以下、これをブロックと呼ぶ)43から構成される。ブロック43は、メモリコントローラ42がデータを消去する単位である。またブロック43は、後述のように複数のページを含む。ページは、メモリコントローラ42がデータを読み書きする単位である。なおページは、有効ページ、無効ページ又は未使用ページのいずれかに分類される。有効ページは、有効なデータを記憶しているページであり、無効ページは、無効なページを記憶しているページである。また未使用ページは、データを記憶していないページである。
図3は、1つのフラッシュメモリ・チップ40におけるブロック構成を示す。ブロック43は、一般的に数十程度(例えば32又は64)のページ50から構成される。ページ53は、メモリコントローラ42がデータを読み書きする単位であり、例えば512バイトのデータ部51と、例えば16バイトの冗長部52とから構成される。
データ部51には、通常のデータが格納され、冗長部52には、そのページ管理情報及びエラー訂正情報が格納される。ページ管理情報には、オフセットアドレス及びページステータスが含まれる。オフセットアドレスは、そのページ50が属するブロック43内における相対的なアドレスである。またページステータスは、そのページ50が有効ページ、無効ページ、未使用ページ及び処理中のページのうちのいずれであるかを示す情報である。エラー訂正情報は、そのページ50のエラーを検出及び訂正するための情報であり、例えばハミングコードが用いられる。
(2)ストレージ装置に搭載された各種機能
次に、ストレージ装置4に搭載された各種機能について説明する。これに際して、まず、ストレージ装置4における記憶領域の管理方法について説明する。
図4は、ストレージ装置4における記憶領域の管理方法の概要を示す。この図4に示すように、ストレージ装置4においては、1つのフラッシュメモリ・モジュール35が1つの物理デバイスPDEVとして管理され、複数の物理デバイスPDEVにより1つのウェアレベリンググループWDEVが定義される。
また1つのウェアレベリンググループWDEVを構成する各物理デバイスPDEVが提供する記憶領域から1又は複数のRAIDグループRGが構成され、1つのRAIDグループRGから切り出された記憶領域(つまり1つのRAIDグループRGの一部の記憶領域)が論理デバイスLDEVとして定義される。さらに複数の論理デバイスLDEVをまとめて1つの仮想プールDPPが定義され、この仮想プールDPPに1又は複数の仮想ボリュームDP−VOLが対応付けられる。ストレージ装置4は、この仮想ボリュームDP−VOLを記憶領域として業務ホスト2に提供する。
そして業務ホスト2から仮想ボリュームDP−VOLに対してデータの書き込みがあった場合、その仮想ボリュームDP−VOLにおけるデータの書込み先の領域に対して仮想プールDPPからいずれかの論理デバイスLDEVの記憶領域が割り当てられ、この記憶領域にそのデータが書き込まれる。
この場合、データの書込み先の領域に記憶領域を割り当てる論理デバイスLDEVはランダムに選択される。このため複数の論理デバイスLDEVが存在する場合には、これら複数の論理デバイスLDEVにデータが分散されて格納される。
そこで本実施の形態の場合、ストレージ装置4には、図5に示すように、通常時にはデータの配置先を一部の論理デバイスLDEVに集中させることで未使用の物理デバイスPDEV(フラッシュメモリ・モジュール35)数を最大化し、これら未使用の物理デバイスPDEVの電源供給を停止(オフ)させる一方、起動中の論理デバイスLDEVに対するデータの書換え回数やアクセス頻度が増大した場合には、図6に示すように、データ書換え回数が増大した論理デバイスLDEVに格納されているデータを書換え回数の少ない論理デバイスLDEVに移動させたり、アクセス頻度が過大になった論理デバイスLDEVに格納されているデータを他の論理デバイスLDEVに分散させるデータ配置先管理機能が搭載されている。
これによりストレージ装置4においては、このデータ配置先管理機能によってデータの配置先を適宜変更することができ、かくしてフラッシュメモリ・モジュール35に含まれるフラッシュメモリ41(図2)の寿命を平準化しながら、通常時には省電力運転を行い得るようになされている。
またストレージ装置4には、ユーザにより設定されたスケジュールに従って、その開始時間から終了時間までの間、データを複数の論理デバイスLDEVに分散させる処理を実行し、終了時間が経過すると、データを再度一部の論理デバイスLDEVに集中させるスケジュール処理機能も搭載されている。
これによりストレージ装置4においては、このスケジュール処理機能によって、予めアクセスが増加することが分かっている時間帯にはデータを複数の論理デバイスLDEVに分散させてI/O性能の劣化を防止し、その時間帯の終了後には再度データを一部の論理デバイスLDEVに集中させることにより省電力運転を行い得るようになされている。
加えて、ストレージ装置4には、仮想プールDPPの稼働状態をレポートする仮想プール稼働状況レポート機能も搭載されている。これによりストレージ装置4においては、この仮想プール稼働状況レポート機能によって、ユーザがストレージ装置4内の仮想プールDPPの稼働状況を容易に認識し得るようになされている。
以上のようなデータ配置先管理機能、スケジュール処理機能及び仮想プール稼働状況レポート機能を実行するための手段として、図7に示すように、管理サーバ3のメモリ21には、データ配置先管理プログラム60、スケジュール管理プログラム61及び仮想プール稼働状況レポートプログラム62と、RAIDグループ管理テーブル63、論理デバイス管理テーブル64、スケジュール管理テーブル65及び仮想プール稼働情報管理テーブル66とが格納されている。
データ配置先管理プログラム60は、上述のデータ配置先管理機能を実現するため、複数の論理デバイスLDEVに分散されて格納されているデータを一部の論理デバイスLDEVに集中させるデータ配置先集中処理や、一部の論理デバイスLDEVに集中して格納されているデータを複数の論理デバイスLDEVに分散させるデータ配置先分散処理を実行するプログラムである。
またスケジュール管理プログラム61は、上述のスケジュール処理機能を実現するため、予めユーザによりスケジュールされた時間帯に上述のデータ配置先分散処理を行い、その時間帯の経過後に上述のデータ配置先集中処理を実行するプログラムである。
さらに仮想プール稼働状況レポートプログラム62は、上述の仮想プール稼働状況レポート機能を実現するため、仮想プール稼働情報管理テーブル66を適宜更新し、この仮想プール稼働情報管理テーブル66に基づき、ユーザ指示に応じて又は定期的に、仮想プールDPPの稼働状況をレポート出力するプログラムである。
一方、RAIDグループ管理テーブル63は、ストレージ装置4内に定義されたRAIDグループRGを管理するためのテーブルであり、図8に示すように、RAIDグループ番号欄63A、物理デバイス番号欄63B、論理デバイス番号欄63C、平均データ消去回数欄63D、消去可能回数欄63E、IOPS欄63F、処理性能欄63G、移行フラグ欄63H及び電源状態欄63Iから構成される。
そしてRAIDグループ番号欄63Aには、ストレージ装置4内に定義された各RAIDグループRGにそれぞれ付与された識別番号(RAIDグループ番号)が格納され、物理デバイス番号欄63Bには、対応するRAIDグループRGを構成する各フラッシュメモリ・モジュール35(図1)にそれぞれ付与された識別番号(物理デバイス番号)が格納される。また、論理デバイス番号欄63Cには、そのRAIDグループRGから切り出された各論理デバイスLDEVにそれぞれ付与された識別番号(論理デバイス番号)が格納される。
さらに平均データ消去回数欄63Dには、対応するフラッシュメモリ・モジュール35内の各ブロック43(図2)におけるデータの消去回数の平均値が格納され、消去可能回数欄63Eには、そのフラッシュメモリ・モジュール35内のブロック43におけるデータの消去可能回数の最大値が格納される。またIOPS欄63Fには、対応するフラッシュメモリ・モジュール35に対する単位時間当たりのI/O回数(IOPS)が格納され、処理性能欄63Gには、そのフラッシュメモリ・モジュール35における単位時間当たりのI/O処理の処理可能回数が格納される。なお消去可能回数欄63E及び処理性能欄63Gに格納される数値は、いずれも対応するフラッシュメモリ・モジュール35を構成する各フラッシュメモリ・チップ40(図2)のスペックの値である。
さらに移行フラグ欄63Hには、データ移行に関するフラグ(以下、これを移行フラグと呼ぶ)が格納される。具体的には、対応するRAIDグループRGから切り出された論理デバイスLDEVに格納されたデータを他のRAIDグループRGから切り出された論理デバイスLDEVに移行させる場合には「移行元」、他のRAIDグループRGから切り出された論理デバイスLDEVに格納されているデータを、対応するRAIDグループRGから切り出された論理デバイスLDEVに移行する場合には「移行先」、これら以外の場合には「初期値」をそれぞれ表す移行フラグが格納される。
さらに電源状態欄63Iには、対応するRAIDグループRGを構成する各フラッシュメモリ・モジュール35の電源状態が格納される。例えば、かかる各フラッシュメモリ・モジュール35の電源が供給されている場合には電源状態として「オン」が格納され、かかる各フラッシュメモリ・モジュール35の電源供給が停止されている場合には電源状態として「オフ」が格納される。
従って、例えば図8の例の場合には、ストレージ装置4内には「RG#1」及び「RG#2」というRAIDグループRGが存在し、このうち「RG#1」というRAIDグループRGは「PDEV#1」〜「PDEV#4」という4つのフラッシュメモリ・モジュール35から構成され、「PDEV#1」というフラッシュメモリ・モジュール35からは「LDEV#1」〜「LDEV#3」という3つの論理デバイスLDEVが切り出されていることが分かる。また、例えば「PDEV#1」というフラッシュメモリ・モジュール35においては、各ブロック43におけるデータの消去回数の平均値、ブロック当たりの消去可能回数、単位時間当たりのアクセス回数、単位時間当たりの処理性能がそれぞれ「200」、「100000」、「3000」及び「10000」であり、これらフラッシュメモリ・モジュール35は電源がオン状態にあることも分かる。
論理デバイス管理テーブル64は、仮想プールDPPを構成する論理デバイスLDEVを管理するためのテーブルであり、仮想プールDPPごとに作成される。この論理デバイス管理テーブル64は、図9に示すように、論理デバイス番号欄64A、物理デバイス番号欄64B、容量欄64C、有効ページ欄64D、無効ページ欄64E、未使用ページ欄64F及びデータ消去回数欄64Gから構成される。
そして論理デバイス番号欄64Aには、対応する仮想プールDPPを構成する各論理デバイスLDEVの論理デバイス番号が格納され、物理デバイス番号欄64Bには、対応する論理デバイスLDEVを構成するすべてのフラッシュメモリ・モジュール35の物理デバイス番号が格納される。
また容量欄64Cには、対応する論理デバイスLDEVの容量が格納され、有効ページ欄64D、無効ページ欄64E及び未使用ページ欄64Fには、それぞれ対応する論理デバイスLDEVにおける有効ページ(有効領域)の合計容量、無効ページ(無効領域)の合計容量及び未使用ページ(未使用領域)の合計容量がそれぞれ格納される。さらにデータ消去回数欄64Gには、対応する論理デバイスLDEV内においてブロック43に格納されているデータを消去した回数が格納される。
従って、図9の例の場合、例えば「LDEV#1」という論理デバイスLDEVは、「PDEV#1」〜「PDEV#4」という4つの物理デバイス(フラッシュメモリ・モジュール35)が提供する記憶領域に跨って定義されており、その容量は「100[GB]」で、有効ページの合計容量は「10[GB]」、無効ページの合計容量は「20[GB]」、未使用ページの合計容量は「70[GB]」であって、現在のデータの消去回数が「100」であることが示されている。
スケジュール管理テーブル65は、バッチ処理等の性能が要求される処理をスケジュールとして登録することにより、データ配置先管理処理を行うために利用されるテーブルであり、図10に示すように、スケジュール名欄65A、実行間隔欄65B、開始時間欄65C、終了時間欄65D及び必要スペック欄65Eから構成される。
そしてスケジュール名欄65Aには、ユーザにより登録されたスケジュールのスケジュール名が格納され、実行間隔欄65Bには、そのスケジュールを実行する間隔が格納される。また開始時間欄65C及び終了時間欄65Dには、それぞれユーザにより登録されたそのスケジュールを開始又は終了すべき時間が格納され、必要スペック欄65Eには、そのスケジュールに対応する処理を実行するのに必要なRAIDグループRGの個数(以下、これを必要スペックと呼ぶ)が格納される。
なお、このスケジュール管理テーブル65は、ユーザがスケジュール登録を行う任意のタイミングでデータが更新される。また必要スペック欄65Eに格納される必要スペックは、そのスケジュールに対応する処理の実行後に更新される。
仮想プール稼働情報管理テーブル66は、仮想プールDPPを構成する物理デバイスPDEV(フラッシュメモリ・モジュール35)の稼働状況を管理するために利用されるテーブルであり、図11に示すように、仮想プール番号欄66A、仮想プール作成日時欄66B、物理デバイス番号欄66C、起動状態欄66D、起動状態最終更新時刻欄66E及び累計稼働時間欄66Fから構成される。
そして仮想プール番号欄66Aには、ストレージ装置4内に定義されている仮想プールDPPの識別番号(仮想プール番号)が格納され、仮想プール作成日時欄66Bには、対応する仮想プールDPPの作成日時が格納される。また物理デバイス番号欄66Cには、対応する仮想プールDPPを構成するすべての物理デバイスPDEVの物理デバイス番号が格納され、起動状態欄66Dには、対応する物理デバイスPDEVの現在の起動状態が格納される。
さらに起動状態最終更新時刻欄66Eには、対応する物理デバイスPDEVの起動状態を最後に確認した時刻が格納され、累計稼働時間欄66Fには、対応する物理デバイスPDEVの累計稼働時間が格納される。
従って、図11の場合、「DPP#1」という仮想プールDPPは、「2009/8/31 12:00:00」に作成され、現在は「PDEV#1」〜「PDEV#8」という8個の物理デバイスPDEV(フラッシュメモリ・モジュール35)から構成されていることが分かる。またこれら8個の物理デバイスPDEVのうち、「PDEV#1」〜「PDEV#8」という4個の物理デバイスPDEVは現在起動中であり、これら物理デバイスPDEVの起動状態の最終確認時刻はいずれも「2009/9/1 12:00」で、累計稼働時間はいずれも「6」時間であることが示されている。
(3)管理サーバの処理
次に、上述のようなデータ配置先管理機能、スケジュール処理機能及び仮想プール稼働状況レポート機能に関連して管理サーバ3において実行される各種処理の処理内容について説明する。なお、以下においては、各種処理の処理主体を「プログラム」として説明するが、実際には、そのプログラムに基づいて管理サーバ3のCPU20がその処理を実行することは言うまでもない。
(3−1)データ配置先管理機能に関する処理
(3−1−1)論理デバイス情報収集処理
図12は、データ配置先管理プログラム60(図7)により定期的(例えば1時間毎)に実行される論理デバイス情報更新処理の処理手順を示す。データ配置先管理プログラム60は、この図12に示す論理デバイス情報更新処理を定期的に実行することにより、RAIDグループ管理テーブル63(図8)及び論理デバイス管理テーブル64(図9)に登録されている各論理デバイスLDEVに関する情報を更新する。
すなわちデータ配置先管理プログラム60は、この論理デバイス情報更新処理を開始すると、まず、ストレージ装置4において管理されている各フラッシュメモリ・モジュール35に対するアクセス頻度(単位時間当たりのアクセス回数)を、図示しない所定の管理プログラム経由でストレージ装置4から取得し、取得した情報に基づいてRAIDグループ管理テーブル63のIOPS欄63Fを更新する(SP1)。
続いてデータ配置先管理プログラム60は、ストレージ装置4において管理されている各フラッシュメモリ・モジュール35のデータ消去回数をストレージ装置4から取得し、取得した情報に基づいてRAIDグループ管理テーブル63の平均データ消去回数欄63D及び論理デバイス管理テーブル64のデータ消去回数欄64Gをそれぞれ更新する(SP2)。
次いでデータ配置先管理プログラム60は、各論理デバイスLDEVの容量と、これらの論理デバイスLDEVの現在の使用ページ、無効ページ及び未使用ページの各容量とを論理デバイスLDEV単位で取得し、取得したこれらの情報に基づいて、RAIDグループ管理テーブル63及び論理デバイス管理テーブル64をそれぞれ更新する(SP3)。
そしてデータ配置先管理プログラム60は、この後、この論理デバイス情報更新処理を終了する。
(3−1−2)データ配置先管理処理
一方、図13は、管理サーバ3のデータ配置先管理プログラム60により定期的(例えば1時間毎)に実行されるデータ配置先管理処理の処理手順を示す。データ配置先管理プログラム60は、この図13に示す処理手順に従って複数の論理デバイスLDEVに分散されているデータを一部の論理デバイスLDEVに集中させ、又は一部の論理デバイスLDEVに集中しているデータを複数の論理デバイスLDEVに分散させる。
すなわちデータ配置先管理プログラム60は、このデータ配置先管理処理を開始すると、まずRAIDグループRGごとのデータ消去回数を論理デバイス管理テーブル64からそれぞれ取得すると共に、RAIDグループRGごとの単位時間当たりのアクセス回数をRAIDグループ管理テーブル63から取得する(SP10)。
続いてデータ配置先管理プログラム60は、データ消去回数が閾値(以下、これをデータ消去回数閾値と呼ぶ)を超えるRAIDグループRGが存在するか否かを判断する(SP11)。なお、このデータ消去回数閾値SHは、フラッシュメモリ・モジュール35内の各フラッシュメモリ・チップ40(図2)が保障するブロック43(図2)のデータ消去可能回数(RAIDグループ管理テーブル63の消去可能回数欄63Eに格納されているブロック43当たりの消去可能回数)をDとし、重付け変数をiとして、次式

により算出される値である。また重付け変数iは、RAIDグループRGごとに、当該RAIDグループRGを構成するすべてのフラッシュメモリ・モジュール35のデータ消去回数が(1)式を超えたときにインクリメント(1だけ増加)される。
そしてデータ配置先管理プログラム60は、ステップSP11の判断において肯定結果を得ると、データ消去回数がデータ消去回数閾値SHを超える各RAIDグループRGからそれぞれ切り出された論理デバイスLDEVを、ステップSP13〜ステップSP20について後述するデータ配置先集中処理においてデータの移行元となる論理デバイス(以下、これを移行元論理デバイスと呼ぶ)LDEVに設定する(SP12)。具体的に、データ配置先管理プログラム60は、RAIDグループ管理テーブル63におけるかかるRAIDグループRGに対応する移行フラグ欄63H(図8)に格納されている移行フラグを「移行元」に設定する。
続いてデータ配置先管理プログラム60は、ステップSP12において移行フラグを「移行元」に設定したRAIDグループRGの中から1つのRAIDグループRGを選択する(SP13)。
続いてデータ配置先管理プログラム60は、RAIDグループ管理テーブル63を参照して、電源状態が「オン」で、かつ移行フラグが「未設定」となっているRAIDグループRGの中からデータ消去回数の平均値が最も小さいRAIDグループを検索する(SP14)。
そしてデータ配置先管理プログラム60は、この検索により検出したRAIDグループRGから切り出された各論理デバイスLDEVを、データ配置先集中処理においてデータの移行先となる論理デバイス(以下、これを移行先論理デバイスと呼ぶ)LDEVに決定する(SP15)。具体的にデータ配置先管理プログラム60は、RAIDグループ管理テーブル63におけるそのRAIDグループRGに対応する移行フラグ欄63Hの移行フラグを「移行先」に設定する。
続いてデータ配置先管理プログラム60は、上述の移行元論理デバイスLDEVの合計使用容量が、上述の移行先論理デバイスLDEVの合計未使用容量未満であるか否かを判断する(SP16)。具体的に、データ配置先管理プログラム60は、論理デバイス管理テーブル64を参照して、すべての移行元論理デバイスLDEVの有効ページの合計容量を移行元論理デバイスLDEVの合計使用容量として算出する。またデータ配置先管理プログラム60は、すべての移行先論理デバイスLDEVの無効ページ及び未使用ページの合計容量を移行先論理デバイスLDEVの合計未使用容量として算出する。そしてデータ配置先管理プログラム60は、このようにして得られた移行元論理デバイスLDEVの合計使用容量と、移行先論理デバイスLDEVの合計未使用容量とを比較し、移行元論理デバイスLDEVの合計使用容量が、移行先論理デバイスLDEVの合計未使用容量未満であるか否かを判断する。
データ配置先管理プログラム60は、この判断において否定結果を得るとステップSP14に戻り、この後、ステップSP14〜ステップSP16の処理を繰り返すことにより、移行先論理デバイスLDEVをRAIDグループRG単位で追加する。
そしてデータ配置先管理プログラム60は、やがて移行先論理デバイスLDEVの合計未使用容量が移行元論理デバイスLDEVの合計使用容量以上となることによりステップSP16において肯定結果を得ると、ストレージ装置4のCPU31(図1)を制御することにより、移行元論理デバイスLDEVに格納されているデータを移行先論理デバイスLDEVに移行させる(SP17)。
続いてデータ配置先管理プログラム60は、ストレージ装置4のCPU31(図1)を制御することにより、各移行元論理デバイスLDEVの有効ページ及び無効ページにそれぞれ格納されているデータを消去させると共に、これに応じて論理デバイス管理テーブル64を最新の状態に更新する(SP18)。
またデータ配置先管理プログラム60は、そのときステップSP13において選択したRAIDグループRGを構成するすべてのフラッシュメモリ・モジュール35に対する電源供給を停止し、さらにRAIDグループ管理テーブル63におけるそのRAIDグループRGの電源状態を「オフ」に更新する(SP19)。
次いでデータ配置先管理プログラム60は、ステップSP13において移行フラグを「移行元」に設定したすべてのRAIDグループRGについて上述のステップSP13〜ステップSP19の処理を実行し終えたか否かを判断する(SP20)。そしてデータ配置先管理プログラム60は、この判断において否定結果を得るとステップSP13に戻り、この後ステップSP13において順次異なるRAIDグループRGを選択しながら、ステップSP20において肯定結果を得るまでステップSP13〜ステップSP20の処理を繰り返す。
そしてデータ配置先管理プログラム60は、やがてステップSP13において移行フラグを「移行元」に設定したすべてのRAIDグループRGについて上述のステップSP13〜ステップSP19の処理を実行し終えることによりステップSP20において肯定結果を得ると、このデータ配置先管理処理を終了する。
一方、データ配置先管理プログラム60は、ステップSP11の判断において否定結果を得ると、アクセス頻度が一定時間高いRAIDグループRGが存在するか否かを判断する(SP21)。そしてデータ配置先管理プログラム60は、この判断において否定結果を得るとこのデータ配置先管理処理を終了する。
これに対してデータ配置先管理プログラム60は、ステップSP21の判断において肯定結果を得ると、図14について後述するデータ配置先分散処理を実行し(SP22)、この後、このデータ配置先管理処理を終了する。
(3−1−3)データ配置先分散処理
図14は、上述したデータ配置先管理処理(図13)のステップSP22においてデータ配置先管理プログラム60により実行されるデータ配置先分散処理の処理手順を示す。データ配置先管理プログラム60は、この図14に示す処理手順に従って、一部の論理デバイスLDEVに集中しているデータを複数の論理デバイスLDEVに分散させる。
すなわちデータ配置先管理プログラム60は、データ配置先管理処理のステップSP22に進むとこのデータ配置先分散処理を開始し、まず、RAIDグループ管理テーブル63を参照して、電源状態が「オフ」で、かつ移行フラグが「未設定」となっているRAIDグループRGの中からデータ消去回数の平均値が最も小さいRAIDグループRGを検索する(SP30)。
続いてデータ配置先管理プログラム60は、かかる検索により検出したRAIDグループRGを構成するすべてのフラッシュメモリ・モジュール35に対する電源供給を開始することにより、そのRAIDグループRGから切り出されたすべての論理デバイスLDEVを使用可能な状態にする(SP31)。
これにより、この後、業務ホスト2から新たに仮想ボリュームDP−VOL(図4)に書き込まれたデータは、ステップSP31において使用可能状態となった論理デバイスLDEVを含めた使用可能状態のすべての論理デバイスLDEVに分散されて格納されることとなる。
次いでデータ配置先管理プログラム60は、図12について上述した論理デバイス情報収集処理を実行することにより、RAIDグループ管理テーブル63及び論理デバイス管理テーブル64を更新する(SP32)。なお、このステップSP32における論理デバイス情報収集処理は、例えば10分間隔で行われる処理であり、前回の論理デバイス情報収集処理の実行後、10分が経過していないときには省略される。
そしてデータ配置先管理プログラム60は、この後、RAIDグループ管理テーブル63を参照して、いずれかのRAIDグループRGに対するI/Oアクセスの頻度が高い状態にあるか否かを判断する(SP33)。
具体的にデータ配置先管理プログラム60は、RAIDグループ管理テーブル63のIOPS欄に格納されているそのRAIDグループRGから切り出された各論理デバイスLDEVの単位時間当たりのI/Oアクセスの合計回数をX、RAIDグループ管理テーブル63の処理性能欄63Gに格納されている対応するフラッシュメモリ・モジュール35の単位時間当たりの処理性能をY、I/Oアクセスの頻度が高いか否かを判定するためのパラメータ(以下、これをアクセス過多判定パラメータと呼ぶ)を0.7として、次式

で与えられる状態が一定時間継続した場合に、そのRAIDグループRGに対するI/Oアクセスの頻度が高い状態にあると判定する。従って、データ配置先管理プログラム60は、ステップSP33において、RAIDグループRGごとに(2)式を満たすか否かを判断することになる。なお、このアクセス過多判定パラメータの値は更新可能な値であり、0.7に限られない。
そしてデータ配置先管理プログラム60は、いずれかのRAIDグループRGが未だ(2)式を満たすと判断した場合(つまりアクセス過多のRAIDグループRGが存在すると判断した場合)にはステップSP30に戻り、この後、ステップSP30以降の処理を繰り返す。これにより、それまで電源供給が停止されていたRAIDグループRGが順次起動され、そのRAIDグループRGから切り出された論理デバイスLDEVが使用可能状態にされてゆくことになる。
これに対してデータ配置先管理プログラム60は、ステップSP33の判断において否定結果を得ると、RAIDグループ管理テーブル63を参照して、いずれかのRAIDグループRGに対するI/Oアクセスの頻度が低い状態にあるか否かを判断する(SP34)。
具体的にデータ配置先管理プログラム60は、I/Oアクセスの頻度が低いか否かを判定するためのパラメータ(以下、これをアクセス低下判定パラメータと呼ぶ)を0.4として、次式

で与えられる状態が一定時間継続した場合に、そのRAIDグループRGに対するI/Oアクセスの頻度が低い状態にあると判断する。なお、このアクセス低下判定パラメータの値は更新可能な値であり、0.4に限られない。
そしてデータ配置先管理プログラム60は、いずれのRAIDグループRGも(3)式を満たさないと判断した場合(つまりアクセス頻度が低いRAIDグループRGが存在しないと判断した場合)にはステップSP32に戻り、この後、ステップSP32以降の処理を繰り返す。
これに対してデータ配置先管理プログラム60は、ステップSP34の判断において肯定結果を得ると、図15について後述するデータ配置先集中処理を実行し(SP35)、この後、図13について上述したデータ配置先管理処理に戻る。
(3−1−4)データ配置先集中処理
図15は、データ配置先分散処理のステップSP35においてデータ配置先管理プログラム60により実行されるデータ配置先集中処理の処理手順を示す。データ配置先管理プログラム60は、この図15に示す処理手順に従って、複数の論理デバイスLDEVに分散されたデータを一部の論理デバイスLDEVに集中させる。
すなわちデータ配置先管理プログラム60は、図14について上述したデータ配置先分散処理のステップSP35に進むとこのデータ配置先集中処理を開始し、まず、RAIDグループ管理テーブル63を参照して、データ消去回数の平均値が最も小さいRAIDグループRGを検索する(SP40)。
続いてデータ配置先管理プログラム60は、かかる検索により上述の条件を満たすRAIDグループRGを検出すると、そのRAIDグループRGから切り出された各論理デバイスLDEVを移行先論理デバイスに決定する(SP41)。具体的にデータ配置先管理プログラム60は、RAIDグループ管理テーブル63におけるこれらの論理デバイスLDEVに対応する移行フラグ欄63H(図8)に格納されている移行フラグを「移行先」に設定する(SP41)。
次いでデータ配置先管理プログラム60は、RAIDグループ管理テーブル63を参照して、ステップSP40の検索において検出したRAIDグループRG以外の起動中のRAIDグループRGが存在するか否かを判断する(SP42)。具体的に、データ配置先管理プログラム60は、このステップSP42において、RAIDグループ管理テーブル63における対応する移行フラグ欄63Hに格納されている移行フラグが「未設定」であり、かつRAIDグループ管理テーブル63における対応する電源状態欄63Iに格納されている電源状態が「オン」となっているRAIDグループRGを検索する。
そしてデータ配置先管理プログラム60は、この判断において否定結果を得ると、RAIDグループ管理テーブル63における各移行フラグ欄63Hにそれぞれ格納されている移行フラグをすべて「未設定」に更新した後、図14について上述したデータ配置先分散処理に戻る。
これに対してデータ配置先管理プログラム60は、ステップSP42の判断において肯定結果を得ると、ステップSP40の検索により検出したRAIDグループRG以外の起動中のRAIDグループRGであって、データ消去回数が最も大きいRAIDグループRGを検索する(SP43)。具体的に、データ配置先管理プログラム60は、このステップSP43において、RAIDグループ管理テーブル63における対応する移行フラグ欄63Hに格納されている移行フラグが「未設定」であり、かつRAIDグループ管理テーブル63における対応する電源状態欄63Iに格納されている電源状態が「オン」であるRAIDグループRGの中からデータ消去回数の平均値が最も大きいRAIDグループRGを検索する。
そしてデータ配置先管理プログラム60は、この検索により検出したRAIDグループRGから切り出された各論理デバイスLDEVを、上述の移行元論理デバイスに設定する(SP44)。具体的にデータ配置先管理プログラム60は、RAIDグループ管理テーブル63におけるそのRAIDグループRGに対応する移行フラグ欄63Hに格納されている移行フラグを「移行元」に設定する。
次いでデータ配置先管理プログラム60は、データ配置先管理処理(図13)のステップSP16について上述した方法と同様の方法により、移行元論理デバイスLDEVの合計使用容量が、移行先論理デバイスLDEVの合計未使用容量未満であるか否かを判断する(SP45)。
データ配置先管理プログラム60は、この判断において否定結果を得ると、RAIDグループ管理テーブル63を参照して、そのRAIDグループRGから切り出された論理デバイスLDEVが移行先論理デバイスに設定されていない起動中のRAIDグループRGであって、データ消去回数の平均値が最も小さいRAIDグループRGが存在するか否かを判断する(SP49)。具体的には、データ配置先管理プログラム60は、このステップSP49において、RAIDグループ管理テーブル63における対応する移行フラグ欄63Hに格納されている移行フラグが「未設定」であり、かつRAIDグループ管理テーブル63における対応する電源状態欄63Iに格納されている電源状態が「オン」となっているRAIDグループRGの中からデータ消去回数の平均値が最も少ないRAIDグループRGが存在するか否かを判断することになる。
そしてデータ配置先管理プログラム60は、この判断において否定結果を得ると、RAIDグループ管理テーブル63における各移行フラグ欄63Hにそれぞれ格納されている移行フラグをすべて「未設定」に更新した後、図14について上述したデータ配置先分散処理に戻る。
これに対してデータ配置先管理プログラム60は、ステップSP45の判断において肯定結果を得ると、ステップSP42において存在を確認した上述のRAIDグループRGから切り出された各論理デバイスLDEVを移行先論理デバイスに追加する(SP50)。具体的に、データ配置先管理プログラム60は、RAIDグループ管理テーブル63におけるかかるRAIDグループRGに対応する移行フラグ欄63Hに格納されている移行フラグを「移行先」に設定することになる。
次いでデータ配置先管理プログラム60は、ステップSP45に戻り、この後、移行元論理デバイスLDEVの合計使用容量が、移行先論理デバイスLDEVの合計未使用容量未満となるまで、ステップSP45−ステップSP49−ステップSP50−ステップSP45のループを繰り返す。
そしてデータ配置先管理プログラム60は、やがてステップSP45の判断において肯定結果を得ると、ストレージ装置4のCPU31(図1)を制御することにより、移行元論理デバイスLDEVに格納されているデータを移行先論理デバイスLDEVに移行させる(SP46)。
続いてデータ配置先管理プログラム60は、ストレージ装置4のCPU31を制御することにより、各移行元論理デバイスLDEVの有効ページ及び無効ページにそれぞれ格納されているデータを消去させ、この後、これに応じて論理デバイス管理テーブル64を最新の状態に更新する(SP47)。
次いでデータ配置先管理プログラム60は、そのときステップSP43の検索により検出したRAIDグループRGを構成するすべてのフラッシュメモリ・モジュール35に対する電源供給を停止し、さらにRAIDグループ管理テーブル63におけるそのRAIDグループRGに対応する電源状態欄63Iに格納されている電源状態を「オフ」に更新する(SP48)。
さらにデータ配置先管理プログラム60は、ステップSP42に戻り、この後ステップSP42又はステップSP49において否定結果を得るまでステップSP42以降の処理を繰り返す。そしてデータ配置先管理プログラム60は、やがてステップSP42又はステップSP49において否定結果を得ると、データ配置先分散処理(図14)に戻る。
(3−2)スケジュール処理機能に関する処理
他方、図16は、図12〜図15について上述した各種処理と並行してスケジュール管理プログラム61(図7)により実行されるスケジュール処理の処理手順を示す。このスケジュール処理は、上述のようにユーザにより設定されたスケジュールに従って、その開始時間から終了時間までの間、データを複数の論理デバイスLDEVに分散させる処理を実行し、終了時間が経過すると、データを再度一部の論理デバイスLDEVに集中させる処理である。従って、スケジュールは、予めアクセスが増加していることが分かっている時間帯に合わせて開始時間及び終了時間が設定される。
スケジュール管理プログラム61は、スケジュール管理テーブル65(図10)を常時監視しており、スケジュール管理テーブル65に登録されたいずれかのスケジュールの開始時間の1分前になるとこのスケジュール処理を開始し、まず、スケジュール管理テーブル65上のそのとき実行しようとするスケジュールに対応する必要スペック欄65E(図10)に必要スペックが登録されているか否かを判断する(SP60)。
スケジュール管理プログラム61は、この判断において肯定結果を得ると、かかる必要スペック欄65Eに登録されている必要個数のRAIDグループRGを起動し、それらのRAIDグループRGから切り出された各論理デバイスLDEVを使用可能な状態にする(SP61)。
具体的に、スケジュール管理プログラム61は、このステップSP61において、RAIDグループ管理テーブル63を参照して、電源状態が「オフ」となっているRAIDグループRGのうち、平均データ消去回数欄63D(図8)に格納されているデータ消去回数の平均値が少ないものから順番に必要個数のRAIDグループRGを選択する。そしてスケジュール管理プログラム61は、選択した各RAIDグループRGをそれぞれ構成する各フラッシュメモリ・モジュール35に対する電源供給を開始し、さらにRAIDグループ管理テーブル63におけるそのRAIDグループRGに対応する電源状態欄63Iに格納されている電源状態を「オン」に更新する。そしてスケジュール管理プログラム61は、この後、ステップSP63に進む。
これに対してスケジュール管理プログラム61は、ステップSP60の判断において否定結果を得ると、そのスケジュールを実行するのに必要なRAIDグループRGの個数を2個として、2個のRAIDグループRGを起動することにより、そのRAIDグループRGから切り出された論理デバイスLDEVを使用可能な状態にする(SP62)。このステップSP62における具体的な処理内容は、ステップSP61と同様であるので説明は省略する。そしてスケジュール管理プログラム61は、この後、ステップSP63に進む。
そしてスケジュール管理プログラム61は、ステップSP63に進むと、図示しないタイマより現在時刻を取得し、スケジュール管理テーブル65に登録されているそのスケジュールの終了時間が経過したか否かを判断する(SP63)。
スケジュール管理プログラム61は、この判断において否定結果を得ると、図64について上述した論理デバイス情報収集処理を実行することにより、RAIDグループ管理テーブル63を更新する(SP64)。なお、このステップSP64における論理デバイス情報収集処理は、例えば10分ごとに行われる処理であり、前回の論理デバイス情報収集処理の実行後、10分が経過していないときには省略される。
次いでスケジュール管理プログラム61は、データ配置先分散処理(図14)のステップSP33と同様にして、RAIDグループ管理テーブル63に登録されたいずれかのRAIDグループRGに対するI/Oアクセスの頻度が高い状態にあるか否かを判断する(SP65)。
そしてスケジュール管理プログラム61は、この判断において否定結果を得るとステップSP63に戻り、これに対して肯定結果を得ると、RAIDグループ管理テーブル63を参照して、電源状態が「オフ」で、かつ移行フラグが「未設定」となっているRAIDグループRGの中からデータ消去回数の平均値が最も小さいRAIDグループRGを検索する(SP66)。
続いてスケジュール管理プログラム61は、かかる検索により検出したRAIDグループRGを構成するすべてのフラッシュメモリ・モジュール35に対する電源供給を開始することにより、そのRAIDグループRGから切り出されたすべての論理デバイスLDEVを使用可能な状態にする(SP67)。
これにより、この後、業務ホスト2から新たに仮想ボリュームDP−VOL(図4)に書き込まれたデータは、ステップSP61又はステップSP62において使用可能状態となった論理デバイスLDEVを含めた使用可能状態のすべての論理デバイスLDEVに分散されて格納されることとなる。
またスケジュール管理プログラム61は、この後ステップSP63に戻り、ステップSP63において肯定結果を得るまでステップSP63〜ステップSP67の処理を繰り返す。
一方、スケジュール管理プログラム61は、やがてスケジュール管理テーブル65に登録されたそのスケジュールの終了時間が経過することによりステップSP63において肯定結果を得ると、スケジュール管理テーブル65におけるそのスケジュールに対応する必要スペック欄65E(図10)に格納されている必要スペックを、そのときそのスケジュールを実行するのに使用したRAIDグループRGの個数に更新する(SP68)。
次いでスケジュール管理プログラム61は、図15について上述したデータ配置先集中処理を実行する(SP69)。これによりスケジュール管理プログラム61は、ステップSP60〜ステップSP67の処理により複数の論理デバイスLDEVに分散されたデータを一部の論理デバイスLDEVに再度集中させると共に、未使用のRAIDグループRGを最大化させて、これらのRAIDグループRGを構成するフラッシュメモリ・モジュール35に対する電源供給を開始させる。
そしてスケジュール管理プログラム61は、この後、このスケジュール処理を終了する。
(3−3)仮想プール稼働状況レポート機能に関する処理
(3−3−1)新規仮想プール登録処理
他方、図17は、図12〜図15について上述した各種処理と並行して仮想プール稼働状況レポートプログラム62(図7)により実行される新規仮想プール登録処理の処理手順を示す。
仮想プール稼働状況レポートプログラム62は、ユーザ操作により仮想プールDPPが作成されると、これに応じてこの図17に示す新規仮想プール登録処理を開始し、まず、そのとき作成された新たな仮想プールDPPのエントリを仮想プール稼働情報管理テーブル66(図11)に追加する(SP70)。
具体的に仮想プール稼働状況レポートプログラム62は、そのとき作成された仮想プールDPPに対応する行を仮想プール稼働情報管理テーブル66に追加し、その行の仮想プール番号欄66A(図11)及び仮想プール作成日時欄66Bに、それぞれその仮想プールDPPの仮想プール番号及び作成日時を格納する。
また仮想プール稼働状況レポートプログラム62は、かかる行の物理デバイス番号欄66C(図11)にその仮想プールDPPを構成するすべてのフラッシュメモリ・モジュール35のフラッシュメモリ・モジュール番号を格納すると共に、各起動状態欄66D(図11)に、対応するフラッシュメモリ・モジュール35の現在の起動状態として「オン」を格納する。
さらに仮想プール稼働状況レポートプログラム62は、かかる行の各起動状態最終更新時刻欄66E(図11)に、対応するフラッシュメモリ・モジュール35の起動状態の最終更新時刻としてその仮想プールDPPの作成日時を格納し、累計稼働時間欄66F(66F)に、対応するフラッシュメモリ・モジュール35の累計稼働時間として「0」を格納する。
そして仮想プール稼働状況レポートプログラム62は、この後、この新規仮想プール登録処理を終了する。
(3−3−2)テーブル更新処理
一方、図18は、新規仮想プール登録処理の実行後に仮想プール稼働状況レポートプログラム62により実行されるテーブル更新処理の処理手順を示す。仮想プール稼働状況レポートプログラム62は、上述したデータ配置先管理処理等によりいずれかのフラッシュメモリ・モジュール35に対して電源供給が開始若しくは停止され、又は、ユーザにより指示され若しくは予め定められた監視タイミングとなると、この図18に示す処理手順に従って仮想プール稼働情報管理テーブル66(図11)を更新する。
すなわち仮想プール稼働状況レポートプログラム62は、いずれかのフラッシュメモリ・モジュール35に対する電源供給が開始若しくは停止され、又は、ユーザにより指示され若しくは予め定められた監視タイミングとなるとこのテーブル更新処理を開始し、まず、いずれかのフラッシュメモリ・モジュール35に対する電源供給が開始されたか否かを判断する(SP71)。
仮想プール稼働状況レポートプログラム62は、この判断において肯定結果を得ると、仮想プール稼働情報管理テーブル66におけるそのフラッシュメモリ・モジュール35に対応するエントリの起動状態欄66D(図11)に格納されている起動状態を「オン」に更新すると共に、起動状態最終更新時刻欄66E(図11)に格納されているそのフラッシュメモリ・モジュール35の起動状態の最終更新時刻を現在時刻に更新する(SP72)。そして仮想プール稼働状況レポートプログラム62は、この後、このテーブル更新処理を終了する。
一方、仮想プール稼働状況レポートプログラム62は、ステップSP71の判断において否定結果を得ると、いずれかのフラッシュメモリ・モジュール35に対する電源供給が停止されたか否かを判断する(SP73)。
仮想プール稼働状況レポートプログラム62は、この判断において肯定結果を得ると、仮想プール稼働情報管理テーブル66におけるそのフラッシュメモリ・モジュール35に対応するエントリの起動状態欄66Dに格納されている起動状態を「オフ」に更新する。また仮想プール稼働状況レポートプログラム62は、そのフラッシュメモリ・モジュール35に対応するエントリの起動状態最終更新時刻欄66Eに格納されているそのフラッシュメモリ・モジュール35の起動状態の最終更新時刻を現在時刻に更新すると共に、累計稼働時間欄66F(図11)に格納されているそのフラッシュメモリ・モジュール35の累計稼働時間を更新する(SP74)。そして仮想プール稼働状況レポートプログラム62は、この後、このテーブル更新処理を終了する。
他方、仮想プール稼働状況レポートプログラム62は、ステップSP73の判断において否定結果を得ると、ユーザによりレポートの出力を指示され又は一定間隔で設定された監視タイミングとなったか否かを判断する(SP75)。
そして仮想プール稼働状況レポートプログラム62は、この判断において否定結果を得るとこのテーブル更新処理を終了する。
これに対して仮想プール稼働状況レポートプログラム62は、ステップSP75の判断において肯定結果を得ると、仮想プール稼働情報管理テーブル66に登録された全フラッシュメモリ・モジュール35のうち、ステップSP77〜ステップSP79の処理を未だ行っていないフラッシュメモリ・モジュール35を1つ選択し、そのフラッシュメモリ・モジュール35の起動状態が「オン」であるか否かを、仮想プール稼働情報管理テーブル66の対応する起動状態欄66Dを参照して判断する(SP77)。
そして仮想プール稼働状況レポートプログラム62は、この判断において肯定結果を得ると、仮想プール稼働情報管理テーブル66におけるそのフラッシュメモリ・モジュール35に対応する累計稼働時間欄66Fに格納されている累計稼働時間を、起動状態最終更新時刻欄66Eに格納されている起動状態の最終更新時刻から現在時刻までの時間を当該累計稼働時間に加算した値に更新すると共に、当該仮想プール稼働情報管理テーブル66におけるそのフラッシュメモリ・モジュール35に対応する起動状態最終更新時刻欄66Eに格納されている起動状態の最終更新時刻を現在時刻に更新する(SP78)。
これに対して仮想プール稼働状況レポートプログラム62は、ステップSP77の判断において否定結果を得ると、仮想プール稼働情報管理テーブル66におけるそのフラッシュメモリ・モジュール35に対応する起動状態最終更新時刻欄66Eに格納されている起動状態の最終更新時刻を、現在時刻に更新する(SP79)。
そして仮想プール稼働状況レポートプログラム62は、仮想プール稼働情報管理テーブル66に登録されているすべてのフラッシュメモリ・モジュール35についてステップSP77〜ステップSP79の処理を実行し終えたか否かを判断し(SP80)、否定結果を得るとステップSP76に戻って、この後、ステップSP80において肯定結果を得るまで同様の処理を繰り返す。
そして仮想プール稼働状況レポートプログラム62は、やがて仮想プール稼働情報管理テーブル66に登録されているすべてのフラッシュメモリ・モジュール35についてステップSP77〜ステップSP79の処理を実行し終えることによりステップSP80において肯定結果を得ると、このテーブル更新処理を終了する。
(3−3−3)レポート出力処理
図19は、図12〜図15について上述した各種処理と並行して仮想プール稼働状況レポートプログラム62により実行されるレポート出力処理の処理手順を示す。仮想プール稼働状況レポートプログラム62は、この図19に示す処理手順に従って仮想プールDPP(図4)の稼働状況をレポート出力する。
すなわち仮想プール稼働状況レポートプログラム62は、ユーザによりレポートの出力が指示され又は定期的に実行するよう設定されたレポートの出力タイミングとなると、この図19に示すレポート出力処理を開始し、まず、図18について上述したテーブル更新処理を実行することにより、仮想プール稼働情報管理テーブル66を最新の状態に更新する(SP90)。
続いて仮想プール稼働状況レポートプログラム62は、ステップSP90において更新した仮想プール稼働情報管理テーブル66を参照して、例えば図20に示すようなレポート画面70を管理サーバ3に表示させ、又は、管理サーバ3に接続された図示しないプリンタに印刷させる。
このレポート画面70は、ストレージ装置4内に存在する各仮想プールDPPについて、その仮想プールの仮想プール番号と、その仮想プールDPPを構成する各フラッシュメモリ・モジュール35の物理デバイス番号と、これらフラッシュメモリ・モジュール35の稼働状態と、これらフラッシュメモリ・モジュール35の稼働率とを一覧化したものである。なお、稼働率は、次式

により求められた数値である。
そして仮想プール稼働状況レポートプログラム62は、この後、このレポート出力処理を終了する。
(4)本実施の形態の効果
以上のように本実施の形態によるストレージ装置4においては、通常時にはデータの配置先を一部の論理デバイスLDEVに集中させることで未使用のフラッシュメモリ・モジュール35数を最大化し、これら未使用のフラッシュメモリ・モジュール35の電源を落とす一方、起動中の各論理デバイスLDEVのデータ書換え回数及びアクセス頻度を監視し、データ書換え回数が増大した論理デバイスLDEVに格納されているデータを書換え回数の少ない論理デバイスLDEVに移動させたり、アクセス頻度が過大になった論理デバイスLDEVに格納されているデータを他の論理デバイスに分散させるため、データの配置先を適宜変更することができ、かくしてフラッシュメモリ41の寿命を平準化しながら、通常時にはストレージ装置4全体として省電力運転を行うことができる。
(5)他の実施の形態
なお上述の実施の形態においては、本発明を図のように構成された計算機システムのストレージ装置に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成の計算機システムに広く適用することができる。
また上述の実施の形態においては、ストレージ装置4において業務ホスト2からのデータを読み書きするための記憶領域を提供する不揮発性メモリとしてフラッシュメモリを適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の不揮発性メモリを広く適用することができる。
さらに上述の実施の形態においては、データ消去回数閾値SHを上述の(1)式のように算出するようにした場合について述べたが、本発明はこれに限らず、この他種々の方法によりデータ消去回数閾値SHを決定するようにしても良い。
さらに上述の実施の形態においては、上述の(2)式で与えられる状態が一定時間継続した場合に、そのRAIDグループRGに対するI/Oアクセスの頻度が高い状態にあると判定し、上述の(3)式で与えられる状態が一定時間継続した場合に、そのRAIDグループRGに対するI/Oアクセスの頻度が低い状態にあると判定するようにした場合について述べたが、本発明はこれに限らず、この他の方法によりこれらの判定を行うようにしても良い。
さらに上述の実施の形態においては、データを一部の論理デバイスLDEVに集中させた後、起動中の論理デバイスLDEVに対するデータの書換え回数及びアクセス頻度を監視するようにした場合について述べたが、本発明はこれに限らず、これらデータの書換え回数及びアクセス頻度のうちのいずれか一方のみを監視するようにしても良い。
本発明は、フラッシュメモリ等の不揮発性メモリを記憶媒体とするストレージ装置に適用することができる。

Claims (10)

  1. 計算機システムにおいて、
    ホスト装置がデータを読み書きするための記憶領域を提供するストレージ装置と、
    前記ストレージ装置を管理する管理装置と
    を備え、
    前記ストレージ装置は、
    前記記憶領域を提供する複数の不揮発性メモリと、
    前記不揮発性メモリに対する前記ホスト装置からのデータの読み書きを制御するコントローラとを有し、
    前記コントローラは、
    前記複数の不揮発性メモリがそれぞれ提供する複数の前記記憶領域に基づいて複数の論理デバイスを定義し、定義した複数の論理デバイスを仮想プールとしてまとめて管理するための論理デバイス管理テーブルを備え、
    前記論理デバイス管理テーブルに基づいて、前記ホスト装置に対して仮想的なボリュームを提供し、当該仮想的なボリュームに対する前記ホスト装置からのデータの書込み要求に応じて前記仮想プールから前記仮想的なボリュームに前記記憶領域を動的に割り当て、割り当てた前記記憶領域に前記データを配置し、
    前記管理装置は、
    前記論理デバイス管理テーブルにより管理される仮想プール単位で、前記ホスト装置からのデータの配置先を一部の前記不揮発性メモリが提供する記憶領域に集中させて、未使用の前記不揮発性メモリに対する電源供給を停止させるように前記ストレージ装置を制御し、
    起動中の前記不揮発性メモリが提供する記憶領域に対するデータの書換え回数及び又はアクセス頻度を監視し、
    一部の前記不揮発性メモリが提供する記憶領域におけるデータの書換え回数が増大した場合には、他の前記不揮発性メモリが提供するデータの書換え回数が少ない記憶領域にデータを移動させるように前記ストレージ装置を制御し、一部の前記不揮発性メモリが提供する記憶領域に対するアクセス頻度が過多になった場合には、電源供給を停止している前記不揮発性メモリを起動することによりデータの配置先を分散させるように前記ストレージ装置を制御する
    ことを特徴とする計算機システム。
  2. 前記不揮発性メモリは、フラッシュメモリである
    ことを特徴とする請求項1に記載の計算機システム。
  3. 前記管理装置は、
    未使用の前記不揮発性メモリが最大化するように、前記ホスト装置からのデータの配置先を一部の前記不揮発性メモリが提供する記憶領域に集中させる
    ことを特徴とする請求項1又は請求項2に記載の計算機システム。
  4. 前記管理装置は、
    予め設定されたスケジュールを管理し、
    いずれかのスケジュールの開始時間から終了時間までの間は、電源供給を停止していた前記不揮発性メモリを起動させることにより複数の前記不揮発性メモリがそれぞれ提供する記憶領域にデータを分散させるように前記ストレージ装置を制御し、
    当該スケジュールの終了時間が経過すると、データの配置先を一部の前記不揮発性メモリが提供する記憶領域に集中させて、未使用の前記不揮発性メモリに対する電源供給を停止させるように前記ストレージ装置を制御する
    ことを特徴とする請求項1乃至請求項3の何れか一項に記載の計算機システム。
  5. 前記管理装置は、
    前記仮想プールの稼働状況に関する情報を前記ストレージ装置から取得し、
    ユーザからの指示に応じて又は定期的に前記情報をレポート出力する
    ことを特徴とする請求項1乃至請求項4の何れか一項に記載の計算機システム。
  6. ホスト装置がデータを読み書きするための記憶領域をそれぞれ提供する複数の不揮発性メモリを有するストレージ装置の制御方法において、
    前記ストレージ装置は、
    前記複数の不揮発性メモリがそれぞれ提供する複数の前記記憶領域に基づいて複数の論理デバイスを定義し、定義した複数の論理デバイスを仮想プールとしてまとめて管理するための論理デバイス管理テーブルを備え、
    前記論理デバイス管理テーブルに基づいて、前記ホスト装置に対して仮想的なボリュームを提供し、当該仮想的なボリュームに対する前記ホスト装置からのデータの書込み要求に応じて前記仮想プールから前記仮想的なボリュームに前記記憶領域を動的に割り当て、割り当てた前記記憶領域に前記データを配置し、
    前記論理デバイス管理テーブルにより管理される仮想プール単位で、前記ホスト装置からのデータの配置先を一部の前記不揮発性メモリが提供する記憶領域に集中させて、未使用の前記不揮発性メモリに対する電源供給を停止させるように前記ストレージ装置を制御する第1のステップと、
    起動中の前記不揮発性メモリが提供する記憶領域に対するデータの書換え回数及び又はアクセス頻度を監視する第2のステップと、
    一部の前記不揮発性メモリが提供する記憶領域におけるデータの書換え回数が増大した場合には、他の前記不揮発性メモリが提供するデータの書換え回数が少ない記憶領域にデータを移動させるように前記ストレージ装置を制御し、一部の前記不揮発性メモリが提供する記憶領域に対するアクセス頻度が過多になった場合には、電源供給を停止している前記不揮発性メモリを起動することによりデータの配置先を分散させるように前記ストレージ装置を制御する第3のステップと
    を備えることを特徴とするストレージ装置の制御方法。
  7. 前記不揮発性メモリは、フラッシュメモリである
    ことを特徴とする請求項6にストレージ装置の制御方法。
  8. 前記第1のステップでは、
    未使用の前記不揮発性メモリが最大化するように、前記ホスト装置からのデータの配置先を一部の前記不揮発性メモリが提供する記憶領域に集中させる
    ことを特徴とする請求項6又は請求項7に記載のストレージ装置の制御方法。
  9. 前記第1乃至第3のステップの処理と並行して、
    予め設定されたスケジュールを管理し、
    いずれかのスケジュールの開始時間から終了時間までの間は、電源供給を停止していた前記不揮発性メモリを起動させることにより複数の前記不揮発性メモリがそれぞれ提供する記憶領域にデータを分散させるように前記ストレージ装置を制御し、
    当該スケジュールの終了時間が経過すると、データの配置先を一部の前記不揮発性メモリが提供する記憶領域に集中させて、未使用の前記不揮発性メモリに対する電源供給を停止させるように前記ストレージ装置を制御する
    ことを特徴とする請求項6乃至請求項8の何れか一項に記載のストレージ装置の制御方法。
  10. 前記第1乃至第3のステップの処理と並行して、
    前記仮想プールの稼働状況に関する情報を前記ストレージ装置から取得し、
    ユーザからの指示に応じて又は定期的に前記情報をレポート出力する
    ことを特徴とする請求項6乃至請求項9の何れか一項に記載のストレージ装置の制御方法。
JP2009286814A 2009-12-17 2009-12-17 ストレージ装置及びその制御方法 Expired - Fee Related JP4912456B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009286814A JP4912456B2 (ja) 2009-12-17 2009-12-17 ストレージ装置及びその制御方法
US12/703,083 US20110153917A1 (en) 2009-12-17 2010-02-09 Storage apparatus and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009286814A JP4912456B2 (ja) 2009-12-17 2009-12-17 ストレージ装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2011128895A JP2011128895A (ja) 2011-06-30
JP4912456B2 true JP4912456B2 (ja) 2012-04-11

Family

ID=44152739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009286814A Expired - Fee Related JP4912456B2 (ja) 2009-12-17 2009-12-17 ストレージ装置及びその制御方法

Country Status (2)

Country Link
US (1) US20110153917A1 (ja)
JP (1) JP4912456B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110047316A1 (en) * 2009-08-19 2011-02-24 Dell Products L.P. Solid state memory device power optimization
KR101801147B1 (ko) * 2011-08-30 2017-11-27 삼성전자주식회사 데이터 신뢰성을 개선하는 데이터 관리 방법 및 그에 따른 데이터 저장 장치
JP5844473B2 (ja) * 2012-02-08 2016-01-20 株式会社日立製作所 複数の不揮発性の半導体記憶媒体を有し、ホットデータを長寿命記憶媒体に配置しコールドデータを短寿命記憶媒体に配置するストレージ装置、及び、記憶制御方法
US20130290611A1 (en) * 2012-03-23 2013-10-31 Violin Memory Inc. Power management in a flash memory
WO2013157032A1 (en) * 2012-04-16 2013-10-24 Hitachi, Ltd. Storage subsystem and data management method of storage subsystem
US9658803B1 (en) * 2012-06-28 2017-05-23 EMC IP Holding Company LLC Managing accesses to storage
US9697111B2 (en) 2012-08-02 2017-07-04 Samsung Electronics Co., Ltd. Method of managing dynamic memory reallocation and device performing the method
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
JP2014174845A (ja) * 2013-03-11 2014-09-22 Fujitsu Ltd 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法
US9400611B1 (en) * 2013-03-13 2016-07-26 Emc Corporation Data migration in cluster environment using host copy and changed block tracking
WO2014199493A1 (ja) * 2013-06-13 2014-12-18 株式会社日立製作所 ストレージシステム及びストレージ制御方法
US8949491B1 (en) 2013-07-11 2015-02-03 Sandisk Technologies Inc. Buffer memory reservation techniques for use with a NAND flash memory
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10007432B2 (en) * 2015-10-13 2018-06-26 Dell Products, L.P. System and method for replacing storage devices
CN106937162A (zh) * 2017-03-03 2017-07-07 北京小米移动软件有限公司 音视频播放控制方法及装置
EP3588305A4 (en) * 2017-04-07 2020-04-01 Panasonic Intellectual Property Management Co., Ltd. NON-VOLATILE STORAGE WITH INCREASED NUMBER OF USEFUL TIMES
US10884878B2 (en) * 2018-06-07 2021-01-05 International Business Machines Corporation Managing a pool of virtual functions
CN109002259B (zh) 2018-06-28 2021-03-09 苏州浪潮智能科技有限公司 一种归置组所属硬盘分配方法、系统、装置及存储介质
US10866762B2 (en) * 2018-07-25 2020-12-15 Vmware, Inc. Unbalanced storage resource usage configuration for distributed storage systems
US20230214270A1 (en) * 2021-12-31 2023-07-06 Western Digital Technologies, Inc. Readiness states for partitioned internal resources of a memory controller

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
JP4694333B2 (ja) * 2005-09-30 2011-06-08 株式会社日立製作所 計算機システム及びストレージ装置とシステム管理装置並びにディスク装置電源制御方法
JP4855102B2 (ja) * 2006-02-23 2012-01-18 株式会社日立製作所 計算機システム及び管理計算機とストレージシステム並びに記憶領域割当量制御方法
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
JP2007293442A (ja) * 2006-04-21 2007-11-08 Hitachi Ltd ストレージシステム及びその制御方法
JP4842719B2 (ja) * 2006-06-28 2011-12-21 株式会社日立製作所 ストレージシステム及びそのデータ保護方法
JP2009009194A (ja) * 2007-06-26 2009-01-15 Hitachi Ltd 消費電力を削減する機能を備えたストレージシステム
JP5011028B2 (ja) * 2007-08-23 2012-08-29 株式会社日立製作所 ストレージシステム、管理装置、スケジューリング方法、プログラム、記録媒体
JP5134915B2 (ja) * 2007-11-02 2013-01-30 株式会社日立製作所 記憶領域の構成最適化方法、計算機システム及び管理計算機
US20110047316A1 (en) * 2009-08-19 2011-02-24 Dell Products L.P. Solid state memory device power optimization

Also Published As

Publication number Publication date
JP2011128895A (ja) 2011-06-30
US20110153917A1 (en) 2011-06-23

Similar Documents

Publication Publication Date Title
JP4912456B2 (ja) ストレージ装置及びその制御方法
JP5070315B2 (ja) ストレージ装置及びストレージ装置におけるデータ階層管理方法
JP7258849B2 (ja) 低レイテンシ動作をサポートするssdアーキテクチャ
JP4822440B2 (ja) 不揮発性メモリシステムのための内部メンテナンススケジュール要求
US9298534B2 (en) Memory system and constructing method of logical block
CN102576330B (zh) 具有持久化无用单元收集机制的存储系统
US20150186224A1 (en) Data storage device and flash memory control method
JP5844473B2 (ja) 複数の不揮発性の半導体記憶媒体を有し、ホットデータを長寿命記憶媒体に配置しコールドデータを短寿命記憶媒体に配置するストレージ装置、及び、記憶制御方法
CN105340020B (zh) 存储器系统中的擦除管理
JP2017162067A (ja) ストレージシステム、情報処理システムおよび制御方法
JP2017162068A (ja) ストレージシステム、情報処理システムおよび制御方法
JP2017162066A (ja) ストレージシステム、情報処理システムおよび制御方法
JP2009087021A (ja) ストレージ装置及びデータ重複排除方法
US8589768B2 (en) Memory system having multiple channels and write control method including determination of error correction channel in memory system
US9760292B2 (en) Storage system and storage control method
JP2015529368A (ja) ストレージトランスレーションレイヤー
TW201005536A (en) Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
WO2014083620A1 (ja) ストレージ装置及び階層制御方法
JP2022114726A (ja) メモリシステムおよび制御方法
WO2010106694A1 (en) Data backup system and data backup method
US8706990B2 (en) Adaptive internal table backup for non-volatile memory system
US10929061B2 (en) Memory system and memory control method
EP4089542A1 (en) System and method for fine granular retention control in storage devices
WO2014170936A1 (ja) ストレージ装置及びストレージ装置の制御方法
JP2012058770A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110308

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110905

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111115

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111220

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees