JP5949408B2 - 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム - Google Patents

情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム Download PDF

Info

Publication number
JP5949408B2
JP5949408B2 JP2012220445A JP2012220445A JP5949408B2 JP 5949408 B2 JP5949408 B2 JP 5949408B2 JP 2012220445 A JP2012220445 A JP 2012220445A JP 2012220445 A JP2012220445 A JP 2012220445A JP 5949408 B2 JP5949408 B2 JP 5949408B2
Authority
JP
Japan
Prior art keywords
storage device
arithmetic processing
unit
storage
data
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
JP2012220445A
Other languages
English (en)
Other versions
JP2014074940A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012220445A priority Critical patent/JP5949408B2/ja
Priority to US13/950,435 priority patent/US9262078B2/en
Publication of JP2014074940A publication Critical patent/JP2014074940A/ja
Application granted granted Critical
Publication of JP5949408B2 publication Critical patent/JP5949408B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of 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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

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

Description

本発明は、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラムに関する。
近時、不揮発性メモリを含むストレージシステムが提案されている。この種のストレージシステムでは、データの読み書きを制御するコントローラとは別のコントローラが、障害が発生した不揮発性メモリチップに格納されたデータを別の不揮発性メモリチップにコピーする(例えば、特許文献1参照)。また、この種のストレージシステムでは、不揮発性メモリの寿命を管理しながら、ハードディスクドライブに格納されたデータを不揮発性メモリに移行することで、ストレージシステム全体の消費電力が削減される(例えば、特許文献2参照)。
特開2008−191966号公報 特開2007−115232号公報
ストレージシステムは、データの書き込み量が増えるにしたがってアクセス効率が低下することが知られている。例えば、ハードディスクドライブを含むストレージシステムでは、ファイルの書き込みと削除を繰り返すことにより、ファイルの断片化が発生し、アクセス速度が低下する。一方、フラッシュメモリ等の不揮発性メモリでは、データを上書きする前にブロック単位でデータが消去される。このため、フラッシュメモリ等の不揮発性メモリを含むストレージシステムでは、データの書き込み量が増えると、書き込みのスループットが低下する。
しかしながら、システムの負荷の増加を抑えながら、アクセス効率の低下等により性能が低下したストレージシステムの性能を回復する手法は提案されていない。
1つの側面では、本発明の目的は、演算処理装置の負荷の増加を抑えながら、性能が低下した記憶装置を別の記憶装置と置き換え、演算処理装置に接続された記憶装置の性能を回復することである。
本発明の一形態では、情報処理装置は、複数の演算処理装置と、複数の記憶装置と、複数の演算処理装置のうち第1の演算処理装置と、複数の記憶装置のうち二重化された第1の記憶装置と第2の記憶装置とを接続する接続部と、第2の記憶装置の性能が低下した場合、性能が低下した第2の記憶装置を、第1の演算処理装置と第1の記憶装置から接続部に切り離させ、複数の記憶装置のうち第3の記憶装置を、第1の記憶装置と二重化させるとともに、二重化させた第1の記憶装置と第3の記憶装置を、第1の演算処理装置に対して接続部に接続させ、複数の演算処理装置のうち第2の演算処理装置を、切り離した第2の記憶装置に対して接続部に接続させるとともに、第2の記憶装置を第2の演算処理装置に初期化させる制御部を有する。
演算処理装置の負荷の増加を抑えながら、性能が低下した記憶装置を別の記憶装置と置き換えでき、演算処理装置に接続された記憶装置の性能を回復できる。
一実施形態における情報処理装置の例を示す。 図1に示した情報処理装置の動作の例を示す。 図1に示した情報処理装置の動作の別の例を示す。 別の実施形態における情報処理装置の例を示す。 図4に示した制御部の例を示す。 図4に示した全体管理テーブルの例を示す。 図4に示した接続管理テーブルの例を示す。 図4に示した情報処理装置の接続の例を示す。 図4に示したプロセッサにより記憶装置の性能の低下を検出する例を示す。 図9に示したステップS12により作成される性能監視テーブルの例を示す。 図4に示した情報処理装置の動作の例を示す。 図9のステップS72を実行した時点での情報処理装置の接続の例を示す。 図9のステップS72を実行した時点での全体管理テーブルの例を示す。 図4に示した情報処理装置の動作の例を示す。 別の実施形態における情報処理装置の動作の例を示す。 図15に示した情報処理装置の動作の続きの例を示す。 図16のステップS78を実行した時点での情報処理装置の接続の例を示す。 別の実施形態における情報処理装置の例を示す。 図18に示した性能監視テーブルの例を示す。 図18に示したプロセッサにより記憶装置の性能の低下を検出する例を示す。 図20に示したステップS12により作成される性能監視テーブルの例を示す。 別の実施形態におけるメモリ特性テーブルの例を示す。
以下、図面を用いて実施形態を説明する。
図1は、一実施形態における情報処理装置の例を示す。情報処理装置は、プロセッサプール100、メモリプール200、接続部300および制御部400を有する。プロセッサプール100は、演算処理装置として、CPU(Central Processing Unit)等の複数のプロセッサPRC(PRC0、PRC1、PRC2、PRC3)を含む。メモリプール200は、複数の記憶装置SSD(SSD0、SSD1、SSD2、SSD3)を含む。例えば、記憶装置SSDは、複数のフラッシュメモリチップを含むSSD(Solid State Drive)等のフラッシュストレージである。なお、この実施形態では、プロセッサプール100は、4つのプロセッサPRCを有するが、プロセッサPRCの数は、2以上であればよい。また、メモリプール200は、4つの記憶装置SSDを有するが、記憶装置SSDの数は、3以上であればよい。
接続部300は、制御部400からのプロセッサPRCと記憶装置SSDをどのように接続するかについての情報である接続仕様CSに基づいて、プロセッサPRCの所定数と記憶装置SSDの所定数とを接続してシステムを構築し、またはプロセッサPRCに接続された記憶装置SSDの接続を解除する。プロセッサPRCから全ての記憶装置SSDの接続が解除された場合、構築されたシステムは解消される。接続部300に示した破線は、接続仕様CSに基づいて任意のプロセッサPRCと任意の記憶装置SSDとが接続可能であることを示す。
制御部400は、例えば、CPU等のプロセッサを含むコンピュータ装置を含む。プロセッサは、制御プログラムを実行することで、接続部300の動作を制御する機能と、プロセッサプール100内のプロセッサPRCに指示を与える機能とを実現する。制御部400は、接続部300に接続仕様CSの情報を出力する。
例えば、接続仕様CSに基づいて構築されたシステムに含まれるプロセッサPRCは、記憶装置SSDのアクセス状況をモニタし、記憶装置SSDの性能が所定の性能より低下したことを検出する検出部の機能を有する。検出部の機能は、プロセッサPRCが検出プログラムを実行することで実現される。例えば、検出プログラムは、各プロセッサPRCが実行するユーザプログラムの合間に実行される。検出プログラムを実行するプロセッサPRCは、性能が低下した記憶装置SSDを示す情報MIDを制御部400に通知する機能を有する。
制御部400は、プロセッサPRCからの情報MIDに基づいて、接続仕様CSを変更する。接続仕様CSを変更する例は、図2および図3で説明する。なお、検出部は、プロセッサプール100内のプロセッサPRCとは別のプロセッサやハードウエアを用いて実現されてもよい。
例えば、検出プログラムを実行するプロセッサPRCは、記憶装置SSD毎にデータ転送レート等のスループットをモニタし、スループットが所定値より下がった場合に、記憶装置SSDの性能の低下を検出する。性能が低下した記憶装置SSDは、スループットは低下するが、正常に動作する。このため、記憶装置SSDの性能の低下の検出は、記憶装置SSDの故障の検出や、寿命の検出とは異なる。例えば、性能が低下した記憶装置SSDは、初期化により、性能を回復可能である。
フラッシュストレージでは、消去状態(例えば、論理1)から書き込み状態(例えば、論理0)への変更は、メモリセル単位で実行され、書き込み状態から消去状態への変更は、ブロック単位で実行される。すなわち、データが書き込まれたメモリセルへのデータの上書きは、該当するブロックのデータ消去後に、該当するブロック内の他のメモリセルへのデータの再書き込みとともに実行される。このため、所定量を超えるデータが書き込まれたフラッシュストレージは、データの書き込み要求に応答して消去動作が発生しやすくなり、書き込みデータのスループットが低下する。
書き込みデータのスループットを正確に評価する場合、プロセッサPRCまたは別のハードウエアは、記憶装置SSDのメモリ領域毎に時間当たりのデータの書き込み量をモニタする。これにより、プロセッサPRCの負荷は増加し、ユーザシステムとしての性能は低下する。これに対して、この実施形態では、記憶装置SSD毎のデータの累積書き込み量をモニタすることにより、スループットを直接評価する場合に比べて、プロセッサPRCの負荷の増加を抑制でき、記憶装置SSDの性能の低下を簡易かつ効果的に判定できる。
この実施形態では、例えば、検出プログラムを実行するプロセッサPRCは、システム内の各記憶装置SSDに書き込まれるデータ量を累積する。そして、プロセッサPRCは、データの累積書き込み量が所定のしきい値を超えた場合に、消去動作が発生するデータの書き込みの頻度が上がったと判断し、当該記憶装置SSDの性能の低下を検出する。性能の低下が検出された記憶装置SSDは、制御部400による接続仕様CSの変更に応じて、メモリプール200内の未使用の記憶装置SSDに置き換えられる。これにより、プロセッサPRCに接続された記憶装置SSDの性能が回復して、消去動作が発生するデータの書き込みの頻度が下がり、データの書き込みのスループットを向上できる。
図2は、図1に示した情報処理装置の動作の例を示す。図2は、情報処理装置の制御方法の例を示しており、制御部400内のプロセッサが制御プログラムを実行することにより実現される。状態A、状態B、状態C、状態D、状態Eは、プロセッサPRCと記憶装置SSDとを接続する接続部300の時間毎の状態の変化を示す。なお、図2では、説明を分かりやすくするために、図1に示したプロセッサプール100は、2つのプロセッサPRC0、PRC1を有し、図1に示したメモリプール200は、3つの記憶装置SSD0、SSD1、SSD2を有するとする。この実施形態では、1つのプロセッサPRCと、データを冗長に保持する2つの記憶装置SSDとによりシステムが構築される。
破線で示したプロセッサPRCは、システムとして構築されていない未使用のプロセッサPRCを示す。状態B、状態C、状態Dにおいて、破線で示した記憶装置SSDは、システムとして構築されていない未使用の記憶装置SSDを示す。例えば、未使用の記憶装置SSDは、予め初期化され、所定の性能を超える性能を有する。接続部300内の太い実線は、プロセッサPRCと記憶装置SSDとが互いに接続され、システムが構築されたことを示す。太い実線で示した記憶装置SSDは、性能の低下が検出された記憶装置SSDを示す。
状態Aは、プロセッサPRC0と記憶装置SSD0、SSD1とによりシステムが構築された状態を示す。例えば、システムは、プロセッサPRC0がユーザプログラムを実行することにより、HTTP(Hyper Text Transfer Protocol)を用いて通信を行うWebサーバ、データベースまたはデータ処理装置等のユーザシステムとして動作する。記憶装置SSD0、SSD1には、互いに同じデータが冗長に書き込まれる。記憶装置SSD0、SSD1により、例えば、データをミラーリングするRAID1(Redundant Arrays of Independent Disks)システムが構築される。
システムは、図1に示した制御部400からの接続仕様CSに基づいて、接続部300がプロセッサPRC0と記憶装置SSD0、SSD1とを互いに接続することで構築される。検出プログラムを実行するプロセッサPRC(この例では、PRC0)は、システムに含まれる各記憶装置SSD0、SSD1のアクセス状況をモニタする。
状態Bは、プロセッサPRC0が記憶装置SSD1の性能の低下を検出した状態を示す。プロセッサPRC0は、性能が低下した記憶装置SSD1を示す情報MIDを図1に示した制御部400に通知する。
状態Cにおいて、制御部400は、情報MIDに基づいて接続情報CSを変更する。接続部300は、変更された接続情報CSに基づいて、記憶装置SSD1をシステムから切り離し、切り離した記憶装置SSD1を未使用のプロセッサPRC1に接続して仮のシステムを構築する。
状態Dにおいて、制御部400は、接続情報CSを変更し、接続部300は、変更された接続情報CSに基づいて、未使用の記憶装置SSD2をプロセッサPRC0に接続する。すなわち、プロセッサPRC0および記憶装置SSD0、SSD2によりシステムが再構築される。また、制御部400は、仮のシステム内のプロセッサPRC1に、切り離した記憶装置SSD1を初期化させる初期化要求を通知する。プロセッサPRC1は、初期化要求を受けて、初期化プログラムを実行し、記憶装置SSD1を初期化する。
状態Eにおいて、制御部400は、接続情報CSを変更し、接続部300は、変更された接続情報CSに基づいて、プロセッサPRC1と記憶装置SSD1との接続を解除し、仮のシステムの構築を解消する。すなわち、プロセッサPRC1は、プロセッサプール100に戻され、記憶装置SSD1は、所定の性能を超える性能を有する未使用の記憶装置SSDとしてメモリプール200に戻される。また、制御部400は、プロセッサPRC1に記憶装置SSD1、SSD2を互いに同期させて、RAID1システムを再構築し、データを冗長に保持させる。
図3は、図1に示した情報処理装置の動作の別の例を示す。図2と同様または同一の動作については、詳細な説明は省略する。この例では、図2に示した状態Cの代わりに状態C1、C2が存在する。状態A、状態B、状態D、状態Eは、図2と同様または同一である。図3は、情報処理装置の制御方法の例を示しており、制御部400内のプロセッサが、図2の動作を実行する制御プログラムと異なる制御プログラムを実行することにより実現される。
状態C1において、制御部400は、接続情報CSを変更し、接続部300は、プロセッサPRC0から記憶装置SSD1を切り離す。また、接続部300は、切り離した記憶装置SSD1および未使用の記憶装置SSD2を未使用のプロセッサPRC1に接続させ、仮のシステムを構築する。
状態C2において、制御部400は、性能が低下した記憶装置SSD1および未使用の記憶装置SSD2を示す情報と、データのコピー要求とを仮のシステム内のプロセッサPRC1に通知する。プロセッサPRC1は、制御部400からのコピー要求を受けて、コピープログラムを実行し、性能が低下した記憶装置SSD1に格納されたデータを未使用の記憶装置SSD2にコピーする。
データのコピーを未使用のプロセッサPRC1を含む仮のシステムを用いて実行することで、コピーによるユーザシステムの負荷の増加は発生しない。また、状態Eでデータを同期する前に、プロセッサPRC1を用いてデータをコピーすることで、記憶装置SSD0に格納されたデータの少なくとも一部と、記憶装置SSD2に格納されたデータとを予め同期させることができる。これにより、状態EにおいてプロセッサPRC0によるデータの同期を、初期化された状態の記憶装置SSD2を用いて実行する場合に比べて簡易にでき、ユーザシステムの負荷の増加を抑えることができる。
以上、この実施形態では、データを冗長に保持する記憶装置SSDの1つの性能の低下が検出された場合に、性能が低下した記憶装置SSDを未使用の記憶装置SSDと置き換えることで、システム内の記憶装置SSDの性能を回復できる。この際、仮のシステムを構築することで、システム内のプロセッサPRCの負荷の増加を抑えながら、性能が低下した記憶装置SSDを初期化でき、あるいは、性能が低下した記憶装置SSD内のデータを未使用の記憶装置SSDにコピーできる。仮のシステムの構築を、記憶装置SSD2のプロセッサPRC0への接続後に解消し、プロセッサPRC1をプロセッサプール100に戻すことで、プロセッサプール100内のプロセッサPRCの使用効率を向上できる。
図4は、別の実施形態における情報処理装置の例を示す。図1に示した要素と同様または同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、情報処理装置は、プロセッサプール100A、メモリプール200A、接続部300A、制御部400Aおよび記憶装置BTを有する。
プロセッサプール100Aは、複数のコンピュータ装置PC(PC0、PC1、PC2、...、PC15)を有する。各コンピュータ装置PCは、CPU等のプロセッサPRC(PRC0、PRC1、PRC2、...、PRC15)およびメモリモジュール等の記憶装置MD(MD0、MD1、MD2、...、MD15)を有する。例えば、メモリモジュールは、DRAM(Dynamic Random Access Memory)チップを含むDIMM(Dual Inline Memory Module)である。この例では、プロセッサプール100Aは、16個のコンピュータ装置PCを有するが、コンピュータ装置PCの数は、2以上であればよい。
各コンピュータ装置PCは、記憶装置MDに格納されたプログラムをプロセッサPRCが実行することで動作する。例えば、記憶装置MDに格納されるプログラムは、オペレーティングシステム、管理プログラムおよびユーザプログラムである。管理プログラムは、図2および図3で説明した検出プログラムおよび初期化プログラムおよびコピープログラムを含む。例えば、管理プログラムは、オペレーティングシステムのコマンドを利用することで、記憶装置SSDの性能の低下を検出し、記憶装置SSDを初期化し、あるいは、性能が低下した記憶装置SSDのデータを未使用の記憶装置SSDにコピーする。
そして、コンピュータ装置PCの所定数と記憶装置SSDの所定数とが接続部300Aを介して接続されることで、ユーザプログラムを実行可能なシステムが構築される。ユーザプログラムの実行により、各システムは、Webサーバ、データベース、またはデータ処理装置等として動作する。なお、後述するように、記憶装置MDは、記憶装置SSDの性能が低下したことに基づいて記憶装置SSDがシステムから切り離された場合、新たな記憶装置SSDが接続されるまで、書き込みデータを保持するメモリバッファとして機能する。
メモリプール200Aは、複数の記憶装置SSD(SSD0、SSD1、SSD2、...、SSD63)を有する。例えば、記憶装置SSDは、複数のフラッシュメモリチップを含むフラッシュストレージである。なお、この実施形態では、メモリプール200Aは、64個の記憶装置SSDを有するが、記憶装置SSDの数は、3以上であればよい。
接続部300Aは、エキスパンダEXP(EXP0、EXP1、EXP2、EXP3)を有する。各エキスパンダEXPは、コンピュータ装置PC0−PC15と16個の記憶装置SSDとの接続仕様を示す接続管理テーブルCTBL(CTBL0、CTBL1、CTBL2、CTBL3)を有する。接続管理テーブルCTBLは、制御部400Aからの接続仕様CSの情報に応じて変更される。そして、各エキスパンダEXPは、コンピュータ装置PC1−PC15の少なくとも1つを、対応する16個の記憶装置SSD(例えば、SSD0−SSD15)の少なくとも1つに接続する。接続管理テーブルCTBLの例は、図7に示す。
例えば、コンピュータ装置PCと各エキスパンダEXP、および記憶装置SSDと各エキスパンダEXPとは、SAS(Serial Attached SCSI(Small Computer System Interface))ケーブルを介して接続される。すなわち、各エキスパンダEXPは、コンピュータ装置PCと記憶装置SSDとの間でSASプロトコルを伝送可能なスイッチである。なお、コンピュータ装置PCと各エキスパンダEXP、および記憶装置SSDと各エキスパンダEXPとは、SATA(Serial Advanced Technology Attachment)やPCIExpress(Peripheral Component Interconnect-Express)のインタフェースを介して接続されてもよい。
制御部400Aは、プロセッサプール100A内のコンピュータ装置PC0−PC15とメモリプール200A内の全ての記憶装置SSD0−SSD63との接続仕様CSを示す全体管理テーブルMTBLを有する。全体管理テーブルMTBLの例は、図6に示す。制御部400Aは、全体管理テーブルMTBLを変更する場合に、変更の内容を接続仕様CSとして接続部300Aの各エキスパンダEXPに通知する。これにより、図6および図7に示すように、全体管理テーブルMTBLと各接続管理テーブルCTBLの内容は互いに一致する。
記憶装置BTは、例えば、LAN(Local Area Network)等のネットワークNWを介してコンピュータ装置PC0−PC15および制御部400Aに接続される。記憶装置BTは、プロセッサPRCが実行可能なオペレーティングシステムおよび管理プログラムが予め格納される。オペレーティングシステムおよび管理プログラムは、接続仕様CSに基づいてコンピュータ装置PCと記憶装置SSDとが互いに接続された場合に、制御部400Aからの指示に基づいてシステム内の記憶装置MDにロードされる。
例えば、Webサーバ等のユーザシステムを実現するユーザプログラムは、ネットワークNWを介して記憶装置MD0にロードされ、システム内のプロセッサPRCにより実行される。これにより、接続部300Aを介して接続されたコンピュータ装置PCおよび記憶装置SSDは、ユーザプログラムを実行可能なシステムとして構築される。そして、システム内のプロセッサPRCは、記憶装置MDに転送された管理プログラムをユーザプログラムの合間に実行する。
図5は、図4に示した制御部400Aの例を示す。例えば、制御部400Aは、コンピュータ装置により実現され、CPU等のプロセッサPRCc、メモリモジュールDIMM、ハードディスクドライブHDD、ハブHUB、ネットワークインタフェースカードNICおよびバスインタフェースBIFを有する。なお、制御部400Aは、キーボードやマウス等の入力装置、ディスプレイ等の出力装置に接続されてもよい。
例えば、プロセッサPRCcは、制御プログラムを実行し、プロセッサPRCcに搭載される内蔵メモリを利用して全体管理テーブルMTBLを作成する。プロセッサPRCcは、ハブHUBおよびネットワークインタフェースカードNICを介してネットワークNWに接続され、バスインタフェースBIFを介して図4に示した接続部300Aに接続される。
プロセッサPRCcは、メモリモジュールDIMMに格納された制御プログラムを実行することで、図11および図14に示す動作を実行し、制御部400Aの機能を実現する。例えば、制御プログラムは、ネットワークNWを介して予めハードディスクドライブHDDにダウンロードされ、制御部400Aのパワーオン時にハードディスクドライブHDDからメモリモジュールDIMMにコピーされる。
プロセッサPRCcは、ネットワークNWを介して、プロセッサプール100A内のプロセッサPRCから情報を受け、プロセッサPRCに情報を出力する。また、プロセッサPRCcは、バスインタフェースBIFを介して、接続部300Aの接続管理テーブルCTBLを書き換える接続情報CSを出力する。
図6は、図4に示した全体管理テーブルMTBLの例を示す。全体管理テーブルMTBLは、コンピュータ装置PCと記憶装置SSDとの接続仕様を示す情報を格納する領域をコンピュータ装置PC毎に有する。同じ数値が格納された領域により関連付けられたコンピュータ装置PCおよび記憶装置SSDは、相互に接続されることを示す。”1”、”2”等の数値は、システムを識別するゾーングループ番号を示す。
そして、同じ数値により互いに関連付けされたコンピュータ装置PCおよび記憶装置SSDにより、システムが構築される。数値が入っていない空白の領域は、対応するコンピュータ装置PCと記憶装置SSDとが接続されないことを示す。すなわち、対応する領域(図6の横方向に並ぶ領域)が空白なコンピュータ装置PCとコンピュータ装置PC内のプロセッサPRCおよび記憶装置MDとは、未使用であることを示す。対応する領域(図6の縦方向に並ぶ領域)が空白な記憶装置SSDは未使用であることを示す。
例えば、数値”1”が格納された領域に対応するコンピュータ装置PC0と記憶装置SSD0、SSD1、SSD2、SSD3とは、ゾーングループ1のシステムに属し、図4に示したエキスパンダEXP0により相互に接続される。例えば、ゾーングループ1のシステムは、Webサーバである。数値”2”が格納された領域に対応するコンピュータ装置PC1、PC2と記憶装置SSD16、SSD17とは、ゾーングループ2のシステムに属し、図4に示したエキスパンダEXP1により相互に接続される。例えば、ゾーングループ2のシステムは、データベースである。
この実施形態では、各ゾーングループ1、2の一対の記憶装置SSD(例えば、SSD0とSSD1)は、互いに同じ書き込みデータを受け、データを冗長に保持し、1つの記憶装置SSDとして動作する。すなわち、一対の記憶装置SSDによりRAID1システムが構築される。
図7は、図4に示した接続管理テーブルCTBL0−CTBL3の例を示す。接続管理テーブルCTBL0−CTBL3は、エキスパンダEXP0、EXP1、EXP2、EXP3に対応してそれぞれ設けられる。各接続管理テーブルCTBL0−CTBL3は、図6に示した全体管理テーブルMTBLと同じ領域を有する。換言すれば、接続管理テーブルCTBL0は、記憶装置SSD0−SSD15に対応する領域を有し、接続管理テーブルCTBL1は、記憶装置SSD16−SSD31に対応する領域を有する。接続管理テーブルCTBL2は、記憶装置SSD32−SSD47に対応する領域を有し、接続管理テーブルCTBL3は、記憶装置SSD48−SSD63に対応する領域を有する。
そして、図4に示した制御部400Aは、全体管理テーブルMTBLの情報を接続情報CSとして各エキスパンダEXPに出力し、各接続管理テーブルCTBL0−CTBL3を書き換える。なお、図7では、説明を分かりやすくするために、接続管理テーブルCTBL0、CTBL1の大きさを接続管理テーブルCTBL2、CTBL3より大きく記載したが、接続管理テーブルCTBL0−CTBL3の大きさは、互いに同じである。
なお、各エキスパンダEXPは、接続管理テーブルCTBLを有さずに、図6に示した全体管理テーブルMTBLを参照することで、コンピュータ装置PCと記憶装置SSDとを接続してもよい。
図8は、図4に示した情報処理装置の接続の例を示す。図8では、各エキスパンダEXPは、図7に示した接続管理テーブルCTBLに格納された値にしたがって、コンピュータ装置PCと記憶装置SSDとに接続する。図8において、太い実線は、図6および図7に数値”1”で示したゾーングループ1の接続を示し、太い破線は、図6および図7に数値”2”で示したゾーングループ2の接続を示す。エキスパンダEXPを介して接続されていないコンピュータ装置PCと記憶装置SSDとを接続するケーブルの記載は省略する。
この例では、ゾーングループ1に属するコンピュータ装置PC0と記憶装置SSD0、SSD1、SSD2、SSD3とが互いに接続されてシステムが構築される。また、ゾーングループ2に属するコンピュータ装置PC1、PC2と記憶装置SSD16、SSD17とが互いに接続されてシステムが構築される。
図9は、図4に示したプロセッサPRCにより記憶装置SSDの性能の低下を検出する例を示す。図9に示すフローは、構築されたシステムにおいて、プロセッサPRCが管理プログラムを実行することにより実現される。例えば、ステップS10、S12は、システムが構築された後に、システムの機能を実現するユーザプログラムが開始される前に実行される。例えば、ステップS14、S16、S18、S20は、数秒から数分毎に、ユーザプログラムの合間に実行される。
まず、ステップS10において、プロセッサPRCは、接続された記憶装置SSDの情報を、ネットワークNWを介して制御部400Aから受ける。例えば、図8に示したプロセッサPRC0は、記憶装置SSD0、SSD1、SSD2、SSD3の接続情報を受ける。マルチプロセッサシステムに含まれる図8に示したプロセッサPRC1(またはPRC2)は、記憶装置SSD16、SSD17の接続情報を受ける。マルチプロセッサシステムでは、プロセッサPRCの1つが図9に示すフローを実行する。
次に、ステップS12において、システム内のプロセッサPRCは、接続された記憶装置SSDの性能を監視する性能監視テーブルを作成する。性能監視テーブルの例は、図10に示す。
ステップS14において、プロセッサPRCは、接続された各記憶装置SSDへのデータの書き込み量をモニタする。例えば、プロセッサPRCは、オペレーティングシステムに搭載される統計情報の収集用のコマンドを用いて書き込み量をモニタする。オペレーティングシステムがLinux(登録商標)の場合、sar(System Admin Reporter)コマンドが使用可能である。
ステップS16において、プロセッサPRCは、モニタした書き込み量を順次に加算し、累積書き込み量を求める。ステップS18において、プロセッサPRCは、累積書き込み量がしきい値を超えたか否かを判定する。プロセッサPRCは、累積書き込み量がしきい値を超えていない場合、ステップS14の動作に戻る。プロセッサPRCは、累積書き込み量がしきい値を超えた場合、対応する記憶装置SSDの性能が低下したと判断し、ステップS20の動作を実行する。ステップS20において、プロセッサPRCは、性能が低下した記憶装置SSDの番号を制御部400Aに通知する。
上述したように、所定量を超えるデータが書き込まれたフラッシュストレージは、データの書き込み要求に応答して消去動作が発生しやすくなり、書き込みデータのスループットが低下する。この実施形態では、データの累積書き込み量をモニタすることで、データの書き込みのスループットの低下を間接的に検出でき、記憶装置SSDの性能の低下を検出できる。
図10は、図9に示したステップS12により作成される性能監視テーブルの例を示す。性能監視テーブルは、ゾーングループ毎に作成される。各性能監視テーブルは、ゾーングループに属する記憶装置SSD毎に、記憶装置SSDの総容量、システムの構築時の使用容量を示す初期使用容量、しきい値および累積書き込み量を格納する領域を有する。
例えば、各記憶装置SSDの総容量は120ギガバイトであり、初期使用容量は0ギガバイトであり、しきい値は180ギガバイトである。ゾーングループ1の構築後のある時点における記憶装置SSD0、SSD1、SSD2、SSD3の累積書き込み量は、例えば、10ギガバイト、80ギガバイト、20ギガバイト、5ギガバイトである。ゾーングループ2の構築後のある時点における記憶装置SSD16、SSD17の累積書き込み量は、例えば、30ギガバイト、50ギガバイトである。
なお、ゾーングループ2の性能監視テーブルは、プロセッサPRC1またはプロセッサPRC2により作成され、管理される。例えば、プロセッサPRC1が性能監視テーブルを管理する場合、プロセッサPRC1は、所定の頻度でプロセッサPRC2に記憶装置SSD16、SSD17へのデータの書き込み量の通知を要求する。プロセッサPRC2は、プロセッサPRC1からの要求に応じて、記憶装置SSD16、SSD17へのデータの書き込み量を求め、プロセッサPRC1に通知する。反対に、プロセッサPRC2が性能監視テーブルを管理する場合、プロセッサPRC1は、プロセッサPRC2からの要求に応じて、記憶装置SSD16、SSD17へのデータの書き込み量を求め、プロセッサPRC2に通知する。
図11は、図4に示した情報処理装置の動作の例を示す。システムの構築後の初期状態は、図6に示した全体管理テーブルMTBL、図7に示した接続管理テーブルCTBLおよび図8により示される。図11のフローにおいて、縦方向の破線(例えば、ステップS34、S36の間を接続する破線)は、着目する動作以外の動作が実行可能であることを示す。
図11では、ゾーングループ1に属する記憶装置SSDの性能の低下が検出され、新たにゾーングループ3が構築され、性能の低下した記憶装置SSDを救済する例を示す。例えば、ゾーングループ1のフローは、プロセッサPRC0が管理プログラムを実行することにより実現され、ゾーングループ3のフローは、プロセッサPRC15が管理プログラムを実行することにより実現される。制御部400Aのフローは、制御部400AのプロセッサPRCc(図5)が制御プログラムを実行することにより実現される。すなわち、ステップS60、S62、S64、S66、S68、S70、S72は、情報処理装置の制御方法の例を示す。
まず、ステップS30において、プロセッサPRC0は、ゾーングループ1に属する記憶装置SSD0−SSD3の性能を監視する。例えば、ステップS30では、図9に示したステップS14、S16が実行される。次に、ステップS32において、プロセッサPRC0は、記憶装置SSD0−SSD3の性能の低下を検出した場合、動作をステップS34に移行する。プロセッサPRC0は、記憶装置SSD0−SSD3の性能の低下を検出しない場合、動作をステップS30に移行する。例えば、ステップS32は、図9に示したステップS18に対応する動作である。
ステップS34において、プロセッサPRC0は、性能の低下を検出した記憶装置SSD(この例では、SSD1)の情報を、ネットワークNWを介して制御部400Aに通知する。例えば、ステップS34は、図9に示したステップS20に対応する動作である。
プロセッサPRC0からの通知を受けた制御部400Aは、ステップS60において、図6に示した全体管理テーブルMTBLを参照し、メモリプール200A内に未使用の記憶装置SSDがあるか否かを検出する。制御部400Aは、未使用の記憶装置SSDがある場合、動作をステップS62に移行し、未使用の記憶装置SSDがない場合、動作を終了する。
ステップS62において、制御部400Aは、図6に示した全体管理テーブルMTBLを参照し、未使用のプロセッサPRCがあるか否かを検出する。制御部400Aは、未使用のプロセッサPRCがある場合、動作をステップS64に移行し、未使用のプロセッサPRCがない場合、動作を終了する。なお、ステップS60、S62の順序は、入れ換えられてもよい。
未使用のプロセッサPRCがない場合、ゾーングループ1における記憶装置SSD0と記憶装置SSD15との入れ換えは実行されない。この場合、ゾーングループ1を構築するシステムの性能(記憶装置SSD1のデータ転送レート)は低下する。しかしながら、記憶装置SSDの性能の低下は、記憶装置SSDの寿命や故障ではなく、性能が低下した記憶装置SSDは、正常に動作する。また、この実施形態では、性能が低下した記憶装置SSDを新たな記憶装置SSDに置き換える処理を実行する専用のコンピュータ装置PCは、プロセッサプール100A内に確保されない。これにより、プロセッサプール100A内の全てのコンピュータ装置PCをユーザシステムとして使用でき、情報処理装置の性能を向上できる。
ステップS64において、制御部400Aは、例えば未使用のプロセッサPRC15に、オペレーティングシステムOSおよび管理プログラムを記憶装置BTから記憶装置MD15に転送することを要求する。なお、制御部400Aは、全体管理テーブルMTBLを参照して、複数の未使用のプロセッサPRCの中からプロセッサPRC15以外の未使用のプロセッサPRCも選択可能である。
転送の要求を受けたプロセッサPRC15は、ステップS90において、イニシャルプログラムを実行し、記憶装置BTからオペレーティングシステムOSをブートしてコンピュータ装置PC15を動作可能にする。さらに、プロセッサPRC15は、管理プログラムを記憶装置BTから記憶装置MD15にダウンロードする。プロセッサPRC15のその後の動作は、図14に示す。
オペレーティングシステムOSおよび管理プログラムの記憶装置MD15への転送は、記憶装置SSDを使用せずに実行可能であるため、ゾーングループ3の構築前に開始可能である。なお、制御部400Aは、ステップS64をステップS66より後で実行してもよい。しかしながら、オペレーティングシステムOSおよび管理プログラムの記憶装置MDへの転送は、所定の時間が掛かるため、ステップS60、S62の判定後に実行することが好ましい。
また、図4に示したプロセッサプール100A内の未使用のコンピュータ装置PCは、システムの構築前に、オペレーティングシステムOSおよび管理プログラムを記憶装置MDに予め格納してもよい。この場合、ステップS64およびステップS90の処理は実行されない。
ステップS66において、制御部400Aは、ネットワークNWを介して、性能が低下した記憶装置SSD1の接続を解除する許可をプロセッサPRC0に要求する。ステップS36において、接続解除の要求を受けたプロセッサPRC0は、性能が低下した記憶装置SSD1の接続を解除する手続を実行する。例えば、プロセッサPRC0は、記憶装置SDDへの書き込み手続を変更し、ゾーングループ1の記憶装置SSD0、SSD1への書き込みを禁止する。そして、プロセッサPRC0は、ユーザプログラムによる書き込みデータを、記憶装置SSD0、SSD1の代わりに記憶装置MD0に書き込む。次に、ステップS38において、プロセッサPRC0は、手続の完了を制御部400Aに通知する。プロセッサPRC0のその後の動作は、図14に示す。
ステップS68において、プロセッサPRC0から手続完了の通知を受けた制御部400Aは、全体管理テーブルMTBLおよび接続管理テーブルCTBL0を変更し、接続部300Aに記憶装置SSD1とプロセッサPRC0との接続を解除させる。すなわち、記憶装置SSD1は、ゾーングループ1から切り離される。
ステップS70において、制御部400Aは、全体管理テーブルMTBLおよび接続管理テーブルCTBL0を変更し、接続部300AにプロセッサPRC15と記憶装置SSD1とを接続させる。ステップS72おいて、制御部400Aは、全体管理テーブルMTBLおよび接続管理テーブルCTBL0を変更し、接続部300AにプロセッサPRC15と記憶装置SSD15とを接続させる。これにより、プロセッサPRC15および記憶装置SSD1、SSD15を含むゾーングループ3が構築される。なお、制御部400Aは、全体管理テーブルMTBLおよび接続管理テーブルCTBL0の各々の1回の変更により、ステップS58、S70、S72による記憶装置SSDの接続の切り替えを同じタイミングで実行してもよい。
ゾーングループ3は、性能が低下した記憶装置SSD1から記憶装置SSD15へのデータのコピーと、記憶装置SSD1の初期化とに使用される仮のシステムである。なお、制御部400Aは、全体管理テーブルMTBLに基づいて、複数の未使用の記憶装置SSDの中から任意の記憶装置SSDをプロセッサPRC15に接続可能である。制御部400Aのその後の動作は、図14に示す。
図12は、図11のステップS72を実行した時点での情報処理装置の接続の例を示す。エキスパンダEXPを介して接続されていないコンピュータ装置PCと記憶装置SSDとを接続するケーブルの記載は省略する。
太い実線で接続されたコンピュータ装置PC0および記憶装置SSD0、SSD2、SSD3(SSD3は省略)は、ゾーングループ1に属する。太い破線で接続されたコンピュータ装置PC1、PC2および記憶装置SSD16、SSD17は、ゾーングループ2に属する。太い一点鎖線で接続されたコンピュータ装置PC15および記憶装置SSD1、SSD15は、ゾーングループ3に属する。
図13は、図11のステップS72を実行した時点での全体管理テーブルMTBLの例を示す。接続管理テーブルCTBLは、全体管理テーブルMTBLと同じ情報を有する。
この例では、全体管理テーブルMTBLにおいて、プロセッサPRC0と記憶装置SSD1の交差部分の領域から”1”が削除され、記憶装置SSD0は、ゾーングループ1から切り離される。そして、プロセッサPRC15と記憶装置SSD1、SSD15の交差部分の領域に”3”が書き込まれ、記憶装置SSD0は、記憶装置SSD15とともにプロセッサPRC15に接続され、新たなゾーングループ3が構築される。
図14は、図4に示した情報処理装置の動作の例を示す。図14は、図11の動作の続きを示す。図14のフローにおいて、縦方向の破線(例えば、ステップS46、S48の間を接続する破線)は、着目する動作以外の動作が実行可能であることを示す。
図11と同様に、例えば、ゾーングループ1のフローは、プロセッサPRC0が管理プログラムを実行することにより実現され、ゾーングループ3のフローは、プロセッサPRC15が管理プログラムを実行することにより実現される。制御部400Aのフローは、制御部400AのプロセッサPRCcが制御プログラムを実行することにより実現される。すなわち、ステップS74、S76、S78、S80、S82、S84は、情報処理装置の制御方法の例を示す。
まず、ステップS40において、プロセッサPRC0は、ユーザプログラムによる記憶装置SSDへの書き込み要求を受けた場合、ステップS42の動作を実行する。ステップS42において、プロセッサPRC0は、記憶装置MD0の容量に空きがある場合、ステップS44の動作を実行し、記憶装置MD0の容量に空きがない場合、ステップS46の動作を実行する。
ステップS44において、プロセッサPRC0は、書き込み要求に伴う書き込みデータをメモリバッファとして機能する記憶装置MD0に書き込む。これにより、記憶装置SSD0、SSD1によるRAID1システムが解消された後も、書き込みデータを失うことなく保持できる。ステップS46において、記憶装置MD0の容量に空きがない場合、プロセッサPRC0は、書き込み要求に伴う書き込みデータを、性能の低下が判定された記憶装置SSD1とRAID1システムを組んでいた記憶装置SSD0に書き込む。これにより、記憶装置MD0の容量に空きがない場合にも、書き込みデータを失うことなく保持できる。
一方、制御部400Aは、ステップS74において、ネットワークNWを介して、記憶装置SSD1から記憶装置SSD15へのデータのコピー要求をプロセッサPRC15に通知する。ステップS92において、制御部400Aからコピー要求を受けたプロセッサPRC15は、管理プログラムを実行して、性能が低下した記憶装置SSD1に格納されたデータを記憶装置SSD15にコピーする。例えば、オペレーティングシステムがLinuxの場合、管理プログラムは、ddコマンドを使用してデータのコピーを実行可能である。ステップS94において、プロセッサPRC15は、ネットワークNWを介してコピーの完了を制御部400Aに通知する。
ステップS76において、制御部400Aは、全体管理テーブルMTBLおよび接続管理テーブルCTBL0を変更し、接続部300Aに記憶装置SSD15とプロセッサPRC15との接続を解除させる。これにより、記憶装置SSD15は、ゾーングループ3から切り離される。ステップS78において、制御部400Aは、全体管理テーブルMTBLおよび接続管理テーブルCTBL0を変更し、接続部300AにプロセッサPRC0と記憶装置SSD15とを接続させる。これにより、記憶装置SSD15は、ゾーングループ1に含まれる。
ステップS80おいて、制御部400Aは、ネットワークNWを介して、記憶装置SSD15をプロセッサPRC0に接続したことをプロセッサPRC0に通知する。なお、図14では、説明を分かりやすくするために、ステップS76、S78を分けている。しかしながら、実際の動作では、接続部300Aは、全体管理テーブルMTBLおよび接続管理テーブルCTBL0の変更に伴って、ステップS76、S78を1つの動作として実行してもよい。
ステップS48において、記憶装置SSD15の接続の通知を受けたプロセッサPRC0は、記憶装置SSD15の接続の手続を実行する。例えば、プロセッサPRC15は、記憶装置SSD0、SSD15によりRAID1システムを構築する手続を実行する。ステップS50において、プロセッサPRC0は、ステップS44の動作により記憶装置MD0に書き込んだデータを記憶装置SSD0、SSD15に転送する。
ステップS52において、プロセッサPRC0は、ステップS46によりデータを記憶装置SSDに書き込んだか否かを判定する。データを記憶装置SSD0に書き込んだ場合、プロセッサPRC0は、ステップS54の動作を実行する。データを記憶装置SSD0に書き込んでいない場合、動作は終了する。
ステップS54において、プロセッサPRC0は、記憶装置SSD0、SSD15の同期処理(例えば、RAID1の再構築)を実行する。ステップS50、S54の動作により、性能が低下した記憶装置SSD1を未使用の記憶装置SSD15に置き換える場合に、データの冗長性を保証でき、システムの信頼性を向上できる。
一方、ステップS82において、制御部400Aは、ネットワークNWを介して、記憶装置SSD1の初期化要求をプロセッサPRC15に通知する。ステップS96において、初期化要求を受けたプロセッサPRC15は、記憶装置SSD1の初期化を実行する。例えば、初期化要求を受けたプロセッサPRC15は、記憶装置SSD1をフォーマットし、全てのデータを消去することで初期化を実行する。例えば、オペレーティングシステムがLinuxの場合、管理プログラムは、dhparmコマンドを使用して記憶装置SSD1をフォーマット可能である。記憶装置SSD1は、フォーマットにより初期状態になるため、消去動作を伴うデータ書き込みの頻度はゼロになる。これにより、記憶装置SSD1が新たなシステムに組み込まれた場合に、データ書き込みのスループットは向上する。
ステップS98において、プロセッサPRC15は、ネットワークNWを介して、記憶装置SSD1の初期化が完了したことを制御部400Aに通知する。なお、ステップS82、S96、S98の動作は、ステップS94の実行後、ステップS76の実行前に実行してもよい。
ステップS100において、プロセッサPRC15は、コンピュータ装置PC15のシャットダウン処理を実行する。なお、図4に示したプロセッサプール100A内の未使用のコンピュータ装置PCが、システムの構築前に、オペレーティングシステムOSおよび管理プログラムを予め記憶装置MDに格納する場合、ステップS100によるシャットダウン処理は実行されない。
ステップS84において、制御部400Aは、初期化の完了の通知に基づいて、全体管理テーブルMTBLおよび接続管理テーブルCTBL0を変更し、記憶装置SSD1とプロセッサPRC15との接続を解除する。これにより、プロセッサPRC15から全ての記憶装置SSD0、SSD15が切り離され、プロセッサPRC15はプロセッサプール100Aに戻され、構築された仮のシステム(ゾーングループ3)は解消される。
なお、性能が低下した記憶装置SSD1の初期化は、記憶装置SSD1が新たなシステムに組み込まれた時点で実行されてもよい。この場合、ステップS96、S98の動作は実行されない。
以上、この実施形態においても、図1に示した情報処理装置と同様に、システム内のプロセッサPRCの負荷の増加を抑えながら、性能が低下した記憶装置SSDを未使用の記憶装置SSDと置き換えでき、システム内の記憶装置SSDの性能を回復できる。また、構築された仮のシステムをデータのコピー処理および記憶装置SSDの初期化処理を完了した後に解消することで、プロセッサプール100A内のプロセッサPRCの使用効率を向上できる。
さらに、RAID1システムを組む記憶装置SSDの一方の性能が低下し、未使用の記憶装置SSDに置き換えられた場合にも、データの冗長性を保証でき、システムの信頼性を向上できる。
図15および図16は、別の実施形態における情報処理装置の動作の例を示す。情報処理装置は、制御部400Aが実行する制御プログラムおよび各プロセッサPRCが実行する管理プログラムが、図4に示した情報処理装置と異なる。また、この実施形態では、システムに含まれる複数の記憶装置SSDにより、RAID5システムまたはRAID6システムが構築される。情報処理装置のその他の構成は、図4に示した情報処理装置と同様である。全体管理テーブルMTBL、接続管理テーブルCTBLおよび性能監視テーブルは、図6、図7および図10とそれぞれ同様または同一である。
RAID5システムを採用する場合、システム内の記憶装置SSDの1つで発生した読み出しデータのエラーは訂正可能であり、RAID6システムを採用する場合、システム内の記憶装置SSDの2つで発生した読み出しデータのエラーは訂正可能である。
このため、システム内の記憶装置SSDの1つが、性能の低下に伴ってシステムから切り離された場合にも、システム内のプロセッサPRCは、記憶装置MDに書き込みデータを保持しない。システム内のプロセッサPRCは、性能が低下した記憶装置SSDに格納されたデータを未使用の記憶装置SSDにコピーしない。未使用の記憶装置SSDは、未使用のプロセッサPRCに接続されることなく、システム内のプロセッサPRCに接続される。システム内の性能が低下してない正常な記憶装置SSDと、未使用の記憶装置SSDとデータの同期は、RAID5システムまたはRAID6システムの再構築処理によって実行される。
したがって、図15において、実行制御部400Aが実行する制御プログラムは、図11に示したステップS66、S72を実行しない。各プロセッサPRCが実行する管理プログラムは、図11に示したステップS36、S38を実行しない。図15は、ステップS66、S72、S36、S38が実行されないことを除き、図11と同様または同一である。すなわち、システム内のプロセッサPRC(例えば、PRC0)は、図9に示した動作を実行し、図10に示した性能監視テーブルの累積書き込み量に基づいて、記憶装置SSDの性能の低下を検出する。制御部400Aは、記憶装置SSDの性能が低下したことに基づいて、未使用の記憶装置SSDおよび未使用のプロセッサPRCがある場合に、性能が低下した記憶装置SSDを未使用の記憶装置SSDに置き換える。
図16において、実行制御部400Aが実行する制御プログラムは、図14に示したステップS74、S76を実行しない。各プロセッサPRCが実行する管理プログラムは、図14に示したステップS42、S44、S48、S50、S52、S92、S94を実行しない。図16は、ステップS74、S76、ステップS42、S44、S48、S50、S52、S92、S94が実行されないことを除き、図14と同様または同一である。すなわち、仮のシステム内のプロセッサPRC(例えば、PRC15)は、性能が低下した記憶装置SSDを初期化し、初期化の完了後に、構築された仮のシステムは解消される。
図17は、図16のステップS78を実行した時点での情報処理装置の接続の例を示す。エキスパンダEXPを介して接続されていないコンピュータ装置PCと記憶装置SSDとを接続するケーブルの記載は省略する。太い実線、太い破線および太い一点鎖線の意味は、図12と同様である。
この実施形態では、性能が低下した記憶装置SSD1からシステムで新たに使用する記憶装置SSD15にデータがコピーされないため、未使用の記憶装置SSD15は、プロセッサPRC15に接続されることなくプロセッサPRC0に接続される。
以上、この実施形態においても、図1および図4に示した情報処理装置と同様に、システム内のプロセッサPRCの負荷の増加を抑えながら、性能が低下した記憶装置SSDを未使用の記憶装置SSDと置き換えでき、システム内の記憶装置SSDの性能を回復できる。また、仮のシステムの構築を、データのコピー処理および記憶装置SSDの初期化処理を完了した後に解消することで、プロセッサプール100A内のプロセッサPRCの使用効率を向上できる。
さらに、RAID5システムまたはRAID6システムを構築することで、データの記憶装置MDへの書き込み処理を省略でき、仮のシステムによるデータのコピー処理を省略できる。これにより、性能が低下した記憶装置SSDが未使用の記憶装置SSDに置き換えられた場合にも、データの冗長性を保証でき、システムの信頼性を向上できる。
図18は、別の実施形態における情報処理装置の例を示す。図4に示した要素と同様または同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の情報処理装置は、図4の制御部400Aの代わりに制御部400Bを有する。また、プロセッサプール100Aは、図4に示したプロセッサプール100Aと同様または同一のハードウエアを有するが、性能監視テーブルと、各プロセッサPRCにより実行される管理プログラムとが、図4から図14に示した実施形態と相違する。情報処理装置のその他の構成は、図4と同様または同一である。システム内のプロセッサPRCが実行する管理プログラムの例は図20に示し、性能監視テーブルの例は図21に示す。
この実施形態の情報処理装置は、図4の情報処理装置と同様に、RAID1システムを構築し、図11および図14と同様に動作するが、RAID5システムまたはRAID6システムを構築し、図15および図16と同様に動作してもよい。
制御部400Bは、全体管理テーブルMTBLおよびメモリ特性テーブルSTBLを有する。全体管理テーブルMTBLは、図6と同様または同一である。メモリ特性テーブルSTBLの例は、図19に示す。制御部400Bは、性能が低下した記憶装置SSDと入れ換える記憶装置SSDを、メモリ特性テーブルSTBLを用いて決定することを除き、図4に示した制御部400Aと同様の機能を有する。
すなわち、システム内のプロセッサPRCは、図20のステップS18に基づいて、図20に示した性能監視テーブルの累積書き込み量に基づいて、記憶装置SSDの性能の低下を検出する。システム内のプロセッサPRCは、性能が低下した記憶装置SSDが切り離された後、書き込みデータを記憶装置MDまたは性能が低下した記憶装置SSDと対の関係にある記憶装置SSD(例えば、SSD0)に書き込む。
制御部400Bは、記憶装置SSDの性能が低下したことに基づいて、未使用の記憶装置SSDおよび未使用のプロセッサPRCがある場合に、性能が低下した記憶装置SSDを未使用の記憶装置SSDに置き換える。仮のシステム内のプロセッサPRCは、性能が低下した記憶装置SSD内のデータを未使用の記憶装置SSDにコピーし、性能が低下した記憶装置SSDを初期化する。構築された仮のシステムは、初期化の完了後に解消される。
図19は、図18に示したメモリ特性テーブルSTBLの例を示す。メモリ特性テーブルSTBLは、型式や製造メーカにより異なる記憶装置SSDの特性が予め格納される。この実施形態では、各記憶装置SSDは、読み出し特性および書き込み特性に応じて、符号RD、WR、RWで示すいずれかの特性に分類される。
符号RDは、データの読み出し特性がデータの書き込み特性より優れた記憶装置SSDを示し、符号WRは、データの書き込み特性がデータの読み出し特性より優れた記憶装置SSDを示し、符号RWは、データの読み出し特性とデータの書き込み特性とに優位差がないその他の記憶装置SSDを示す。読み出し特性が書き込み特性より優れた記憶装置SSDは、符号RDの欄に数値”1”が格納され、書き込み特性が読み出し特性より優れた記憶装置SSDは、符号WRの欄に数値”1”が格納され、その他の記憶装置SSDは、符号RWの欄に”1”が格納される。
制御部400Bは、ユーザシステムが構築される前(例えば、情報処理装置の運用の開始時)にメモリ特性テーブルSTBLに数値を書き込む。例えば、制御部400Bは、データの読み出し特性がデータの書き込み特性より優れた記憶装置SSD0−SSD15の符号RDの領域に数値”1”を書き込む。制御部400Bは、データの書き込み特性がデータの読み出し特性より優れた記憶装置SSD16−31の符号WRの領域に数値”1”を書き込む。同様に、制御部400Bは、データの読み出し特性とデータの書き込み特性との優位差がない記憶装置SSD32−SSD63の符号RWの領域に数値”1”を書き込む。なお、メモリ特性テーブルSTBLに符号RWの欄を設けずに、各記憶装置SSDを符号RDまたは符号WRのいずれかに分類してもよい。
例えば、この実施形態の初期状態の全体管理テーブルMTBLおよび接続管理テーブルCTBLの設定値は、図6に示した全体管理テーブルMTBLおよび図7に示した接続管理テーブルCTBLと同じである。すなわち、この実施形態の情報処理装置の初期のシステム構成は、制御部400Bが異なることを除き、図8に示される。
全体管理テーブルMTBLおよび接続管理テーブルCTBLは、図19に示したメモリ特性テーブルSTBLに基づいて作成される。例えば、図6において、Webサーバ等のシステムが構築される数値”1”で示されるゾーングループ1では、記憶装置SSDに書き込まれたデータの更新の頻度は、データベース等のシステムに比べて低い。このため、ゾーングループ1では、読み出し特性が書き込み特性より優れた記憶装置SSD0−SSD3が割り当てられる。一方、図6において、データベース等のシステムが構築される数値”2”で示されるゾーングループ2では、記憶装置SSDに書き込まれたデータの更新の頻度は、Webサーバ等のシステムに比べて高い。このため、ゾーングループ2では、書き込み特性が読み出し特性より優れた記憶装置SSD16、SSD17が割り当てられる。
図20は、図18に示したプロセッサPRCにより記憶装置SSDの性能の低下を検出する例を示す。図20に示すフローは、構築されたシステム内のプロセッサPRCが管理プログラムを実行することにより実現される。ステップS10、S12、S14、S16、S18は、図9と同様または同一である。ステップS12では、プロセッサPRCは、図10に示した性能監視テーブルの代わりに、図21に示す性能監視テーブルを作成する。ステップS21は、図9に示したステップS20の代わりに実行される。図9と同様に、ステップS14、S15、S16、S17、S18、S19、S21は、数秒から数分毎に、ユーザプログラムの合間に実行される。
ステップS14で記憶装置SSDへのデータの書き込み量をモニタした後、ステップS15において、プロセッサPRCは、記憶装置SSDからのデータの読み出し量をモニタする。例えば、プロセッサPRCは、オペレーティングシステムに搭載される統計情報の収集用のコマンドを用いて読み出し量をモニタする。例えば、オペレーティングシステムがLinuxの場合、sarコマンドが使用可能である。
ステップS16で累積書き込み量を求めた後、ステップS17において、プロセッサPRCは、モニタした読み出し量を順次に加算し、累積読み出し量を求める。ステップS18で累積書き込み量がしきい値を超え、当該記憶装置SSDの性能が低下したと判定された場合、プロセッサPRCは、ステップS19の動作を実行する。
なお、累積書き込み量を書き込み量のモニタ後に求め、累積読み出し量を読み出し量のモニタ後に求める条件を満足する場合、ステップS14、S16、S18、S20の順序は、入れ換えてもよい。例えば、ステップS14、S15の順序は入れ換えてもよく、ステップS16、S17の順序は入れ換えてもよい。また、ステップS15、S16の順序を入れ換えてもよい。
ステップS19において、プロセッサPRCは、性能が低下した記憶装置SSDに関して、ユーザプログラムを実行するシステムによるアクセス種別の傾向を示すワークロード特性を判定する。この実施形態では、各システムは、次の3つのワークロード特性のいずれかに分類される。
(1)読み出し頻度が書き込み頻度に比べて高く、データの読み出し量がデータの書き込み量に比べて多い。
(2)書き込み頻度が読み出し頻度に比べて高く、データの書き込み量がデータの読み出し量に比べて高い。
(3)読み出し頻度と書き込み頻度の差が小さく、データの読み出し量とデータの書き込み量とに有意差がない。
例えば、各記憶装置SSDの読み出しアクセスの比率が全てアクセスの60%を超える場合、ワークロード特性(1)と判定される。各記憶装置SSDの書き込みアクセスの比率が全てアクセスの60%を超える場合、ワークロード特性(2)と判定される。ワークロード特性(1)、(2)のいずれにも該当しない場合、ワークロード特性(3)と判定される。なお、ワークロード特性を判定するアクセスの比率は、50%を超えていればよい。
次に、ステップS21において、プロセッサPRCは、性能が低下した記憶装置SSDの番号と、性能が低下した記憶装置SSDのワークロード特性とを制御部400Aに通知する。
プロセッサPRCからの通知を受けた制御部400Aは、図11に示したステップS60において、図6に示した全体管理テーブルMTBLおよび図19に示したメモリ特性テーブルSTBLを参照する。そして、制御部400Aは、未使用の記憶装置SSDの中に、プロセッサPRCから受けたワークロード特性に適合する記憶装置SSDがあるか否かを検出する。ワークロード特性に適合する未使用の記憶装置SSDがある場合、制御部400Aは、その記憶装置SSDの1つを、性能が低下した記憶装置SSD1と置き換える決定をする。情報処理装置のその他の動作は、図11から図14と同様である。
図21は、図20に示したステップS12により作成される性能監視テーブルの例を示す。性能監視テーブルは、図10と同様にゾーングループ毎に作成される。この例では、性能監視テーブルは、図7に示した接続管理テーブルCTBLに対応して作成される。
各性能監視テーブルは、ゾーングループに属する記憶装置SSD毎に、記憶装置SSDの総容量、システムの構築時の初期使用容量、しきい値、累積書き込み量および累積読み出し量を格納する領域を有する。各記憶装置SSDの総容量、初期使用容量、しきい値、累積書き込み量は、図10と同様である。ゾーングループ1では、記憶装置SSD0、SSD1、SSD2、SSD3の累積読み出し量は、それぞれ50ギガバイト、100ギガバイト、320ギガバイト、15ギガバイトである。ゾーングループ2では、記憶装置SSD16、SSD17の累積読み出し量は、5ギガバイト、10ギガバイトである。図21は、ゾーングループ1およびゾーングループ2が構築された後、システムがしばらく運用された状態を示す。
以上、この実施形態においても、図1および図4に示した情報処理装置と同様に、システム内のプロセッサPRCの負荷の増加を抑えながら、性能が低下した記憶装置SSDを未使用の記憶装置SSDと置き換えでき、システム内の記憶装置SSDの性能を回復できる。仮のシステムの構築を、データのコピー処理および記憶装置SSDの初期化処理を完了した後に解消することで、プロセッサプール100A内のプロセッサPRCの使用効率を向上できる。また、データの冗長性を保証でき、システムの信頼性を向上できる。
さらに、システム内で使用される記憶装置SSDのワークロード特性を求め、性能が低下した記憶装置SSDをワークロード特性に適合する未使用の記憶装置SSDと置き換えることで、システムの性能を低下させることなく、システムを運用できる。
図22は、別の実施形態におけるメモリ特性テーブルSTBLの例を示す。情報処理装置は、メモリ特性テーブルSTBLおよび各プロセッサPRCが実行する管理プログラムが異なることを除き、図18に示した情報処理装置と同様である。全体管理テーブルMTBL、接続管理テーブルCTBLおよび性能監視テーブルは、図6、図7および図21とそれぞれ同様または同一である。
すなわち、システム内のプロセッサPRCは、図20のステップS18に基づいて、図20に示した性能監視テーブルの累積書き込み量に基づいて、記憶装置SSDの性能の低下を検出する。システム内のプロセッサPRCは、性能が低下した記憶装置SSDが切り離された後、書き込みデータを記憶装置MDまたは性能が低下した記憶装置SSDと対の関係にある記憶装置SSD(例えば、SSD0)に書き込む。
図18に示した制御部400Bは、記憶装置SSDの性能が低下したことに基づいて、未使用の記憶装置SSDおよび未使用のプロセッサPRCがある場合に、性能が低下した記憶装置SSDを未使用の記憶装置SSDに置き換える。仮のシステム内のプロセッサPRCは、性能が低下した記憶装置SSD内のデータを未使用の記憶装置SSDにコピーし、性能が低下した記憶装置SSDを初期化する。構築された仮のシステムは、初期化の完了後に解消される。
この実施形態の情報処理装置は、図4の情報処理装置と同様に、RAID1システムを構築し、図11および図14と同様に動作するが、RAID5システムまたはRAID6システムを構築し、図15および図16と同様に動作してもよい。
メモリ特性テーブルSTBLは、型式や製造メーカにより異なる各記憶装置SSDの特性が予め格納される。この実施形態では、各記憶装置SSDは、符号RDS、RDR、WRS、WRR、RWで示すいずれかの特性に分類される。
符号RDSは、データのシーケンシャル読み出し特性が他の特性より優れた記憶装置SSDを示し、符号RDRは、データのランダム読み出し特性が他の特性より優れた記憶装置SSDを示す。符号WRSは、データのシーケンシャル書き込み特性が他の特性より優れた記憶装置SSDを示し、符号WRRは、データのランダム書き込み特性が他の特性より優れた記憶装置SSDを示す。符号RWは、読み出し特性と書き込み特性とに優位差がないその他の記憶装置SSDを示す。
例えば、シーケンシャル読み出しおよびシーケンシャル書き込みは、プロセッサPRCが指定する記憶装置SSDのアクセス領域が連続することを示す。ランダム読み出しおよびランダム書き込みは、プロセッサPRCが指定する記憶装置SSDのアクセス領域が不連続であることを示す。
図19と同様に、シーケンシャル読み出し特性に優れた記憶装置SSDは、符号RDSの欄に数値”1”が格納され、ランダム読み出し特性に優れた記憶装置SSDは、符号RDRの欄に数値”1”が格納される。シーケンシャル書き込み特性に優れた記憶装置SSDは、符号WRSの欄に数値”1”が格納され、ランダム書き込み特性に優れた記憶装置SSDは、符号WRRの欄に数値”1”が格納される。読み出し特性と書き込み特性とに差がない記憶装置SSDは、符号RWの欄に”1”が格納される。
システムとして構築されたプロセッサPRCが実行する管理プログラムは、ステップS19の動作が異なることを除き、図20と同様である。プロセッサPRCは、ステップS19において、性能が低下した記憶装置SSDに関して、ユーザプログラムを実行するシステムによるアクセス種別の傾向を示すワークロード特性を判定する。
この実施形態では、各システムは、次の5つのワークロード特性のいずれかに分類される。
(4)シーケンシャル読み出しの頻度が他のアクセス頻度に比べて高く、データのシーケンシャル読み出し量が、データのランダム読み出し量、データのシーケンシャル書き込み量およびデータのランダム書き込み量より多い。
(5)ランダム読み出しの頻度が他のアクセス頻度に比べて高く、データのランダム読み出し量が、データのシーケンシャル読み出し量、データのシーケンシャル書き込み量およびデータのランダム書き込み量より多い。
(6)シーケンシャル書き込みの頻度が他のアクセス頻度に比べて高く、データのシーケンシャル書き込み量が、データのシーケンシャル読み出し量、データのランダム読み出し量およびデータのランダム書き込み量より多い。
(7)ランダム書き込みの頻度が他のアクセス頻度に比べて高く、データのランダム書き込み量が、データのシーケンシャル読み出し量、データのランダム読み出し量およびデータのシーケンシャル書き込み量より多い。
(8)読み出し頻度と書き込み頻度の差が小さく、データのシーケンシャル読み出し量、データのランダム読み出し量、データのシーケンシャル書き込み量およびデータのランダム書き込み量の間に優位差がない。
例えば、各記憶装置SSDのシーケンシャル読み出しアクセスの比率が全てアクセスの60%を超える場合、ワークロード特性(4)と判定される。各記憶装置SSDのランダム読み出しアクセスの比率が全てアクセスの60%を超える場合、ワークロード特性(5)と判定される。各記憶装置SSDのシーケンシャル書き込みアクセスの比率が全てアクセスの60%を超える場合、ワークロード特性(6)と判定される。各記憶装置SSDのランダム書き込みアクセスの比率が全てアクセスの60%を超える場合、ワークロード特性(7)と判定される。ワークロード特性(4)、(5)、(6)、(7)のいずれにも該当しない場合、ワークロード特性(8)と判定される。なお、ワークロード特性を判定するアクセスの比率は、50%を超えていればよい。
図20のステップS21において、プロセッサPRCから性能が低下した記憶装置SSDのワークロード特性を受けた制御部400Aは、図11に示したステップS60において、図6に示した全体管理テーブルMTBLおよび図22に示したメモリ特性テーブルSTBLを参照する。そして、制御部400Aは、未使用の記憶装置SSDの中に、プロセッサPRCから受けたワークロード特性に適合する記憶装置SSDがあるか否かを検出する。ワークロード特性に適合する未使用の記憶装置SSDがある場合、制御部400Aは、その記憶装置SSDの1つを、性能が低下した記憶装置SSD1と置き換える決定をする。情報処理装置のその他の動作は、図11から図14と同様である。
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
複数の演算処理装置と、
複数の記憶装置と、
前記複数の演算処理装置のうち第1の演算処理装置と、前記複数の記憶装置のうち二重化された第1の記憶装置と第2の記憶装置とを接続する接続部と、
前記第2の記憶装置の性能が低下した場合、性能が低下した前記第2の記憶装置を、前記第1の演算処理装置と前記第1の記憶装置から前記接続部に切り離させ、前記複数の記憶装置のうち第3の記憶装置を、前記第1の記憶装置と二重化させるとともに、二重化させた前記第1の記憶装置と前記第3の記憶装置を、前記第1の演算処理装置に対して前記接続部に接続させ、前記複数の演算処理装置のうち第2の演算処理装置を、切り離した前記第2の記憶装置に対して前記接続部に接続させるとともに、前記第2の記憶装置を前記第2の演算処理装置に初期化させる制御部を有することを特徴とする情報処理装置。
(付記2)
前記制御部は、前記第3の記憶装置を、前記第1の演算処理装置に接続させる前に前記第2の演算処理装置に対して前記接続部に接続させ、前記第2の記憶装置を前記第2の演算処理装置に初期化させる前に、前記第2の記憶装置に格納されたデータの前記第3の記憶装置へのコピーを前記第2の演算処理装置に実行させ、データがコピーされた前記第3の記憶装置を前記第1の演算処理装置に接続させることを特徴とする付記1記載の情報処理装置。
(付記3)
前記第1の演算処理装置に接続されたメモリバッファを備え、
前記第1の演算処理装置は、前記第2の記憶装置を切り離した後、データを前記第1の記憶装置に書き込む代わりに前記メモリバッファに書き込み、
前記制御部は、データがコピーされた前記第3の記憶装置を前記第1の演算処理装置に接続させた後に、前記第1の演算処理装置に、前記メモリバッファに書き込まれたデータを前記第1の記憶装置および前記第3の記憶装置に書き込ませることを特徴とする付記2記載の情報処理装置。
(付記4)
前記第1の演算処理装置は、性能が低下した前記第2の記憶装置を切り離した後、前記メモリバッファにおけるデータを書き込む領域が不足した場合、前記第1の記憶装置にデータを書き込み、前記メモリバッファに書き込まれたデータを前記第1の記憶装置および前記第3の記憶装置に書き込んだ後、前記第1の記憶装置および前記第3の記憶装置に格納されたデータを互いに同期させることを特徴とする付記3記載の情報処理装置。
(付記5)
前記制御部は、前記第2の記憶装置を初期化させた後に、前記第2の演算処理装置と前記第2の記憶装置との接続を、前記接続部に解除させることを特徴とする付記1ないし付記4のいずれか1項記載の情報処理装置。
(付記6)
前記第1の演算処理装置は、前記第2の記憶装置へのデータの累積書き込み量が所定のしきい値を超えた場合に、前記第2の記憶装置の性能の低下を検出し、
前記制御部は、前記第1の演算処理装置から前記第2の記憶装置の性能の低下の通知を受けたことに基づいて、性能が低下した前記第2の記憶装置を前記第1の演算処理装置から切り離させることを特徴とする付記1ないし付記5のいずれか1項記載の情報処理装置。
(付記7)
前記複数の記憶装置は、読み出し特性が書き込み特性より優れた記憶装置と、データの書き込み特性がデータの読み出し特性より優れた記憶装置とを含み、
前記第1の演算処理装置は、前記第2の記憶装置からのデータの読み出し量および前記第2の記憶装置へのデータの書き込み量をモニタすることで、前記第2の記憶装置についてデータの書き込み量とデータの読み出し量とのどちらが多いかを求め、
前記制御部は、
データの読み出し量がデータの書き込み量より多い場合、前記接続部に前記読み出し特性が優れた記憶装置である前記第3の記憶装置と性能が低下した前記第2の記憶装置とを入れ換えさせ、
データの書き込み量がデータの読み出し量より多い場合、前記接続部に前記書き込み特性が優れた記憶装置である前記第3の記憶装置と性能が低下した前記第2の記憶装置とを入れ換えさせることを特徴とする付記1ないし付記6のいずれか1項記載の情報処理装置。
(付記8)
前記複数の記憶装置は、データのシーケンシャル読み出し特性が他の特性より優れた記憶装置と、データのランダム読み出し特性が他の特性より優れた記憶装置と、データのシーケンシャル書き込み特性が他の特性より優れた記憶装置と、データのランダム書き込み特性が他の特性より優れた記憶装置とを含み、
前記制御部は、
データのシーケンシャル読み出し量が、データのランダム読み出し量、データのシーケンシャル書き込み量およびデータのランダム書き込み量より多い場合、前記接続部に前記シーケンシャル読み出し特性が優れた記憶装置である前記第3の記憶装置と性能が低下した前記第2の記憶装置とを入れ換えさせ、
データのランダム読み出し量が、データのシーケンシャル読み出し量、データのシーケンシャル書き込み量およびデータのランダム書き込み量より多い場合、前記接続部に前記ランダム読み出し特性が優れた記憶装置である前記第3の記憶装置と性能が低下した前記第2の記憶装置とを入れ換えさせ、
データのシーケンシャル書き込み量が、データのシーケンシャル読み出し量、データのランダム読み出し量およびデータのランダム書き込み量より多い場合、前記接続部に前記シーケンシャル書き込み特性が優れた記憶装置である前記第3の記憶装置と性能が低下した前記第2の記憶装置とを入れ換えさせ、
データのランダム書き込み量が、データのシーケンシャル読み出し量およびデータのランダム読み出し量およびデータのシーケンシャル書き込み量より多い場合、前記接続部に前記ランダム書き込み特性が優れた記憶装置である前記第3の記憶装置と性能が低下した前記第2の記憶装置とを入れ換えさせることを特徴とする付記7項記載の情報処理装置。
(付記9)
前記記憶装置は、フラッシュメモリを含むことを特徴とする付記1ないし付記8のいずれか1項記載の情報処理装置。
(付記10)
前記制御部は、前記第2の記憶装置の性能が低下する前に、前記第2の演算処理装置が前記複数の記憶装置のいずれかに接続され、または、前記第3の記憶装置が複数の前記演算処理装置に接続された場合、前記第2の記憶装置の性能が低下した場合にも、前記接続部に前記第1の演算処理装置と前記第2の記憶装置との接続を維持させることを特徴とする付記1ないし付記9のいずれか1項記載の情報処理装置。
(付記11)
複数の演算処理装置と、複数の記憶装置と、前記複数の演算処理装置のうち第1の演算処理装置と、前記複数の記憶装置のうち二重化された第1の記憶装置と第2の記憶装置とを接続する接続部とを有する情報処理装置の制御方法において、
前記情報処理装置が有する制御部が、
前記第2の記憶装置の性能が低下した場合、性能が低下した前記第2の記憶装置を、前記第1の演算処理装置と前記第1の記憶装置から前記接続部に切り離させ、
前記複数の記憶装置のうち第3の記憶装置を、前記第1の記憶装置と二重化させ、
二重化させた前記第1の記憶装置と前記第3の記憶装置を、前記第1の演算処理装置に対して前記接続部に接続させ、
前記複数の演算処理装置のうち第2の演算処理装置を、切り離した前記第2の記憶装置に対して前記接続部に接続させ、
前記第2の記憶装置を前記第2の演算処理装置に初期化させることを特徴とする情報処理装置の制御方法。
(付記12)
複数の演算処理装置と、複数の記憶装置と、前記複数の演算処理装置のうち第1の演算処理装置と、前記複数の記憶装置のうち二重化された第1の記憶装置と第2の記憶装置とを接続する接続部とを有する情報処理装置の制御プログラムにおいて、
前記情報処理装置が有する制御部に、
前記第2の記憶装置の性能が低下した場合、性能が低下した前記第2の記憶装置を、前記第1の演算処理装置と前記第1の記憶装置から前記接続部により切り離させ、
前記複数の記憶装置のうち第3の記憶装置を、前記第1の記憶装置と二重化させ、
二重化させた前記第1の記憶装置と前記第3の記憶装置を、前記第1の演算処理装置に対して前記接続部により接続させ、
前記複数の演算処理装置のうち第2の演算処理装置を、切り離した前記第2の記憶装置に対して前記接続部により接続させ、
前記第2の記憶装置を前記第2の演算処理装置により初期化させることを特徴とする情報処理装置の制御プログラム。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
100、100A‥プロセッサプール;200、200A‥メモリプール;300、300A‥接続部;400、400A、400B‥制御部;BT‥記憶装置;CS‥接続仕様;CTBL‥接続管理テーブル;EXP‥エキスパンダ;MD‥記憶装置;MID‥情報;MTBL‥全体管理テーブル;PC‥コンピュータ装置;PRC‥プロセッサ;SSD‥記憶装置;STBL‥メモリ特性テーブル

Claims (10)

  1. 複数の演算処理装置と、
    複数の記憶装置と、
    前記複数の演算処理装置のうち第1の演算処理装置と、前記複数の記憶装置のうち二重化された第1の記憶装置と第2の記憶装置とを接続する接続部と、
    前記第2の記憶装置の性能が低下した場合、性能が低下した前記第2の記憶装置を、前記第1の演算処理装置と前記第1の記憶装置から前記接続部に切り離させ、前記複数の記憶装置のうち第3の記憶装置を、前記第1の記憶装置と二重化させるとともに、二重化させた前記第1の記憶装置と前記第3の記憶装置を、前記第1の演算処理装置に対して前記接続部に接続させ、前記複数の演算処理装置のうち第2の演算処理装置を、切り離した前記第2の記憶装置に対して前記接続部に接続させるとともに、前記第2の記憶装置を前記第2の演算処理装置に初期化させる制御部を有することを特徴とする情報処理装置。
  2. 前記制御部は、前記第3の記憶装置を、前記第1の演算処理装置に接続させる前に前記第2の演算処理装置に対して前記接続部に接続させ、前記第2の記憶装置を前記第2の演算処理装置に初期化させる前に、前記第2の記憶装置に格納されたデータの前記第3の記憶装置へのコピーを前記第2の演算処理装置に実行させ、データがコピーされた前記第3の記憶装置を前記第1の演算処理装置に接続させることを特徴とする請求項1記載の情報処理装置。
  3. 前記第1の演算処理装置に接続されたメモリバッファを備え、
    前記第1の演算処理装置は、前記第2の記憶装置を切り離した後、データを前記第1の記憶装置に書き込む代わりに前記メモリバッファに書き込み、
    前記制御部は、データがコピーされた前記第3の記憶装置を前記第1の演算処理装置に接続させた後に、前記第1の演算処理装置に、前記メモリバッファに書き込まれたデータを前記第1の記憶装置および前記第3の記憶装置に書き込ませることを特徴とする請求項2記載の情報処理装置。
  4. 前記制御部は、前記第2の記憶装置を初期化させた後に、前記第2の演算処理装置と前記第2の記憶装置との接続を、前記接続部に解除させることを特徴とする請求項1ないし請求項3のいずれか1項記載の情報処理装置。
  5. 前記第1の演算処理装置は、前記第2の記憶装置へのデータの累積書き込み量が所定のしきい値を超えた場合に、前記第2の記憶装置の性能の低下を検出し、
    前記制御部は、前記第1の演算処理装置から前記第2の記憶装置の性能の低下の通知を受けたことに基づいて、性能が低下した前記第2の記憶装置を前記第1の演算処理装置から切り離させることを特徴とする請求項1ないし請求項4のいずれか1項記載の情報処理装置。
  6. 複数の前記記憶装置は、読み出し特性が書き込み特性より優れた記憶装置と、データの書き込み特性がデータの読み出し特性より優れた記憶装置とを含み、
    前記第1の演算処理装置は、前記第2の記憶装置からのデータの読み出し量および前記第2の記憶装置へのデータの書き込み量をモニタすることで、前記第2の記憶装置についてデータの書き込み量とデータの読み出し量とのどちらが多いかを求め、
    前記制御部は、
    データの読み出し量がデータの書き込み量より多い場合、前記接続部に前記読み出し特性が優れた記憶装置である前記第3の記憶装置と性能が低下した前記第2の記憶装置とを入れ換えさせ、
    データの書き込み量がデータの読み出し量より多い場合、前記接続部に前記書き込み特性が優れた記憶装置である前記第3の記憶装置と性能が低下した前記第2の記憶装置とを入れ換えさせることを特徴とする請求項1ないし請求項5のいずれか1項記載の情報処理装置。
  7. 前記記憶装置は、フラッシュメモリを含むことを特徴とする請求項1ないし請求項6のいずれか1項記載の情報処理装置。
  8. 前記制御部は、前記第2の記憶装置の性能が低下する前に、前記第2の演算処理装置が前記複数の記憶装置のいずれかに接続され、または、前記第3の記憶装置が複数の前記演算処理装置に接続された場合、前記第2の記憶装置の性能が低下した場合にも、前記接続部に前記第1の演算処理装置と前記第2の記憶装置との接続を維持させることを特徴とする請求項1ないし請求項7のいずれか1項記載の情報処理装置。
  9. 複数の演算処理装置と、複数の記憶装置と、前記複数の演算処理装置のうち第1の演算処理装置と、前記複数の記憶装置のうち二重化された第1の記憶装置と第2の記憶装置とを接続する接続部とを有する情報処理装置の制御方法において、
    前記情報処理装置が有する制御部が、
    前記第2の記憶装置の性能が低下した場合、性能が低下した前記第2の記憶装置を、前記第1の演算処理装置と前記第1の記憶装置から前記接続部に切り離させ、
    前記複数の記憶装置のうち第3の記憶装置を、前記第1の記憶装置と二重化させ、
    二重化させた前記第1の記憶装置と前記第3の記憶装置を、前記第1の演算処理装置に対して前記接続部に接続させ、
    前記複数の演算処理装置のうち第2の演算処理装置を、切り離した前記第2の記憶装置に対して前記接続部に接続させ、
    前記第2の記憶装置を前記第2の演算処理装置に初期化させることを特徴とする情報処理装置の制御方法。
  10. 複数の演算処理装置と、複数の記憶装置と、前記複数の演算処理装置のうち第1の演算処理装置と、前記複数の記憶装置のうち二重化された第1の記憶装置と第2の記憶装置とを接続する接続部とを有する情報処理装置の制御プログラムにおいて、
    前記情報処理装置が有する制御部に、
    前記第2の記憶装置の性能が低下した場合、性能が低下した前記第2の記憶装置を、前記第1の演算処理装置と前記第1の記憶装置から前記接続部により切り離させ、
    前記複数の記憶装置のうち第3の記憶装置を、前記第1の記憶装置と二重化させ、
    二重化させた前記第1の記憶装置と前記第3の記憶装置を、前記第1の演算処理装置に対して前記接続部により接続させ、
    前記複数の演算処理装置のうち第2の演算処理装置を、切り離した前記第2の記憶装置に対して前記接続部により接続させ、
    前記第2の記憶装置を前記第2の演算処理装置により初期化させることを特徴とする情報処理装置の制御プログラム。
JP2012220445A 2012-10-02 2012-10-02 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム Expired - Fee Related JP5949408B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012220445A JP5949408B2 (ja) 2012-10-02 2012-10-02 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
US13/950,435 US9262078B2 (en) 2012-10-02 2013-07-25 Information processing device, method for controlling information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012220445A JP5949408B2 (ja) 2012-10-02 2012-10-02 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2014074940A JP2014074940A (ja) 2014-04-24
JP5949408B2 true JP5949408B2 (ja) 2016-07-06

Family

ID=50386373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012220445A Expired - Fee Related JP5949408B2 (ja) 2012-10-02 2012-10-02 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム

Country Status (2)

Country Link
US (1) US9262078B2 (ja)
JP (1) JP5949408B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213610B2 (en) * 2013-06-06 2015-12-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Configurable storage device and adaptive storage device array
TWI527058B (zh) * 2013-11-01 2016-03-21 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置與記憶體控制電路單元
JP6015700B2 (ja) * 2014-03-26 2016-10-26 日本電気株式会社 情報記憶装置および情報記憶方法
JP6517684B2 (ja) * 2015-12-22 2019-05-22 東芝メモリ株式会社 メモリシステムおよび制御方法
JP6517685B2 (ja) 2015-12-22 2019-05-22 東芝メモリ株式会社 メモリシステムおよび制御方法
JP2017138781A (ja) * 2016-02-03 2017-08-10 Necプラットフォームズ株式会社 ディスクアレイコントローラ、ストレージシステム、方法、及び、プログラム
US11153164B2 (en) * 2017-01-04 2021-10-19 International Business Machines Corporation Live, in-line hardware component upgrades in disaggregated systems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3561002B2 (ja) * 1994-05-18 2004-09-02 富士通株式会社 ディスク装置
JPH07325674A (ja) * 1994-06-01 1995-12-12 Hitachi Ltd 半導体メモリの交換方法および半導体ディスクサブシステムの制御方法
JP3545252B2 (ja) * 1999-03-30 2004-07-21 富士通株式会社 情報処理装置
JP4933861B2 (ja) 2005-09-22 2012-05-16 株式会社日立製作所 ストレージ制御装置、データ管理システムおよびデータ管理方法
US7404104B2 (en) * 2005-11-16 2008-07-22 International Business Machines Corporation Apparatus and method to assign network addresses in a storage array
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
US7627729B2 (en) * 2006-09-07 2009-12-01 International Business Machines Corporation Apparatus, system, and method for an improved synchronous mirror swap
JP5014821B2 (ja) 2007-02-06 2012-08-29 株式会社日立製作所 ストレージシステム及びその制御方法
US8225006B1 (en) * 2007-08-30 2012-07-17 Virident Systems, Inc. Methods for data redundancy across three or more storage devices
JP5678628B2 (ja) * 2010-12-08 2015-03-04 沖電気工業株式会社 半導体ディスク装置

Also Published As

Publication number Publication date
JP2014074940A (ja) 2014-04-24
US9262078B2 (en) 2016-02-16
US20140095819A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
JP5949408B2 (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
JP6791834B2 (ja) 記憶システム及び制御ソフトウェア配置方法
US8464094B2 (en) Disk array system and control method thereof
US7975168B2 (en) Storage system executing parallel correction write
US7444478B2 (en) Priority scheme for transmitting blocks of data
US6892276B2 (en) Increased data availability in raid arrays using smart drives
US8930745B2 (en) Storage subsystem and data management method of storage subsystem
JP6097845B2 (ja) 不揮発性キャッシュメモリにデータをバックアップするストレージシステム
JP2005276196A (ja) ドライブ故障に続いてドライブリカバリを行うためのシステムおよび方法
US20170139605A1 (en) Control device and control method
US11307789B2 (en) Storage system and storage control method
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
WO2022142544A1 (zh) 防止闪存数据丢失的方法、固态硬盘控制器、固态硬盘
WO2015015589A1 (ja) 情報処理装置、メモリダンプ方法、およびメモリダンププログラム
CN104050200A (zh) 用于数据拷贝的方法和装置
JP4454299B2 (ja) ディスクアレイ装置及びディスクアレイ装置の保守方法
US20180307427A1 (en) Storage control apparatus and storage control method
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
JP6556980B2 (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
WO2015166741A1 (ja) インメモリ管理システムおよびインメモリ管理用プログラム
JP2018190192A (ja) ストレージ装置およびストレージ制御プログラム
JP6805838B2 (ja) ディスク管理システム、ディスク管理方法、および、ディスク管理プログラム
JP5636703B2 (ja) ブレードサーバ
JP2023110180A (ja) ストレージ装置および制御方法
JP2022020744A (ja) ストレージシステム及びストレージ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150604

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160428

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160523

R150 Certificate of patent or registration of utility model

Ref document number: 5949408

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees