JP4804218B2 - 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法 - Google Patents

記憶媒体への書き込み回数を管理する計算機システム及びその制御方法 Download PDF

Info

Publication number
JP4804218B2
JP4804218B2 JP2006132597A JP2006132597A JP4804218B2 JP 4804218 B2 JP4804218 B2 JP 4804218B2 JP 2006132597 A JP2006132597 A JP 2006132597A JP 2006132597 A JP2006132597 A JP 2006132597A JP 4804218 B2 JP4804218 B2 JP 4804218B2
Authority
JP
Japan
Prior art keywords
storage area
physical storage
physical
primary
remaining
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
JP2006132597A
Other languages
English (en)
Other versions
JP2007304859A (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 JP2006132597A priority Critical patent/JP4804218B2/ja
Priority to US11/475,958 priority patent/US7853769B2/en
Priority to EP06255614A priority patent/EP1855187A3/en
Publication of JP2007304859A publication Critical patent/JP2007304859A/ja
Application granted granted Critical
Publication of JP4804218B2 publication Critical patent/JP4804218B2/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/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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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

Description

本願明細書で開示される技術は、計算機システムに関し、特に、書き換え回数が制限された記憶媒体を含む計算機システムにおいて、記憶媒体を管理する方法に関する。
一般に、情報システムでは、定期的にデータがバックアップされる。このため、ストレージシステムの障害、コンピュータウィルスによるデータ破壊又はユーザによる誤操作等によってデータが喪失した場合に、喪失したデータをリカバリすることができる。
このバックアップ技術の一つとして、データの二重化によるバックアップ方法が提案されている(例えば、特許文献1を参照)。この方法によれば、バックアップが実行される以前に、アプリケーションが利用するデータ(以降、「運用中データ」と呼ぶ)が二つの記憶領域に二重化(ミラー)される。そして、二重化を停止することによってバックアップが実行される。その結果、二つの記憶領域が独立な領域に分離する。これらのうち一つの領域のデータが運用中データ、もう一つの領域のデータが、その時点における運用中データの記憶イメージ(以降、「バックアップデータ」と呼ぶ)として扱われる。このように、二重化を停止することによって、高速なバックアップが可能になる。
また、特許文献1によれば、バックアップデータが取得され、運用中データの二重化が停止している間は、運用中データに対するデータ更新が許可されると共に、更新されたデータの位置が記録される。ここで、更新されたデータの位置とは、データが書き込まれた記憶領域の位置であり、例えば、データが書き込まれたブロックのブロックアドレスである。そして、バックアップデータ削除時には、データの二重化が再開されると共に、更新されたデータの位置の記録に基づいて、運用中データ格納用の記憶領域からバックアップデータ格納用の記憶領域に更新データがコピーされる。これによって、二重化を高速に再開することができる。
上記の運用中データ及びバックアップデータは、ハードディスクドライブに格納されてもよいが、他の種類の不揮発性記憶媒体に格納されてもよい。他の種類の不揮発性記憶媒体とは、例えば、フラッシュメモリである。フラッシュメモリは、データの書き換えが可能であるが、書き換えによって特性が劣化することが知られている。したがって、記憶媒体としてフラッシュメモリを使用する場合、データ消失等の障害発生を防ぎ、所定の信頼性及び性能を保証するためには、所定の上限を超える回数の書き込みを実行することができない。
フラッシュメモリ上の一部の領域に書き込み処理が集中し、その領域のみが急速に劣化することを防ぐために、書き込み処理の対象を分散させる技術が開示されている(例えば、特許文献2参照)。特許文献2によれば、フラッシュメモリ上の記憶領域が複数の記憶領域に分割される。そして、実行された書き換えの回数が多い領域に格納されているデータと、実行された書き込みの回数が少ない領域に格納されているデータとが交換される。その結果、書き込み回数が均等化される。
米国特許第5051887号明細書 特表2006−504201号公報
一般的なバックアップ運用管理では、特定の記憶領域にバックアップデータが格納され、管理者によって設定された保持期間だけ、このバックアップデータが保持される。そして、この保持期間を過ぎると、新規のバックアップデータがこの記憶領域に上書きされる。これを繰り返すことによって、運用中データのバックアップ運用が継続される。
この運用管理に特許文献1の技術を適用すると次のような処理が行われる。
まず、運用中データが二重化される。具体的には、二重化された二つの記憶領域のうち、運用中データ格納用の記憶領域にホスト計算機からデータが書き込まれると、そのデータがバックアップデータ格納用の記憶領域にコピーされる。以下、データのコピー元の記憶領域を正側記憶領域、データのコピー先の記憶領域を副側記憶領域と呼ぶ。
その後、バックアップ実行時に、二重化が停止する。具体的には、正側記憶領域から副側記憶領域へのデータのコピーが停止する。二重化が停止している間、正側記憶領域のデータが更新されても、その更新は副側記憶領域に反映されない。その結果、副側記憶領域のデータが、二重化を停止した時点のバックアップデータとして取得される。
その後、管理者によって設定された保持期間だけ、二重化が停止した状態におかれる。この間、運用中データが更新された場合は、更新された位置が記録される。
その後、この保持期間を過ぎると、二重化が再開される。このとき、更新位置の記録に基づいて、副側記憶領域へ正側記憶領域から更新データがコピーされる。その結果、正側記憶領域と副側記憶領域のデータが同一となる。
その後、再び二重化が停止して、新規バックアップデータが取得される。
二重化停止中、同一の位置のデータが複数回更新され、その後二重化が再開される場合、最新の更新データのみが正側記憶領域から副側記憶領域にコピーされる。このため、常に、副側記憶領域への総書き込み回数は、正側記憶領域への総書き込み回数以下となる。そして、運用時間の経過とともに、二つの記憶領域間の総書き込み回数の差は拡大していく。
あるいは、二重化が維持されている場合であっても、正側記憶領域の同一の位置に対する複数回のデータ書き込み要求が連続して発行されたとき、それらのデータのうち最後に書き込まれたデータのみが副側記憶領域にコピーされる場合がある。この場合にも、副側記憶領域への総書き込み回数は、正側記憶領域への総書き込み回数以下となる。
このような正側記憶領域と副側記憶領域の書き込み回数の差の拡大は、特許文献2の技術を用いたとしても発生する。一つのフラッシュメモリの故障によって、運用中データとバックアップデータが同時に損失することを避けるため、正側記憶領域と副側記憶領域を、同一のフラッシュメモリではなく、それぞれ独立したフラッシュメモリに設けるように設計するためである。このため、特許文献2の技術は、正側記憶領域内のみ、及び、副側記憶領域内のみで書き込み回数を平準化するためにしか利用することができず、正側記憶領域と副側記憶領域の書き込み回数の差の拡大は、依然として発生してしまう。
データ格納用の記憶領域として、フラッシュメモリ等の、書き込み回数に制限がある記憶媒体が使用される場合、正側記憶領域の寿命が、副側記憶領域より早く訪れる。あるいは、記憶領域として、フラッシュメモリのように総書き込み回数に応じてI/O性能等が劣化する記憶媒体が使用される場合、正側記憶領域の性能が、副側記憶領域より早く劣化する。このため、正側記憶領域の記憶媒体を頻繁に交換する必要がある。その結果、バックアップ運用管理のメンテナンスコストが増加してしまう。
本願で開示する代表的な発明は、ネットワークを介してホスト計算機と接続されるストレージシステムにおいて、前記ストレージシステムは、前記ホスト計算機から書き込まれたデータを格納する複数の物理記憶領域と、前記物理記憶領域に対するデータの書き込み及び読み出しを制御するコントローラと、を備え、前記複数の物理記憶領域は、少なくとも、データを二重化して格納するための第1物理記憶領域及び第2物理記憶領域を含み、前記第1物理記憶領域は、前記ホスト計算機から書き込まれるデータを格納する正側記憶領域として設定され、前記第2物理記憶領域は、同期することによって前記正側記憶領域に設定された前記物理記憶領域と同一のバックアップデータを格納する副側記憶領域として設定され、前記コントローラは、前記第1物理記憶領域の残り書き換え可能回数と前記第2物理記憶領域の残り書き換え可能回数とを比較し、前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第1物理記憶領域の設定を前記副側記憶領域に変更し、前記第2物理記憶領域の設定を前記正側記憶領域に変更することを特徴とする。
本発明の一実施形態によれば、データの二重化によるバックアップが実行されている計算機システムにおいて、運用中データ格納用記憶領域への総書き込み回数とバックアップデータ格納用の記憶領域の総書き込み回数とが平準化される。その結果、記憶媒体の交換間隔が延長され、バックアップ運用管理のメンテナンスコストが低下する。
以下、本発明の実施の形態の計算機システム及びストレージシステム、並びに、これらのシステムにおけるバックアップ管理方法について、図面を参照しながら説明する。なお、以下の記載によって本発明が限定されるものではない。
(1)第1の実施の形態のシステム構成
図1は、本発明の第1の実施の形態の計算機システムの構成を示すブロック図である。
本実施の形態の計算機システムは、ストレージシステム1000、ホスト計算機1100、管理計算機1200、データネットワーク1300及び管理ネットワーク1400を備える。
ストレージシステム1000及びホスト計算機1100は、データネットワーク1300を介して互いに接続される。本実施の形態において、データネットワーク1300はストレージエリアネットワーク(SAN)である。しかし、データネットワーク1300は、IPネットワークであっても、その他のいかなる種類のデータ通信用ネットワークであってもよい。
ストレージシステム1000、ホスト計算機1100及び管理計算機1200は、管理ネットワーク1400を介して互いに接続される。本実施の形態において、管理ネットワーク1400はIPネットワークである。しかし、管理ネットワーク1400は、SANであっても、その他のいかなる種類のデータ通信用ネットワークであってもよい。あるいは、データネットワーク1300と管理ネットワーク1400が同一のネットワークであってもよいし、ホスト計算機1100と管理計算機1200が同一の計算機であってもよい。
なお、説明の都合上、図1には、ストレージシステム1000を1台、ホスト計算機1100を1台、管理計算機1200を1台のみ示す。しかし、本発明は、さらに多くのストレージシステム1000、ホスト計算機1100及び管理計算機1200を備える計算機システムにも適用することができる。
ストレージシステム1000は、データを格納するストレージ装置1010、及び、ストレージシステム1000を制御するストレージコントローラ1020を備える。
ストレージ装置1010は、二つ以上の物理記憶領域1011を備える。物理記憶領域1011は、フラッシュメモリのように、書き込み回数が制限されている物理的な記憶領域である。この物理記憶領域1011は、書き込み位置毎の総書き込み回数を各物理記憶領域1011内で平準化する機能を備えていてもよい。あるいは、各物理記憶領域1011は、一つ以上の記憶媒体と、書き込み位置毎の総書き込み回数を記憶媒体間で平準化する機能を持つ制御装置と、を備える物理的な記憶領域であってもよい。
以下、本実施の形態は、物理記憶領域1011がフラッシュメモリである場合を例として説明する。しかし、物理記憶領域1011は、書き込み回数が制限される記憶装置であれば、いかなるものであってもよい。書き込み回数が制限される記憶装置として代表的なものは、例えば、フラッシュメモリ又は相変化型の光ディスク装置である。しかし、本発明は、書き込み回数が制限される磁気ディスク装置、光ディスク装置、磁気テープ装置、半導体記憶装置又はその他の種類の記憶装置にも適用することができる。物理記憶領域1011がフラッシュメモリである場合のストレージシステムの構成の例については、後で詳細に説明する(図11A及び図11B参照)。
ストレージシステム1000内において、物理記憶領域1011は論理記憶領域とマッピング(対応付け)される。ホスト計算機1100は、この論理記憶領域に対してI/O命令を発行する。また、この論理記憶領域に付与された属性に応じて、リモートコピー等のストレージシステム1000の各種機能が実行される。
ストレージコントローラ1020は、管理インタフェース(I/F)1021、データI/F1022、CPU1023、ストレージI/F1024及びメインメモリ1025を備えている。
CPU1023は、メインメモリ1025に格納されたプログラムを実行するプロセッサである。
メインメモリ1025には、論理物理マッピングテーブル1031、ペア定義テーブル1032、差分ビットマップ1033、総書き込み回数管理テーブル1034、総書き込み回数管理プログラム1035、二重化管理プログラム1036及びストレージマイクロプログラム1037が格納されている。
二重化管理プログラム1036は、従来技術であるデータの二重化によるバックアップを制御するプログラムである。具体的には、二重化管理プログラム1036は、正側記憶領域に格納されたデータと副側記憶領域に格納されたデータとを同期させることによって二重化を開始させる処理と、二重化を停止する処理と、運用中データの更新部分を副側記憶領域へコピーして二重化を再開する処理と、を実行する。
ここで、正側記憶領域とは、データが二重化されているときに、データのコピー元となる物理記憶領域1011又はその物理記憶領域1011に対応する論理記憶領域(後述)である。正側記憶領域には、運用中データが格納される。副側記憶領域とは、データが二重化されているときに、データのコピー先となる物理記憶領域1011又はその物理記憶領域1011に対応する論理記憶領域である。副側記憶領域に格納されたデータは、運用中データのバックアップデータとして扱われる。
具体的には、ホスト計算機1100は、正側論理記憶領域に対してデータの書き込み要求(Write命令)を発行する。ストレージマイクロプログラム1037は、ホスト計算機1100から受け取った書き込み要求に従って、要求の対象のデータを、要求の対象の正側論理記憶領域に対応する物理記憶領域に書き込む。さらに、二重化が停止していない場合、ストレージマイクロプログラム1037は、正側論理記憶領域に対応する物理記憶領域に書き込まれたデータを、副側論理記憶領域に対応する物理記憶領域にコピーする。
本実施の形態においては、二重化を再開する処理に、新たな処理が追加される。この処理の詳細については後述する(図7参照)。なお、以降、この一対の正側記憶領域と副側記憶領域を「ペア」と呼ぶ。また、二重化を開始又は再開するために、正側記憶領域と副側記憶領域を同期させることを「ペアを同期させる」と呼ぶ。具体的には、ペアを同期させた結果、副側記憶領域に格納されたデータが、正側記憶領域に格納されたデータと同一になる。また、バックアップデータを取得するために、二重化を停止させることを「ペアを分割する」と呼ぶ。
総書き込み回数管理プログラム1035は、ホスト計算機1100から発行されたWrite命令、又は、二重化管理プログラムを実行するCPU1023から発行されたデータコピー命令によって(間接的に)発生する物理記憶領域への書き込みの回数を管理するプログラムである。この処理の詳細については後述する(図6参照)。
ストレージマイクロプログラム1037は、ホスト計算機1100からの要求に応じ、物理記憶領域1011に対してデータの入出力(書き込み又は読み出し)を実行する。さらに、ストレージマイクロプログラム1037は、管理計算機1200からの要求に応じ、ストレージシステム1000内の制御情報の設定、提供等を実行する。
各テーブルの詳細は後述する(図2から図5参照)。
データI/F1022は、データネットワーク1300に接続されるインタフェースであって、一つ以上の通信ポート(図示省略)を備える。ストレージコントローラ1020は、この通信ポートを介して、ホスト計算機1100との間でデータ及び制御命令を送受信する。
管理I/F1021は、管理ネットワーク1400に接続されるインタフェースである。ストレージコントローラ1020は、この管理I/F1021を介して、ホスト計算機1100及び管理計算機1200との間でデータ及び制御命令を送受信する。
ストレージI/F1025は、ストレージ装置1010に接続されるインタフェースであって、データ及び制御命令を送受信する。
ホスト計算機1100は、データI/F1110、表示装置1120、CPU1130、入力装置1140、管理I/F1150及びメモリ1160を備える。
データI/F1110は、データネットワーク1300に接続されるインタフェースであって、一つ以上の通信ポート(図示省略)を備える。ホスト計算機1100は、この通信ポートを介して、ストレージシステム1000との間でデータ及び制御命令を送受信する。
管理I/F1150は、管理ネットワーク1400に接続されるインタフェースである。ホスト計算機1100は、システム管理のために、管理I/F1150を介して管理計算機1200及びストレージシステム1000との間でデータ及び制御命令を送受信する。
表示装置1120は、例えば、CRT等の画面表示装置である。
入力装置1140は、例えば、キーボード又はマウスである。
CPU1130は、メモリ1160に格納されたプログラムを実行するプロセッサである。
メモリ1160には、少なくとも、アプリケーション1161が格納される。
アプリケーション1161は、論理的な識別子によって識別される物理記憶領域を利用するDatabase Management System(DBMS)又はファイルシステム等のアプリケーションである。
なお、説明の都合上、図1では、アプリケーション1161を一つ示すが、複数のアプリケーションがメモリ1160に格納されてもよい。
管理計算機1200は、管理I/F1210、表示装置1220、CPU1230、入力装置1240及びメモリ1250を備える。
管理I/F1210は、システム管理のために、ホスト計算機1100及びストレージシステム1000との間でデータ及び制御命令を送受信する。
表示装置1220は、例えば、CRT等の画面表示装置である。
入力装置1240は、例えば、キーボード又はマウスである。
メモリ1250には、少なくとも、バックアップ管理プログラム1251及び設定プログラム1252が格納されている。
CPU1230はメモリ1250に格納された各種プログラムを実行することによって各機能を実現する。
設定プログラム1252は、メインメモリ1025に格納された各種テーブルの情報を設定するためのプログラムである。設定プログラム1252には、この情報を設定するために、ストレージマイクロプログラム1037を実行するCPU1023と通信する処理も含まれている。この通信の確立には、管理I/F1021のIPアドレスが利用されるが、本実施の形態では、管理計算機1200がこのIPアドレスを取得済みであるものとする。以下、前記CPU1230が各種プログラムを実行する際に、CPU1023と通信する場合、上記と同様に通信が確立される。このため、以下の説明において、通信の確立に関しては説明を省略する。
設定プログラム1252は、ストレージ管理者又は他のプログラムがこのプログラムを実行できるように、インタフェースとしてコマンドラインインタフェース(CLI)等を提供する。
バックアッププログラム1251は、ストレージ管理者によって設定されたバックアップスケジュールに従って、ストレージマイクロプログラム1037を実行するCPU1023と通信し、ペアの同期又は分割を命令するためのプログラムである。
図11A及び図11Bは、物理記憶領域1011としてフラッシュメモリを備える本発明の第1の実施の形態のストレージシステム1000の構成を示すブロック図である。
図11Aの例では、一つの物理記憶領域1011が一つのフラッシュメモリによって構成される。
図11Bの例では、一つの物理記憶領域1011が、一つ以上のフラッシュメモリ(FM)と、書き込み位置毎の総書き込み回数をフラッシュメモリ間で平準化する機能を持つ制御装置(コントローラ)とを備える。
図2から図5は、メインメモリ1025に格納されるテーブル群である。
図2は、本発明の第1の実施の形態の論理物理マッピングテーブル1031の説明図である。
論理物理マッピングテーブル1031には、論理記憶領域と物理記憶領域1011とを対応付けるマッピング情報が設定される。論理VOLID2001には、論理記憶領域の識別子が設定される。物理VOLID2002には、前記論理記憶領域に対応する物理記憶領域1011の識別子が設定される。
上記二つの値を設定するために、設定プログラム1252はCLIを提供する。例えば、このCLIを用いて管理者は「createVol -from PDEV_1」といったコマンドを発行することができる。これは、「物理記憶領域PDEV_1から論理記憶領域を生成せよ」という命令になる。このPDEV_1が物理VOLID2002に設定される。論理VOLID2001には、ストレージマイクロプログラム1037を実行するCPU1023がストレージシステム内で一意に識別することができる識別子が設定される。
例えば、上記のコマンドが実行された結果、物理記憶領域PDEV_1に対応する論理記憶領域LUN_1が生成された場合、物理VOLID2002の値「PDEV_1」に対応して、論理VOLID2001に「LUN_1」が設定される。
論理物理マッピングテーブル1031には、さらに、論理記憶領域に付与される属性を示す情報が設定されてもよい。図2には、論理記憶領域に付与される属性の例として、キャッシュ常駐2003を示す。キャッシュ常駐2003には、例えば、論理記憶領域に格納されたデータをキャッシュメモリ(図示省略)に常駐させるか否かを示す情報が設定される。論理記憶領域の一部に格納されたデータのみをキャッシュメモリ(図示省略)に常駐させる場合、キャッシュ常駐2003には、その一部を特定する情報が設定される。
図2の例では、論理VOLID2001の値「LUN_1」に対応するキャッシュ常駐2003として、「0〜1024」が設定されている。これは、論理記憶領域LUN_1のアドレス0からアドレス1024までに格納されたデータをキャッシュメモリに常駐させることを示す。一方、論理VOLID2001の値「LUN_2」に対応するキャッシュ常駐2003として、「off」が設定されている。これは、論理記憶領域LUN_2に格納されたデータをキャッシュメモリに常駐させないことを示す。
キャッシュ常駐2003を設定するために、設定プログラム1252はCLIを提供する。例えば、このCLIを用いて管理者は「useCache -vol LUN_1 -from 0 -to 1024」といったコマンドを発行することができる。これは、「論理記憶領域LUN_1のアドレス0からアドレス1024までのデータをキャッシュメモリに常駐せよ」という命令になる。その結果、図2の「LUN_1」に対応するキャッシュ常駐2003の値「0〜1024」が設定される。
図3は、本発明の第1の実施の形態のペア定義テーブル1032の説明図である。
ペア定義テーブル1032には、データの二重化によるバックアップを制御するための管理情報が設定される。
ペア名3001には、ペアの識別子が設定される。
正側VOLID3002には、正側記憶領域として設定された論理記憶領域の識別子が設定される。
正側差分BM3003には、正側の差分ビットマップを識別する情報が設定される。正側の差分ビットマップは、二重化停止中に正側記憶領域へ書き込みが発生した場合に、その書き込みの位置を管理するビットマップである(図4参照)。
副側VOLID3004には、副側記憶領域として設定された論理記憶領域の識別子が設定される。
副側差分BM3005には、副側の差分ビットマップを識別する情報が設定される。副側の差分ビットマップは、二重化停止中に副側記憶領域へ書き込みが発生した場合に、その書き込みの位置を管理するビットマップである(図4参照)。
正副入替許可3005には、物理記憶領域の入れ替えを許可するか否かを示す情報が設定される。物理記憶領域の入れ替えとは、例えば、正側記憶領域の残り書込み可能回数が副側記憶領域の残り書込み可能回数より小さい場合、正側記憶領域に対応付けられている物理記憶領域1011を新たに副側記憶領域に対応付け、副側記憶領域に対応付けられている物理記憶領域1011を新たに正側記憶領域に対応付ける処理である。入れ替えを許可する場合は正副入替許可3005に「true」が設定され、許可しない場合は正副入替許可3005に「false」が設定される。
上記の値を設定するために、設定プログラム1252はCLIを提供する。例えば、このCLIを用いてストレージ管理者は、「createPair -p LUN_1 -s LUN_2 -swap true pair1」といったコマンドを発行することができる。これは、「論理記憶領域LUN1を正記憶領域として、論理記憶領域LUN_2を副記憶領域としてペアpair1を定義せよ。また、残り書込み可能回数に応じて入れ替えを許可する。」という命令になる。この命令が実行された結果、図3の一行目に示す値がペア定義テーブル1032に設定される。具体的には、「pair1」はペア名3001に設定される。「LUN_1」は正側VOLID3002に設定される。「LUN_2」は副側VOLID3004に設定される。正副入替許可3005には「true」が設定される。
さらに、このペア定義時に、正側記憶領域用と副側記憶領域用の二つの差分ビットマップ1033が作成される。図3の一行目の例では、正側記憶領域用差分ビットマップの識別子「BM_1」が正側差分BM3003に設定され、副側記憶領域用差分ビットマップの識別子「BM_2」が副側差分BM3005に設定される。
図4は、本発明の第1の実施の形態の差分ビットマップ1033の説明図である。
差分ビットマップ1033は、ペアが分割されている状態(すなわち、二重化が停止している状態)において、各論理記憶領域に書き込みが発生した場合、どの位置に書き込みがなされたかを管理する情報である。本実施の形態の差分ビットマップ1033は、ブロック(1ブロック=1024byte)毎に書き込みの有無を管理しているが、それ以外の単位で管理されてもよい。ブロックアドレス4001には管理対象のブロックのアドレスが設定される。
更新有無4002には書き込みの有無を示す情報が設定される。具体的には、書き込みが発生した場合は「true」、発生していない場合は「false」が設定される。
本実施の形態の差分ビットマップ1033は、ペアが定義されると、ペアの正側記憶領域用と副側記憶領域用に対応してそれぞれ作成される。
ブロックアドレス4001には、ペア定義時に、書き込み有無の管理対象となるブロックの先頭アドレスが設定される。
更新有無4002の値は、ペアの同期が実行される際に参照される。その結果、値が「true」であるブロックに格納されているデータは、正側記憶領域から副側記憶領域へコピーされる。このコピー完了後、更新有無4002には「false」が設定される。また、ペアが分割されている状態で、記憶領域へ書き込みが発生すると、書き込み先のブロックに対応する更新有無4002の値として「true」が設定される。
図4の例では、ブロックアドレス4001として、少なくとも、「0」、「1024」及び「2048」が設定されている。そして、これらの値に対応する更新有無4002として、それぞれ、「false」、「true」及び「false」が設定されている。これは、ペアが分割され、同期が停止している間に、ブロックアドレス「0」を先頭とする1024バイトのブロック及びブロックアドレス「2048」を先頭とする1024バイトのブロックを対象とする書き込みが発生しておらず、ブロックアドレス「1024」を先頭とする1024バイトのブロックを対象とする書き込みが発生したことを示す。
図5は、本発明の第1の実施の形態の総書き込み回数管理テーブル1034の説明図である。
総書き込み回数管理テーブル1034には、物理記憶領域1011に対して実行された総書き込み回数を管理するための情報が設定される。物理VOLID5001には、物理記憶領域1011の識別子が設定される。総書き込み回数5002には、物理VOLID5001に示す物理記憶領域1011に対して既に実行された書き込みの回数が設定される。最大書き込み可能回数5003には、物理VOLID5001に示す物理記憶領域1011に対して実行することができる書き込み処理の回数の最大値が設定される。
物理VOLID5001は、物理記憶領域1011を導入する際に、ストレージマイクロプログラム1037を実行するCPU1023が、当該物理記憶領域1011を一意に識別する識別子を割り振ることによって設定される。
最大書き込み可能回数5003には、物理記憶領域1011を導入する際に、システム管理者によって入力される情報、又は、物理記憶領域1011が提供する情報が設定される。
例えば、システム管理者は、管理計算機1200の設定プログラム1252を実行することによって、最大書き込み可能回数5003をストレージコントローラ1020に入力してもよい。ストレージコントローラ1020は、入力された値を最大書き込み可能回数5003に設定する。
総書き込み回数5002には、物理記憶領域1011の導入時に「0」が設定される。そして、ホスト計算機1100からのWrite命令、又は、二重化管理プログラムを実行するCPU1023からのデータコピー命令によって物理記憶領域1011への書き込みが発生する度に、総書き込み回数管理プログラム1035によってインクリメントされていく。
なお、本実施の形態において、最大書込み可能回数5003は物理記憶領域1011の寿命である。しかし、本発明の別の実施形態において、書き込み回数に依存して性能が劣化するような物理記憶領域1011が使用される場合、何回の書き込みによる性能劣化まで許容されるかを示す値(言い換えると、許容される性能劣化を引き起こす書き込み回数の最大値)が、最大書き込み可能回数5003に設定されてもよい。
本実施の形態において、総書き込み回数管理テーブル1034は、ストレージコントローラ1020内のメインメモリ1025に格納される。しかし、総書き込み回数管理テーブル1034は、計算機システム内のいずれの部分が保持してもよい。例えば、ストレージ装置1010又は管理計算機1200が総書き込み回数管理テーブル1034を保持してもよい。
(2)第1の実施の形態の動作
次に、本実施の形態の動作について説明する。
図6は、本発明の第1の実施の形態の総書き込み回数管理プログラム1035を実行するCPU1023によって実行される書き込み処理のフローチャートである。
具体的には、図6は、総書き込み回数管理プログラム1035を実行するCPU1023が、Write命令を受け取ったときに実行する処理である。このWrite命令は、ホスト計算機1100が論理記憶領域を対象として発行するWrite命令であっても、二重化管理プログラム1036を実行するCPU1023がペアの同期のために実行するデータコピーによって発生する論理記憶領域へのWrite命令であってもよい。
まず、CPU1023は、論理記憶領域へのWrite命令を受け取る(ステップ6010)。このWrite命令には、書き込み先論理記憶領域の識別子と書き込み先ブロックアドレスが含まれる。
次に、CPU1023は、論理物理マッピングテーブル1031を参照し、論理記憶領域に対応する物理記憶領域1011の識別子を取得する(ステップ6020)。
次に、CPU1023は、総書き込み回数管理テーブル1034を参照し、ステップ6020にて取得した識別子を割り振られている物理記憶領域1011の総書き込み回数5002をインクリメントする(ステップ6030)。
最後に、CPU1023は、ステップ6020にて取得した識別子を割り振られている物理記憶領域1011にデータを書き込む(ステップ6040)。このとき、書き込み先のブロックアドレスは、ステップ6010にて受け取ったWrite命令に含まれていたブロックアドレスとなる。
以上が、論理記憶領域へのWrite命令を受け取った時の、総書き込み回数管理プログラム1035を実行するCPU1023の動作である。
図7は、本発明の第1の実施の形態の二重化管理プログラム1036を実行するCPU1023によって実行される二重化再開処理のフローチャートである。
具体的には、図7は、二重化管理プログラム1036を実行するCPU1023が、バックアップ管理プログラム1251から二重化を再開する命令を受け取ったときに実行する処理である。
まず、CPU1023は、運用中データの二重化を再開する命令を受け取る(ステップ7010)。この命令には、同期を実行する対象のペア名が含まれる。
次に、CPU1023は、差分データをコピーする(ステップ7020)。具体的には、CPU1023は、ペア定義テーブル1032を参照し、同期が実行されるペアに対応する差分ビットマップ1033を特定する。このとき、正側記憶領域及び副側記憶領域のそれぞれに対応する二つの差分ビットマップが特定される。二つの差分ビットマップのいずれかに、更新有無4002の値が「true」であるブロックが存在する場合、CPU1023は、そのブロックに格納されているデータを正側記憶領域から副側記憶領域へコピーする。
CPU1023は、差分ビットマップ内のアドレスを全てチェックしたと判定した場合、正側記憶領域に格納されたデータと副側記憶領域に格納されたデータとが同一になったと認識し、正側記憶領域と副側記憶領域の入れ替えの要否を判定する(ステップ7030及び7040参照)。
次に、CPU1023は、総書き込み回数管理テーブル1034を参照し、各論理記憶領域に対応する物理記憶領域1011の物理VOLID5001に対応する総書き込み回数5002及び最大書き込み可能回数5003を取得する(ステップ7030)。
次に、CPU1023は、取得した最大書き込み可能回数及び総書き込み回数から、各物理記憶領域1011の残り書き換え可能回数を算出する。具体的には、最大書き込み可能回数から総書き込み回数を減算することによって、残り書き換え可能回数が算出される。そして、CPU1023は、正側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数と、副側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数と、を比較する(ステップ7040)。
ステップ7040にて正側記憶領域の残り書き換え可能回数が多いと判定された場合、書き込み回数を平準化するためには、現在正側記憶領域として設定されている記憶領域を引き続き正側記憶領域として使用することが望ましい。このため、CPU1023は、正側と副側の記憶領域を入れ替える必要がないと判定し、入れ替えを実行せずに処理を終了する。
一方、ステップ7040にて副側記憶領域の残り書き換え可能回数が多いと判定された場合、書き換え回数を平準化するために、正側と副側の記憶領域を入れ替えることが望ましい。この場合、CPU1023は、正側と副側の記憶領域を入れ替える必要があると判定する。そして、CPU1023は、ペア定義テーブル1032を参照し、正側記憶領域にマッピングされている物理記憶領域と、副側記憶領域にマッピングされている物理記憶領域と、の入れ替えが許可されているか否かを判定する(ステップ7050)。
ステップ7050にて、入れ替えが許可されていないと判定された場合、CPU1023は処理を終了する。
一方、入れ替えが許可されている場合、CPU1023は、論理物理マッピングテーブル1031を参照し、正側記憶領域の物理VOLIDと副側記憶領域の物理VOLIDと、を入れ替える(ステップ7060)。そして、CPU1023は処理を終了する。
上記の二重化再開処理は、前回の正側と副側の記憶領域の入れ替えが実行された後で実行された書き込み処理の回数が、所定の回数となったことを契機として実行されてもよい。
ここで、書き込み処理の具体例を、図2から図5を参照して説明する。図3の例では、ペア「pair1」において、論理記憶領域「LUN_1」が正側記憶領域であり、論理記憶領域「LUN_2」が副側記憶領域である。図2の例では、論理記憶領域「LUN_1」及び「LUN_2」が、それぞれ、物理記憶領域「PDEV_1」及び「PDEV_2」に対応する。図5の例では、物理記憶領域「PDEV_1」の残り書き換え可能回数は、500000000から10000を減算した499990000である。一方、物理記憶領域「PDEV_2」の残り書き換え可能回数は、500000000から100を減算した499999900である。
この場合、図7のステップ7040において、副側記憶領域の残り書き換え可能回数が多いと判定される。図3に示すように、ペア「pair1」の正副入れ替えが許可されているため、ステップ7060において、正側記憶領域の物理VOLIDと副側記憶領域の物理VOLIDとが入れ替えられる。具体的には、図2に示す論理物理マッピングテーブル1031において、論理VOLID2001の値「LUN_1」に対応する物理VOLIDの値が、「PDEV_2」に更新される。一方、論理VOLID2001の値「LUN_2」に対応する物理VOLIDの値が、「PDEV_1」に更新される。
その結果、例えば、ホスト計算機1100が論理記憶領域「LUN_1」にデータを書き込む要求を発行した場合、ストレージマイクロプログラム1037は、そのデータを物理記憶領域「PDEV_2」に書き込む。さらに、ストレージマイクロプログラム1037は、物理記憶領域「PDEV_2」に書き込まれたデータを、論理記憶領域「LUN_2」に対応する物理記憶領域「PDEV_1」にコピーする。このようにして正側と副側の物理記憶領域1011が入れ替えられ、書き込み回数が平準化される。
図2に示すように、キャッシュ常駐2003等の属性は、論理記憶領域に付与される。このため、ステップ7040において正側と副側の物理記憶領域1011が入れ替えられた結果、各物理記憶領域1011に対応する属性も入れ替えられる。
例えば、上記のように、論理記憶領域「LUN_1」に対応する物理記憶領域が「PDEV_1」から「PDEV_2」に変更されても、論理記憶領域「LUN_1」に対応する属性であるキャッシュ常駐2003の値は、依然として「0〜1024」のままである。同様に、論理記憶領域「LUN_2」に対応する物理記憶領域が「PDEV_2」から「PDEV_1」に変更されても、論理記憶領域「LUN_2」に対応する属性であるキャッシュ常駐2003の値は、依然として「off」のままである。その結果、物理記憶領域「PDEV_1」に対応するキャッシュ常駐2003の値が「0〜1024」から「off」に変更され、物理記憶領域「PDEV_2」に対応するキャッシュ常駐2003の値が「off」から「0〜1024」に変更される。
なお、ステップ7040において、正側記憶領域の残り書き換え可能回数と副側記憶領域の残り書き換え可能回数が同じであると判定された場合、正側と副側の物理記憶領域1011が入れ替えられても入れ替えられなくてもよい。本実施の形態では、残り書き換え可能回数が同じである場合、正側と副側の物理記憶領域1011の入れ替えが実行されない。
上記図7の説明では、最大書き込み回数から総書き込み回数を減算することによって残り書き換え可能回数が算出され、物理記憶領域1011の入れ替えを実行するか否かが判定された(ステップ7040)。しかし、いかなる方法で残り書き換え可能回数を算出又は推定しても、本発明を実施することができる。
例えば、正側と副側の物理記憶領域1011が同種の記憶媒体によって構成される場合、両者の最大書き込み可能回数5003は同じであると推定される。このため、CPU1023は、ステップ7040において正側と副側の総書き込み回数5002を比較し、その値が少ない側の物理記憶領域1011の残り書き換え可能回数が多いと判定してもよい。すなわち、ステップ7040において正側と副側の総書き込み回数5002を比較することが、正側と副側の残り書き換え可能回数を比較することに相当する。
あるいは、書き込み回数の代わりに、消去回数に基づいて残り書き換え可能回数が算出されてもよい。フラッシュメモリにデータが書き込まれる前に、そのデータの書き込み先の領域に既に書き込まれているデータを消去する処理が実行される。フラッシュメモリの寿命は、この消去処理の回数に依存する。
このため、例えば、総書き込み回数管理テーブル(図5)の総書き込み回数5002の代わりに総消去回数が設定され、最大書き込み可能回数5003の代わりに最大消去可能回数が設定されてもよい。総消去回数は、実際に実行された消去処理の回数であり、最大消去可能回数は、実行可能な消去処理の回数の最大値である。この場合、ステップ7040において、最大消去可能回数から総消去回数を減算した値が多い物理記憶領域1011の残り書き換え可能回数が多いと判定される。すなわち、ステップ7040において残り消去可能回数を比較することが、正側と副側の残り書き換え可能回数を比較することに相当する。
あるいは、総消去回数のみに基づいてステップ7040の判定が実行されてもよい。正側と副側の物理記憶領域1011が同種の記憶媒体によって構成される場合、両者の最大消去可能回数は同じであると推定される。このため、CPU1023は、ステップ7040において正側と副側の総消去回数を比較し、その値が少ない側の物理記憶領域1011の残り書き換え可能回数が多いと判定してもよい。すなわち、ステップ7040において正側と副側の総消去回数を比較することが、正側と副側の残り書き換え可能回数を比較することに相当する。
あるいは、正側と副側の物理記憶領域1011の性能を比較し、その比較の結果に基づいてステップ7040の判定が実行されてもよい。物理記憶領域1011の性能とは、例えば、物理記憶領域1011にデータを書き込む際のWrite性能である。フラッシュメモリには、データの消去が実行された回数に依存してWrite性能が低下する性質がある。このため、CPU1023は、Write性能を監視し、ステップ7040において、正側物理記憶領域1011のWrite性能と副側物理記憶領域1011のWrite性能とを比較してもよい。
この場合、ステップ7040において、Write性能が高い側の物理記憶領域1011の残り書き換え可能回数が多いと判定される。すなわち、ステップ7040において正側と副側の性能を比較することが、正側と副側の残り書き換え可能回数を比較することに相当する。ステップ7040における比較の対象は、Write性能以外のいかなる性能であってもよい。
なお、二重化が実行されている状態であっても、正側記憶領域と副側記憶領域に非同期に書き込みが行われることを原因として、二つの記憶領域に格納されるデータが同期している状態を維持することが難しい場合がある。この場合、別の実施形態として、ステップ7010の直後に、ホスト計算機1100からのwrite命令を保留するステップ(図示省略)を追加し、さらに、二重化再開処理の終了直前にホスト計算機1100からのwrite命令保留を解除するステップ(図示省略)を追加することによって、本発明を実施することが可能になる。
以上が本発明の第1の実施の形態の説明である。第1の実施の形態によれば、運用中データ格納用の記憶領域への総書き込み回数と、バックアップデータ格納用の記憶領域の総書き込み回数と、が平準化され、データの二重化によるバックアップに使用される記憶媒体の交換間隔を延長することができる。その結果、バックアップ運用管理のメンテナンスコストを下げることができる。
次に、本発明の第2の実施の形態について説明する。本実施の形態では、第1の実施の形態と同様、正側記憶領域に対応する物理記憶領域の残り書き換え可能回数と、副側記憶領域に対応する物理記憶領域の残り書き換え可能回数と、が比較される。そして、正側記憶領域に対応する物理記憶領域の残り書き換え可能回数が、副側記憶領域に対応する物理記憶領域の残り書き換え可能回数よりも少ないときに、物理記憶領域が入れ替えられる。しかし、本実施の形態は、ストレージシステム1000に保持された二重化管理プログラム1036が上記の比較及び入れ替えを実行する機能を備えない点において、第1の実施の形態と異なる。本実施の形態では、管理計算機1200に保持されたバックアップ管理プログラム1251が、上記の比較及び入れ替えを実行する機能を提供することによって、本発明を適用可能であることを例証する。
(3)第2の実施の形態のシステム構成
図8は、本発明の第2の実施の形態のホスト計算機1100の構成を示すブロック図である。
本実施の形態の計算機システムの構成は、ホスト計算機1100を除いて、第1の実施の形態と同様である。このため、以下、ホスト計算機1100の構成のみを説明する。
本実施の形態では、ホスト計算機1100のメモリ1160に、アプリケーション1161に加えてパス管理プログラム1162及びパス管理テーブル1163が格納される。
パス管理プログラム1162は、ホスト計算機1100が利用する論理記憶領域へのパスを管理するためのプログラムである。一般的なパス管理ソフトウェアと同様、パス管理プログラム1162は、パスの切り替えを行う機能とアプリケーション1161からのI/O命令を保留する機能とを有する。パス管理プログラム1162は、管理者又は他のプログラムがパス管理プログラム1162を実行できるように、インタフェースとしてCLI等を提供する。
パス管理プログラム1162のパスの切り替え機能の概要は次の通りである。
パス管理プログラム1162を実行するCPU1130は、パス管理テーブル1163を参照して、仮想的なパスをアプリケーション1161へ提供する。そして、アプリケーション1161が発行したこの仮想的なパスへのI/O命令を、当該仮想的なパスへ対応付けられた実際のパスへ転送する。この仮想的なパスと実際のパスとの対応付けを変更することによって、アプリケーション1161に影響なくパスを変更することができる。
図10は、本発明の第2の実施の形態のパス管理テーブル1163の説明図である。
パス管理テーブル1163は、論理記憶領域への実際のパスと、アプリケーション1161が利用する仮想的なパスとをマッピングするテーブルである。パス管理プログラム1162を実行するCPU1130が、パス管理テーブル1163に値を設定する。アプリケーション1161が利用する仮想的なパスとは、アプリケーション1161がI/O命令を発行するときに指定するパスである。
仮想パス10001には、パス管理プログラム1162がアプリケーション1161へ提供する仮想的なパス情報が設定される。実パス10002には、仮想パス10001が示す仮想的なパスに対応して、論理記憶領域にアクセスするための実際のパス情報が設定される。これらの情報を設定するために、パス管理プログラム1162はCLIを提供する。例えば、管理者は「setPath v_path V_P1_T1_L1 -path P1_T1_L1」のようなコマンドを発行することができる。これは、「仮想パスV_P1_T1_L1に対し、ポートIDが1、ターゲットIDが1、LUNが1というパスを設定せよ」という命令となる。このV_P1_T1_L1が仮想パス10001に設定され、P1_T1_L1が実パス10002に設定される。
(4)第2の実施の形態の動作
以下、本実施の形態において実行される処理のうち、第1の実施の形態と相違する処理について説明する。以下に説明しない点は、第1の実施の形態と同様である。
最初に、本実施の形態における二重化管理プログラム1036を実行するCPU1023の動作を、第1の実施の形態(図7)と対比して説明する。
第1の実施の形態の二重化管理プログラム1036は、正側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数と、副側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数と、を比較する処理を含み(ステップ7040)、さらに、正側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数が、副記憶領域に対応する物理記憶領域1011の残り書き換え可能回数よりも少ないときに、各物理記憶領域1011を入れ替える処理を含む(ステップ7060)。
しかし、第2の実施の形態の二重化管理プログラム1036は、上記の比較及び入れ換えのいずれの処理も含まない。つまり、本実施の形態における二重化管理プログラム1036を実行するCPU1023は、図7で説明したステップ7020の処理を実行した後、ステップ7030から7060までを実行せずに、処理を終了する。
次に、バックアップ管理プログラムを実行するCPU1230が、新規バックアップデータを取得する際の動作を、図9を参照して説明する。
図9は、本発明の第2の実施の形態のバックアップ管理プログラム1251を実行するCPU1230によって実行されるバックアップ処理のフローチャートである。
まず、CPU1230は、新規バックアップデータ取得タイミングに、ペアの二重化を再開するために、二重化管理プログラム1036を実行するCPU1023にペアの同期を要求する(ステップ9010)。
次に、CPU1230は、パス管理プログラム1162を実行するCPU1130に、アプリケーション1161からのI/O命令を保留するように要求する。(ステップ9020)。
次に、CPU1230は、正側記憶領域のデータと副側記憶領域のデータが同期するまで待つ(ステップ9030)。ここでは、CPU1230は、正側記憶領域のデータと副側記憶領域のデータが同期したことを確認するために、二重化管理プログラム1036を実行するCPU1023に定期的に問い合わせる。CPU1230は、CPU1023からデータが同期したことを示す応答を受け取ると、正側記憶領域に格納されたデータと副側記憶領域に格納されたデータとが同一となったと認識する。そして、CPU1230は、正側記憶領域と副側記憶領域の入れ替えの要否を判定する(ステップ9040及び9050参照)。
次に、CPU1230は、同期したことを確認した後、総書き込み回数管理プログラム1035を実行するCPU1023から、正側記憶領域に対応する物理記憶領域1011の総書き込み回数と、その物理記憶領域1011の最大書込み可能回数と、副記憶領域に対応する物理記憶領域1011の総書き込み回数と、その物理記憶領域1011の最大書き込み可能回数と、を取得する(ステップ9040)。具体的には、CPU1023が総書き込み回数管理テーブル1023を参照して総書き込み回数5002及び最大書き込み可能回数5003を取得し、管理I/F1021及び管理ネットワーク1400を介して管理計算機1200に送信する。
次に、CPU1230は、取得した最大書き込み可能回数及び総書き込み回数から、各物理記憶領域1011の残り書き換え可能回数を算出する。具体的には、最大書き込み可能回数から総書き込み回数を減算することによって、残り書き換え可能回数が算出される。そして、CPU1230は、正側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数と、副側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数と、を比較する(ステップ9050)。
ステップ9050において、正側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数が副側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数以上であると判定された場合、CPU1230は、正側と副側の物理記憶領域1011を入れ替える必要がないと判定する。この場合、CPU1230は、パス管理プログラム1162を実行するCPU1130に、ステップ9020にて要求したI/O命令の保留の解除を要求する(ステップ9090)。
次に、CPU1230は、二重化管理プログラム1036を実行するCPU1023にペアの分割(すなわち、二重化の停止)を要求し(ステップ9100)、処理を終了する。
一方、ステップ9050において、正側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数が副側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数より少ないと判定された場合、CPU1230は、正側と副側の物理記憶領域1011を入れ替える必要があると判定する。この場合、CPU1230は、パス管理プログラム1162を実行するCPU1130に、アクセスパスの接続先を、正側VOLID3002によって識別される正側記憶領域から、副側VOLID3004によって識別される副側記憶領域に切り替えるように要求する(ステップ9060)。この要求を受け取ったパス管理プログラム1162を実行するCPU1130は、パス管理テーブル1163の実パス10002の値を書き換えることによって、パスを切り替える。
次に、CPU1230は、ストレージマイクロプログラム1037を実行するCPU1023へ、ペアの定義を変更するように要求する(ステップ9070)。具体的には、CPU1230は、ペア定義テーブル1032の正側VOLID3002の値と副側VOLID3004の値とを入れ替えるように要求する。
次に、CPU1230は、ストレージマイクロプログラム1037を実行するCPU1023へ、正側VOLID3002に設定されていた属性と、副側VOLID3004に設定されていた属性と、を入れ替えるように要求する(ステップ9080)。
ここで、属性とは、例えば、図2に示すキャッシュ常駐2003である。ある記憶領域の一部又は全部の領域に対するアクセス頻度が高い場合、その領域に格納されているデータを全て高速なキャッシュメモリ(図示省略)にコピーすることによって、多くのアクセスがキャッシュメモリに対して実行され、処理が高速になる。
正側記憶領域はホスト計算機1100からのアクセスを受けるため、正側記憶領域のデータをキャッシュメモリにコピーすることによってアクセスの高速化が期待できる。しかし、副側記憶領域はホスト計算機1100からのアクセスを受けないため、通常、副側記憶領域のデータをキャッシュメモリにコピーする必要はない。しかし、ステップ9060及び9070の結果、副側記憶領域であった領域が新たな正側記憶領域となり、ホスト計算機1100からのアクセスを受けるようになる。このため、新たな正側記憶領域のデータをキャッシュメモリにコピーすることによって、アクセスが高速化される。したがって、正側記憶領域に、データをキャッシュメモリにコピーすることを示す属性が設定されていた場合、正側記憶領域と副側記憶領域の入れ替えが実行されるときに、それぞれの領域に設定されていた属性も入れ替えることによって、所定の性能又は機能が維持される。
以上、属性が、キャッシュ常駐2003である場合を例として説明したが、各記憶領域には、その他のいかなる属性が設定されていてもよい。その場合も、それぞれの領域に設定されていた属性を入れ替えることによって、所定の性能又は機能が維持される。
その後、既に説明したステップ9090以降の処理が続行される。
通常のバックアップ運用において、バックアップ処理は、所定の間隔で、あるいは、管理者が定めたバックアップ間隔で実行される。しかし、本実施の形態では、前回のバックアップ処理が実行された後、所定の時間が経過し、かつ、書き込み回数が所定の回数に達したときに、コピーコマンドが発行されてもよい。その結果、上記のバックアップ処理が実行され、正側と副側の記憶領域が入れ替えられる。
ここで、書き込み処理の具体例を、図2から図5及び図10を参照して説明する。図3の例では、ペア「pair1」において、論理記憶領域「LUN_1」が正側記憶領域であり、論理記憶領域「LUN_2」が副側記憶領域である。図2の例では、論理記憶領域「LUN_1」及び「LUN_2」が、それぞれ、物理記憶領域「PDEV_1」及び「PDEV_2」に対応する。図5の例では、物理記憶領域「PDEV_1」の残り書き換え可能回数は、500000000から10000を減算した499990000である。一方、物理記憶領域「PDEV_2」の残り書き換え可能回数は、500000000から100を減算した499999900である。
さらに、図10の例では、仮想パス「V_P1_T1_L1」と実パス「P1_T1_L1」とが対応付けられている。この例において、実パス「P1_T1_L1」は、ホスト計算機1100から論理記憶領域「LUN_1」に至るパスである。この場合、アプリケーション1161が仮想パス「V_P1_T1_L1」に対して書き込み要求を発行すると、パス管理プログラム1162は、その書き込み要求を、実パス「P1_T1_L1」に転送する。その結果、論理記憶領域「LUN_1」に対する書き込みが実行される。論理記憶領域「LUN_1」に書き込まれるデータは、実際には、物理記憶領域「PDEV_1」に書き込まれる。
この場合、図9のステップ9050において、副側記憶領域の残り書き換え可能回数が多いと判定される。そして、ステップ9060において、パスの切り替え要求が発行される。
この要求を受けたCPU1130は、パス管理プログラム1162を実行して、パス管理テーブル1163の仮想パス「V_P1_T1_L1」に対応する実パス10002の値を、「P1_T1_L1」から「P1_T1_L2」に更新する。その結果、仮想パス「V_P1_T1_L1」には、新たに、実パス「P1_T1_L2」が対応付けられる。実パス「P1_T1_L2」は、ホスト計算機1100から論理記憶領域「LUN_2」に至るパスである。その後、アプリケーション1161が仮想パス「V_P1_T1_L1」に対する書き込み要求(すなわち、論理記憶領域「LUN_1」を対象とする書き込み要求)を発行すると、パス管理プログラム1162は、その要求を実パス「P1_T1_L2」に転送する。その結果、論理記憶領域「LUN_2」に対する書き込みが実行される。論理記憶領域「LUN_2」に書き込まれるデータは、実際には、ストレージマイクロプログラム1037によって、物理記憶領域「PDEV_2」に書き込まれる。
次に、図9のステップ9070において、ペア定義変更要求が発行される。この要求を受けたCPU1023は、ストレージマイクロプログラム1037を実行して、ペア定義テーブル1032の「LUN_1」と「LUN_2」とを入れ替える。その結果、ペア名「pair1」に対応する正側VOLID3002に「LUN _2」が設定され、副側VOLID3004に「LUN_1」が設定される。その結果、論理記憶領域「LUN_2」が正側、論理記憶領域「LUN_1」が副側となる。
その結果、例えば、アプリケーション1161が論理記憶領域「LUN_1」にデータを書き込む要求を発行した場合、そのデータは、実際には物理記憶領域「PDEV_2」に書き込まれる。二重化が停止していない場合、物理記憶領域「PDEV_2」に書き込まれたデータは、物理記憶領域「PDEV_1」にコピーされる。このようにして正側と副側の物理記憶領域1011が入れ替えられ、書き込み回数が平準化される。
なお、上記のステップ9050の判定は、最大書き込み可能回数から総書き込み回数を減算することによって算出される残り書き換え可能回数に基づいて実行される。しかし、本発明の第1の実施の形態と同様、この判定は、総書き込み回数、消去回数又は性能に基づいて実行されてもよい(図7の説明参照)。
上記の第2の実施の形態は、正側と副側の記憶領域が同一のストレージシステム1000に格納されている場合を例として説明した。しかし、計算機システムが、データネットワーク1300に接続された複数のストレージシステム1000を備え、一つのペアに属する正側の記憶領域と副側の記憶領域とが異なるストレージシステム1000に格納されている場合にも、上記の第2の実施の形態を実施することができる。
以上が本発明の第2の実施の形態の説明である。第2の実施の形態によれば、管理計算機1200が、正側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数と副側記憶領域に対応する物理記憶領域1011の残り書き換え可能回数とを比較する処理を実行する。さらに、管理計算機1200は、上記の比較の結果、前者の残り書き換え可能回数が後者の残り書き換え可能回数よりも少ないときに、各物理記憶領域1011を入れ替える処理を実行する。このため、上記の比較及び入れ替えの処理をストレージシステムが実行することができない場合であっても、本発明を適用することができる。その結果、運用中データ格納用の記憶領域への総書き込み回数とバックアップデータ格納用の記憶領域の総書き込み回数とが平準化され、データの二重化によるバックアップに使用される記憶媒体の交換時期を延長することができる。その結果、バックアップ運用管理のメンテナンスコストを下げることができる。
本発明の第1の実施の形態の計算機システムの構成を示すブロック図である。 本発明の第1の実施の形態の論理物理マッピングテーブルの説明図である。 本発明の第1の実施の形態のペア定義テーブルの説明図である。 本発明の第1の実施の形態の差分ビットマップの説明図である。 本発明の第1の実施の形態の総書き込み回数管理テーブルの説明図である。 本発明の第1の実施の形態の総書き込み回数管理プログラムを実行するCPUによって実行される書き込み処理のフローチャートである。 本発明の第1の実施の形態の二重化管理プログラムを実行するCPUによって実行される二重化再開処理のフローチャートである。 本発明の第2の実施の形態のホスト計算機の構成を示すブロック図である。 本発明の第2の実施の形態のバックアップ管理プログラムを実行するCPUによって実行されるバックアップ処理のフローチャートである。 本発明の第2の実施の形態のパス管理テーブルの説明図である。 一つの物理記憶領域1011として一つのフラッシュメモリを備える本発明の第1の実施の形態のストレージシステム1000の構成を示すブロック図である。 一つの物理記憶領域1011として一つ以上のフラッシュメモリ及び制御装置を備える本発明の第1の実施の形態のストレージシステム1000の構成を示すブロック図である。
符号の説明
1000 ストレージシステム
1010 ストレージ装置
1011 物理記憶領域
1020 ストレージコントローラ
1021、1150、1210 管理インタフェース(管理I/F)
1022、1110 データインタフェース(データI/F)
1023、1130、1230 CPU
1024 ストレージインタフェース(ストレージI/F)
1025 メインメモリ
1031 論理物理マッピングテーブル
1032 ペア定義テーブル
1033 差分ビットマップ
1034 総書き込み回数管理プログラム
1110 ホスト計算機
1120、1220 表示装置
1140、1240 入力装置
1160、1250 メモリ
1163 パス管理テーブル
1200 管理計算機
1300 データネットワーク
1400 管理ネットワーク

Claims (20)

  1. ネットワークを介してホスト計算機と接続されるストレージシステムにおいて、
    前記ストレージシステムは、前記ホスト計算機から書き込まれたデータを格納する複数の物理記憶領域と、前記物理記憶領域に対するデータの書き込み及び読み出しを制御するコントローラと、を備え、
    前記複数の物理記憶領域は、少なくとも、データを二重化して格納するための第1物理記憶領域及び第2物理記憶領域を含み、
    前記第1物理記憶領域は、前記ホスト計算機から書き込まれるデータを格納する正側記憶領域として設定され、前記第2物理記憶領域は、同期することによって前記正側記憶領域に設定された前記物理記憶領域と同一のバックアップデータを格納する副側記憶領域として設定され、
    前記コントローラは、
    前記第1物理記憶領域の残り書き換え可能回数と前記第2物理記憶領域の残り書き換え可能回数とを比較し、
    前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第1物理記憶領域の設定を前記副側記憶領域に変更し、前記第2物理記憶領域の設定を前記正側記憶領域に変更することを特徴とするストレージシステム。
  2. 前記コントローラは、
    前記各物理記憶領域に対して実行することができる書き込み処理の回数の最大値である最大書き込み可能回数と、前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数と、を保持し、
    前記最大書き込み可能回数から前記総書き込み回数を減算することによって前記残り書き換え可能回数を算出することを特徴とする請求項1に記載のストレージシステム。
  3. 前記コントローラは、
    前記最大書き込み可能回数の入力を受け付け、
    前記入力された最大書き込み可能回数を保持することを特徴とする請求項2に記載のストレージシステム。
  4. 前記コントローラは、
    前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数を保持し、
    前記第1物理記憶領域の総書き込み回数が前記第2物理記憶領域の総書き込み回数より多い場合、前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ないと判定することを特徴とする請求項1に記載のストレージシステム。
  5. 前記ストレージシステムは、さらに、キャッシュメモリを備え、
    前記コントローラは、前記物理記憶領域に格納されるデータを前記キャッシュメモリに保持するためのキャッシュ機能の有効又は無効を示す属性を設定可能であり、
    前記正側記記憶領域として設定される前記第1物理記憶領域には、前記キャッシュ機能が有効であることを示す前記属性が設定され、前記副側記憶領域として設定される前記第2物理記憶領域には、前記キャッシュ機能が無効であることを示す前記属性が設定され、
    前記コントローラは、前記第1物理記憶領域の設定を前記副側記憶領域に変更し、前記第2物理記憶領域の設定を前記正側記憶領域に変更する場合に、さらに、前記第1物理記憶領域に設定されていた前記属性と、前記第2物理記憶領域に設定されていた前記属性とを入れ替えることを特徴とする請求項1に記載のストレージシステム。
  6. 前記コントローラは、
    前記正側記憶領域である第1論理記憶領域と前記第1物理記憶領域とを対応付けることによって前記第1物理記憶領域を前記正側記憶領域として設定し、
    前記副側記憶領域である第2論理記憶領域と前記第2物理記憶領域とを対応付けることによって前記第2物理記憶領域を前記副側記憶領域として設定し、
    前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第1論理記憶領域を前記第2物理記憶領域に対応付け、前記第2論理記憶領域を前記第1物理記憶領域に対応付けることによって、前記第1物理記憶領域の設定を前記副側記憶領域に変更し、前記第2物理記憶領域の設定を前記正側記憶領域に変更することを特徴とする請求項1に記載のストレージシステム。
  7. 前記第1物理記憶領域及び第2物理記憶領域が、それぞれ、一つ以上のフラッシュメモリであることを特徴とする請求項1に記載のストレージシステム。
  8. ホスト計算機と、前記ホスト計算機とネットワークを介して接続される一つ以上のストレージシステムと、前記ホスト計算機及び前記ストレージシステムと接続される管理計算機と、を備える計算機システムにおいて、
    前記ホスト計算機は、前記ネットワークに接続される第1インタフェースと、前記第1インタフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1メモリと、を備え、
    前記管理計算機は、第2インタフェースと、前記第2インタフェースに接続される第2プロセッサと、前記第2プロセッサに接続される第2メモリと、を備え、
    前記一つ以上のストレージシステムは、前記ホスト計算機から書き込まれたデータを格納する複数の物理記憶領域と、前記物理記憶領域に対するデータの書き込み及び読み出しを制御するコントローラと、を備え、
    前記複数の物理記憶領域は、少なくとも、データを二重化して格納するための第1物理記憶領域及び第2物理記憶領域を含み、
    前記第1物理記憶領域は、前記ホスト計算機から書き込まれるデータを格納する正側記憶領域として設定され、前記第2物理記憶領域は、同期することによって前記正側記憶領域に設定された前記物理記憶領域と同一のバックアップデータを格納する副側記憶領域として設定され、
    前記第2プロセッサは、
    前記第1物理記憶領域の残り書き換え可能回数と前記第2物理記憶領域の残り書き換え可能回数とを比較し、
    前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ない場合、前記第1物理記憶領域の設定を前記副側記憶領域に変更し、前記第2物理記憶領域の設定を前記正側記憶領域に変更することを前記コントローラに要求することを特徴とする計算機システム。
  9. 前記計算機システムは、前記各物理記憶領域に対して実行することができる書き込み処理の回数の最大値である最大書き込み可能回数と、前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数と、を保持し、
    前記第2プロセッサは、前記最大書き込み可能回数と、前記総書き込み回数と、を取得し、
    前記最大書き込み可能回数から前記総書き込み回数を減算することによって前記残り書き換え可能回数を算出することを特徴とする請求項8に記載の計算機システム。
  10. 前記コントローラは、前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数を保持し、
    前記第2プロセッサは、前記第1物理記憶領域の総書き込み回数が前記第2物理記憶領域の総書き込み回数より多い場合、前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ないと判定することを特徴とする請求項8に記載の計算機システム。
  11. 前記ストレージシステムは、さらに、キャッシュメモリを備え、
    前記コントローラは、前記物理記憶領域に格納されるデータを前記キャッシュメモリに保持するためのキャッシュ機能の有効又は無効を示す属性を設定可能であり、
    前記正側記記憶領域として設定される前記第1物理記憶領域には、前記キャッシュ機能が有効であることを示す前記属性が設定され、前記副側記憶領域として設定される前記第2物理記憶領域には、前記キャッシュ機能が無効であることを示す前記属性が設定され、
    前記第2プロセッサは、前記第1物理記憶領域の設定を前記副側記憶領域に変更し、前記第2物理記憶領域の設定を前記正側記憶領域に変更することを前記コントローラに要求する場合に、さらに、前記第1物理記憶領域に設定されていた前記属性と、前記第2物理記憶領域に設定されていた前記属性とを入れ替えることを前記コントローラに要求することを特徴とする請求項8に記載の計算機システム。
  12. 前記コントローラは、
    前記正側記憶領域である第1論理記憶領域と前記第1物理記憶領域とを対応付けることによって前記第1物理記憶領域を前記正側記憶領域として設定し、
    前記副側記憶領域である第2論理記憶領域と前記第2物理記憶領域とを対応付けることによって前記第2物理記憶領域を前記副側記憶領域として設定し、
    前記第1プロセッサは、第1仮想経路に対してデータ書き込み要求を発行し、
    前記第2プロセッサは、
    前記ホスト計算機から前記第1論理記憶領域に至るアクセス経路が前記第1仮想経路に対応付けられているときに、前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第1仮想経路を、前記ホスト計算機から前記第2論理記憶領域に至るアクセス経路と対応付けることを前記第1プロセッサに要求し、
    前記第1論理記憶領域を前記副側記憶領域に変更し、前記第2論理記憶領域を前記正側記憶領域に変更することを前記コントローラに要求することを特徴とする請求項8に記載の計算機システム。
  13. 前記第1物理記憶領域及び第2物理記憶領域が、それぞれ、一つ以上のフラッシュメモリであることを特徴とする請求項8に記載の計算機システム。
  14. ホスト計算機と、前記ホスト計算機とネットワークを介して接続される一つ以上のストレージシステムと、前記ホスト計算機及び前記ストレージシステムと接続される管理計算機と、を備える計算機システムの制御方法であって、
    前記ホスト計算機は、前記ネットワークに接続される第1インタフェースと、前記第1インタフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1メモリと、を備え、
    前記管理計算機は、第2インタフェースと、前記第2インタフェースに接続される第2プロセッサと、前記第2プロセッサに接続される第2メモリと、を備え、
    前記一つ以上のストレージシステムは、前記ホスト計算機から書き込まれたデータを格納する複数の物理記憶領域と、前記物理記憶領域に対するデータの書き込み及び読み出しを制御するコントローラと、を備え、
    前記複数の物理記憶領域は、少なくとも、データを二重化して格納するための第1物理記憶領域及び第2物理記憶領域を含み、
    前記第1物理記憶領域は、前記ホスト計算機から書き込まれるデータを格納する正側記憶領域として設定され、前記第2物理記憶領域は、同期することによって前記正側記憶領域に設定された前記物理記憶領域と同一のバックアップデータを格納する副側記憶領域として設定され、
    前記方法は、
    前記第1物理記憶領域の残り書き換え可能回数と前記第2物理記憶領域の残り書き換え可能回数とを比較し、
    前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ない場合、前記第1物理記憶領域の設定を前記副側記憶領域に変更し、前記第2物理記憶領域の設定を前記正側記憶領域に変更することを特徴とする方法。
  15. 前記コントローラは、前記各物理記憶領域に対して実行することができる書き込み処理の回数の最大値である最大書き込み可能回数と、前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数と、を保持し、
    前記方法は、前記最大書き込み可能回数から前記総書き込み回数を減算することによって前記残り書き換え可能回数を算出することを特徴とする請求項14に記載の方法。
  16. 前記方法は、
    前記最大書き込み可能回数の入力を受け付け、
    前記入力された最大書き込み可能回数を保持することを特徴とする請求項15に記載の方法。
  17. 前記コントローラは、前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数を保持し、
    前記方法は、前記第1物理記憶領域の総書き込み回数が前記第2物理記憶領域の総書き込み回数より多い場合、前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ないと判定することを特徴とする請求項14に記載の方法。
  18. 前記ストレージシステムは、さらに、キャッシュメモリを備え、
    前記コントローラは、前記物理記憶領域に格納されるデータを前記キャッシュメモリに保持するためのキャッシュ機能の有効又は無効を示す属性を設定可能であり、
    前記正側記記憶領域として設定される前記第1物理記憶領域には、前記キャッシュ機能が有効であることを示す前記属性が設定され、前記副側記憶領域として設定される前記第2物理記憶領域には、前記キャッシュ機能が無効であることを示す前記属性が設定され、
    前記方法は、前記第1物理記憶領域の設定を前記副側記憶領域に変更し、前記第2物理記憶領域の設定を前記正側記憶領域に変更する場合に、さらに、前記第1物理記憶領域に設定されていた前記属性と、前記第2物理記憶領域に設定されていた前記属性とを入れ替えることを特徴とする請求項14に記載の方法。
  19. 前記コントローラは、
    前記正側記憶領域である第1論理記憶領域と前記第1物理記憶領域とを対応付けることによって前記第1物理記憶領域を前記正側記憶領域として設定し、
    前記副側記憶領域である第2論理記憶領域と前記第2物理記憶領域とを対応付けることによって前記第2物理記憶領域を前記副側記憶領域として設定し、
    前記第1プロセッサは、第1論理記憶領域に対して書き込み要求を発行し、
    前記方法は、
    前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第1論理記憶領域を前記第2物理記憶領域に対応付け、前記第2論理記憶領域を前記第1物理記憶領域に対応付けることによって、前記第1物理記憶領域の設定を前記副側記憶領域に変更し、前記第2物理記憶領域の設定を前記正側記憶領域に変更することを特徴とする請求項14に記載の方法。
  20. 前記コントローラは、
    前記正側記憶領域である第1論理記憶領域と前記第1物理記憶領域とを対応付けることによって前記第1物理記憶領域を前記正側記憶領域として設定し、
    前記副側記憶領域である第2論理記憶領域と前記第2物理記憶領域とを対応付けることによって前記第2物理記憶領域を前記副側記憶領域として設定し、
    前記第1プロセッサは、第1仮想経路に対してデータ書き込み要求を発行し、
    前記方法は、
    前記ホスト計算機から前記第1論理記憶領域に至るアクセス経路が前記第1仮想経路に対応付けられているときに、前記第1物理記憶領域の残り書き換え可能回数が前記第2物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第1仮想経路を前記第2論理記憶領域に至るアクセス経路と対応付け、
    前記第1論理記憶領域を前記副側記憶領域に変更し、前記第2論理記憶領域を前記正側記憶領域に変更することを特徴とする請求項14に記載の方法。
JP2006132597A 2006-05-11 2006-05-11 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法 Expired - Fee Related JP4804218B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006132597A JP4804218B2 (ja) 2006-05-11 2006-05-11 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法
US11/475,958 US7853769B2 (en) 2006-05-11 2006-06-28 Computer system for managing number of writes for storage medium and control method therefor
EP06255614A EP1855187A3 (en) 2006-05-11 2006-11-01 Computer system for managing number of writes for storage medium and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006132597A JP4804218B2 (ja) 2006-05-11 2006-05-11 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法

Publications (2)

Publication Number Publication Date
JP2007304859A JP2007304859A (ja) 2007-11-22
JP4804218B2 true JP4804218B2 (ja) 2011-11-02

Family

ID=38235146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006132597A Expired - Fee Related JP4804218B2 (ja) 2006-05-11 2006-05-11 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法

Country Status (3)

Country Link
US (1) US7853769B2 (ja)
EP (1) EP1855187A3 (ja)
JP (1) JP4804218B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008197779A (ja) * 2007-02-09 2008-08-28 Fujitsu Ltd 階層型ストレージ管理システム、階層制御装置、階層間ファイル移動方法、及びプログラム
WO2009100209A1 (en) * 2008-02-06 2009-08-13 Compellent Technologies Hypervolume data storage object and method of data storage
JP5242264B2 (ja) * 2008-07-07 2013-07-24 株式会社東芝 データ制御装置、ストレージシステムおよびプログラム
US20100042794A1 (en) * 2008-08-15 2010-02-18 Wen-Sen Tsai Data protection system and method
JP5349897B2 (ja) * 2008-10-21 2013-11-20 株式会社日立製作所 ストレージシステム
JP5032620B2 (ja) * 2010-03-16 2012-09-26 株式会社東芝 ディスクアレイ装置及び同ディスクアレイ装置に適用される論理ディスク再構成方法
US9836370B2 (en) 2010-11-18 2017-12-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Backup memory administration using an active memory device and a backup memory device
US10761767B2 (en) * 2016-07-12 2020-09-01 Hitachi, Ltd. Computer system and method for controlling storage apparatus that has replication direction from first logical device (in first storage) to second logical device (in second storage) and from said second logical device to third logical device (in said second storage), wherein said replication direction is reversed when second computer takes over for first computer
KR102549346B1 (ko) * 2018-07-24 2023-06-28 삼성전자주식회사 솔리드 스테이트 드라이브 및 그의 메타 데이터 액세스 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US162940A (en) * 1875-05-04 Improvement in apparatus for heating feed-water
JPS6468826A (en) * 1987-08-25 1989-03-14 Ibm Data processing system and method for managing data memory
US5051887A (en) * 1987-08-25 1991-09-24 International Business Machines Corporation Maintaining duplex-paired storage devices during gap processing using of a dual copy function
TW261687B (ja) * 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JPH05151097A (ja) 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
JPH08278909A (ja) * 1995-04-07 1996-10-22 Nippon Telegr & Teleph Corp <Ntt> 高信頼化システムおよび方法
JPH1124847A (ja) * 1997-07-02 1999-01-29 Tec Corp データ処理装置
US7467274B2 (en) * 2001-12-31 2008-12-16 Hewlett-Packard Development Company, L.P. Method to increase the life span of limited cycle read/write media
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置
AU2003282544A1 (en) * 2002-10-28 2004-05-25 Sandisk Corporation Automated wear leveling in non-volatile storage systems
JP4651913B2 (ja) 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
JP2006065773A (ja) * 2004-08-30 2006-03-09 Toshiba Corp 計算機システム及び同システムに適用される論理ユニット切り替え方法
JP4555036B2 (ja) * 2004-09-16 2010-09-29 株式会社日立製作所 ストレージ装置及びストレージ装置のデバイス切替制御方法

Also Published As

Publication number Publication date
EP1855187A2 (en) 2007-11-14
JP2007304859A (ja) 2007-11-22
US20070266215A1 (en) 2007-11-15
US7853769B2 (en) 2010-12-14
EP1855187A3 (en) 2009-10-28

Similar Documents

Publication Publication Date Title
JP4804218B2 (ja) 記憶媒体への書き込み回数を管理する計算機システム及びその制御方法
US9262265B2 (en) Storage system and storage control apparatus
US9122410B2 (en) Storage system comprising function for changing data storage mode using logical volume pair
US6694413B1 (en) Computer system and snapshot data management method thereof
US8316203B2 (en) Storage system and method implementing online volume and snapshot with performance/failure independence and high capacity efficiency
US8209505B2 (en) Storage system and method of taking over logical unit in storage system
US9501231B2 (en) Storage system and storage control method
US9292211B2 (en) Computer system and data migration method
US8332601B2 (en) Storage controller having virtual volume
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
JP4884041B2 (ja) 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法
US20060168415A1 (en) Storage system, controlling method thereof, and virtualizing apparatus
WO2018029820A1 (ja) 計算機システム
JP2005528684A (ja) 仮想分散ネットワーク・ストレージ・システム
JP2009205333A (ja) 計算機システム、ストレージ装置及びデータ管理方法
JP2008269374A (ja) ストレージシステムおよびその制御方法
US7549029B2 (en) Methods for creating hierarchical copies
US7552309B2 (en) Data storage methods for hierarchical copies
US8935488B2 (en) Storage system and storage control method
US20170286019A1 (en) Storage system and control method therefor
JP2016024656A (ja) ストレージ制御装置、ストレージシステム及びストレージ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110524

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4804218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees