JP5773446B2 - 記憶装置、冗長性回復方法、およびプログラム - Google Patents

記憶装置、冗長性回復方法、およびプログラム Download PDF

Info

Publication number
JP5773446B2
JP5773446B2 JP2012260234A JP2012260234A JP5773446B2 JP 5773446 B2 JP5773446 B2 JP 5773446B2 JP 2012260234 A JP2012260234 A JP 2012260234A JP 2012260234 A JP2012260234 A JP 2012260234A JP 5773446 B2 JP5773446 B2 JP 5773446B2
Authority
JP
Japan
Prior art keywords
area
storage medium
data
access
storage device
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.)
Active
Application number
JP2012260234A
Other languages
English (en)
Other versions
JP2014106811A (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.)
NEC Solutions Innovators Ltd
Original Assignee
NEC Solutions Innovators 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 NEC Solutions Innovators Ltd filed Critical NEC Solutions Innovators Ltd
Priority to JP2012260234A priority Critical patent/JP5773446B2/ja
Publication of JP2014106811A publication Critical patent/JP2014106811A/ja
Application granted granted Critical
Publication of JP5773446B2 publication Critical patent/JP5773446B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、記憶装置、冗長性回復方法、およびプログラムに関する。
コンピュータで使用される情報は、一般的に記憶媒体上に保存される。しかし、現在一般に流通している記憶媒体は、いずれも障害によって情報の書き込みや読み出しができなくなる可能性を内包する。そのため、複数の記憶媒体を冗長化構成に組織することにより、一部の記憶媒体に障害が生じた場合でも必要な情報が失われたりアクセスできなくなったりすることを防ぐ技術が普及している。
例えば、特許文献1に記載の冗長性を有するディスク記憶装置は、RAID構成に組まれた複数の記憶媒体を有し、複数の記憶媒体にデータを重複して保存する。複数の記憶媒体のうち一部に障害が生じると、障害が生じた記憶媒体はデータの入出力ができなくなる。しかしながら、データは障害の生じていない記憶媒体上にも重複して保管されているため、ディスク装置全体としてはデータを失わない。
特開2011−164714号公報
RAID構成に組まれた複数の記憶媒体を有する記憶装置において、一部の記憶媒体に障害が生じた場合、記憶媒体の縮退が生じ、一時的にデータの冗長性が失われる。この場合、一般的には、障害の生じた記憶媒体が交換され、新しく導入された記憶媒体上にデータが再構成されることで、記憶装置は再び冗長化される。
しかしながら、記憶媒体の交換およびデータの再構築にはある程度の時間が必要である。記憶装置がデータの冗長性を失った状態で、さらに他の記憶媒体に障害が起こった場合、記憶装置はデータを失う可能性がある。従って、障害によって記憶装置が冗長性を失った状態が長時間続くことを避けることが望ましい。
本発明は、上記の実情に鑑みてなされたものであり、冗長性を有する記憶装置に障害が生じた場合に、冗長性を失った状態が長時間続くことを避けることが可能な記憶装置、冗長性回復方法、およびプログラムを提供することを目的とする。
上記の目的を達成するため、本発明の第1の観点に係る記憶装置は、
冗長構成の複数の内部記憶媒体と、
コンピュータからのアクセス要求に従って、前記複数の内部記憶媒体のそれぞれにアクセスする内部アクセス手段と、
前記複数の内部記憶媒体の、前記内部アクセス手段がアクセスできなくなったアクセス不能領域を検出するアクセス不能領域検出手段と、
前記アクセス不能領域検出手段により前記アクセス不能領域が検出された場合に、前記アクセス不能領域に代替する代替領域を、前記複数の内部記憶媒体以外の外部記憶媒体に確保する代替領域確保手段と、
前記アクセス不能領域に記憶されていたデータを、他の内部記憶媒体から、前記アクセス不能領域とは異なる領域に記録されているデータとは分離して取得するデータ取得手段と、
前記データ取得手段により取得されたデータを、前記外部記憶媒体に確保された前記代替領域に書き込む書込手段と、
前記コンピュータにより前記アクセス不能領域にアクセス要求がなされた場合に、前記外部記憶媒体の前記代替領域にアクセスする外部アクセス手段と、を備え、
前記コンピュータにより前記アクセス不能領域とは異なる領域にアクセス要求がなされた場合に、前記内部アクセス手段は、前記アクセス不能領域が存在する内部記憶媒体の前記アクセス要求がなされた領域にアクセスする、
とを特徴とする。
また上記の目的を達成するため、本発明の第2の観点に係る冗長性回復方法は、
冗長構成の複数の記憶媒体上の障害領域を検出する障害領域検出ステップと、
前記障害領域検出ステップにおいて障害領域が検出された場合に、前記障害領域に代替する代替領域を、前記冗長構成の複数の記憶媒体以外の他の記憶媒体上に確保する代替領域確保ステップと、
前記障害領域に記憶されていたデータを、前記冗長構成の複数の記憶媒体から、前記障害領域とは異なる領域に記録されているデータとは分離して取得し、前記代替領域に書き込む書込ステップと、
前記障害領域へのアクセス要求がなされた場合に、前記代替領域にアクセスする代替アクセスステップと、
前記障害領域とは異なる領域へのアクセス要求がなされた場合に、前記障害領域が存在する記憶媒体の前記アクセス要求がなされた領域にアクセスする通常アクセスステップと、
を備えることを特徴とする。
また上記の目的を達成するため、本発明の第3の観点に係るプログラムは、
コンピュータに、
冗長構成の複数の記憶媒体上の障害領域を検出する障害領域検出機能、
前記障害領域検出機能において障害領域が検出された場合に、前記障害領域に代替する代替領域を、前記冗長構成の複数の記憶媒体以外の他の記憶媒体上に確保する代替領域確保機能、
前記障害領域に記憶されていたデータを、前記冗長構成の複数の記憶媒体から、前記障害領域とは異なる領域に記録されているデータとは分離して取得し、前記代替領域に書き込む書込機能、
前記障害領域へのアクセス要求がなされた場合に、前記代替領域にアクセスする代替アクセス機能、
前記障害領域とは異なる領域へのアクセス要求がなされた場合に、前記障害領域が存在する記憶媒体の前記アクセス要求がなされた領域にアクセスする通常アクセス機能、
を実現させることを特徴とする。
本発明によれば、冗長性を有する記憶装置に障害が生じた場合に、冗長性を失った状態が長時間続くことを避けることが可能となる。
本発明の実施形態にかかる記憶装置のハードウェア構成を示すブロック図である。 本発明の実施形態にかかる記憶装置が備える機能を説明する図である。 外部の記憶装置のハードウェア構成を示すブロック図である。 障害非発生時データアクセス処理を示すフローチャートである。 障害非発生時データアクセス処理におけるデータの流れを示す図である。 冗長性回復処理を示すフローチャートである。 冗長性回復処理におけるデータの流れを示す図である。 障害発生時データアクセス処理を示すフローチャートである。 障害発生時データアクセス処理におけるデータの流れを示す図である。
(実施の形態)
本発明の実施形態にかかる記憶装置は、コンピュータに接続されており、コンピュータから供給されたデータを記憶する装置である。つまり、この記憶装置は、コンピュータからの書き込み指示に従って、コンピュータから供給されたデータを記憶する。また、この記憶装置は、コンピュータからの読み出し指示に従って、記憶しているデータをコンピュータに供給する。この記憶装置は、内部にRAID(Redundant Arrays of Inexpensive Disks)構成に組まれた記憶媒体を複数備えており、データを複数の記憶媒体に冗長に保存する。従って、この記憶装置は、複数の記憶媒体のうちの一つに障害が発生して使用できなくなったとしても、記憶装置全体としてデータを失わない。本実施形態では、記憶媒体を2つ備え、それらがRAID1にRAID構成が組まれた記憶装置について説明する。なお、RAID1は、両方の記憶媒体に同じデータを保存し、全体としてデータを二重に保有するレベルである。
ここで冗長性がある状態とは、必要最小限の分量以上のものを付加することにより、可用性が高められている状態を指す。また、データをそのように記憶媒体上に保存することを「データを冗長に保存する」という。
記憶装置100は、図1に示すように、制御部110、インターフェースカード121、NIC(Network Interface Card)122、ハードディスク131、ハードディスク132、ハードディスク133を備える。記憶装置100が備える各構成要素は、バス140を介して相互に接続される。
制御部110は、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、RAM(Random Access Memory)113を備える。CPU111は、ROM112などに記憶されている制御用のプログラムに従って、記憶装置100全体の動作を制御する。ROM112は、制御用のプログラムを記憶する。RAM113は、CPU111が使用するデータを一時的に保存する。制御部110は、記憶装置100が備える他の構成要素との間で信号を送受信することにより、これらの構成要素を制御する。
インターフェースカード121は、記憶装置100と、記憶装置100にデータを書き込み、記憶装置100からデータを読み出すコンピュータとを接続する。インターフェースカード121は、ファイバーチャネルやSAS(Serial Attached SCSI)等の規格のケーブルにより、サーバー等のコンピュータに接続されている。インターフェースカード121は、コンピュータからのデータ入出力信号を受信し、それを制御部110に伝達する。
NIC122は、記憶装置100を、有線もしくは無線通信によりLAN(Local Area Network)400に接続する。記憶装置100は、NIC122を介し、LAN400に接続されている他機器(たとえば、記憶装置300など)と通信する。
ハードディスク131は、コンピュータから供給されたデータを記憶する。ハードディスク132は、ハードディスク131が記憶するデータと同じデータを記憶する。つまり、ハードディスク131とハードディスク132は、RAID1のレベルにRAID構成が組まれる。
ハードディスク133は、後述するアドレスマップを記憶する。ハードディスク133は、制御部110が記憶装置100全体の動作を制御するためのプログラムを記憶していてもよい。
以上の構成要素の協働により、記憶装置100は、例えば、コンピュータからのデータの書き込み要求に応じて、コンピュータから供給されたデータを記憶する動作を実現する。また、記憶装置100は、コンピュータからのデータの読み出し要求に応じて、データを読み出し、読み出したデータをコンピュータに供給する動作を実現する。以下、記憶装置100にデータの書き込み要求もしくは読み出し要求を発するコンピュータを、適宜、記憶装置100にアクセスするコンピュータという。
図2を参照して、記憶装置100が備える各機能について説明する。理解を容易にするため、図2には、記憶装置100にアクセスするコンピュータ200、および他の記憶装置300も併せて記載する。なお、記憶装置100と記憶装置300とは、LAN400により接続される。
記憶装置100は、機能的には、コンピュータ側インターフェース151と、ネットワーク側インターフェース152と、RAID管理モジュール161と、アドレス変換モジュール162と、I/Oモジュール163と、アドレスマップ格納部171と、アドレスマップ格納部172と、記憶媒体181と、記憶媒体182とを備える。
コンピュータ側インターフェース151は、記憶装置100とコンピュータ200とを接続する。コンピュータ側インターフェース151は、例えば、図1に示すインターフェースカード121により構成される。
ネットワーク側インターフェース152は、記憶装置100とLAN400とを接続する。ネットワーク側インターフェース152は、例えば、図1に示すNIC122により構成される。
RAID管理モジュール161は、RAIDを構成する記憶媒体181、182を管理する。具体的には、RAID管理モジュール161は、コンピュータ200からRAIDへのデータの書き込み要求もしくはデータの読み出し要求(以下「アクセス要求」という。)があった場合、アクセス対象データのRAIDにおける論理アドレスをアドレス変換モジュール162に供給する。
またRAID管理モジュール161は、記憶媒体181、182に障害が発生したことを検出した場合は、後述の冗長性回復処理を開始する。具体的には、RAID管理モジュール161は、例えばI/Oモジュール163がデータアクセスに失敗したことを検出した場合に、データアクセス対象の領域に障害が発生したと判別してもよい。あるいは、RAID管理モジュール161は、記憶媒体181や記憶媒体182に定期的にアクセスし、障害が発生していることを検出してもよい。RAID管理モジュール161は、例えば、制御部110におけるRAM113にロードされ、CPU111により実行されるプログラムにより構成される。
アドレス変換モジュール162は、供給されたRAIDにおける論理アドレスを、記憶媒体181ならびに記憶媒体182上の物理アドレスに変換する。本実施形態では、記憶媒体181と記憶媒体182とがRAID1のレベルを構成している。従って、アドレス変換モジュール162は、アドレスマップ格納部171に格納されたアドレスマップを参照し、供給された論理アドレスに対応づけられた記憶媒体181における物理アドレスを取得する。また、アドレス変換モジュール162は、アドレスマップ格納部172に格納されたアドレスマップを参照し、供給された論理アドレスに対応づけられた記憶媒体182における物理アドレスを取得する。アドレス変換モジュール162は、取得した、記憶媒体181における物理アドレスと記憶媒体182における物理アドレスとを、I/Oモジュール163に供給する。アドレス変換モジュール162は、例えば、制御部110におけるRAM113にロードされ、CPU111により実行されるプログラムにより構成される。
I/Oモジュール163は、記憶媒体181および182にデータを書き込む機能と、記憶媒体181および182からデータを読み出す機能と、を有する。I/Oモジュール163は、アドレス変換モジュール162から供給された記憶媒体181上の物理アドレスにより特定される記憶媒体181上の領域にアクセスする。コンピュータ200からの要求が書き込み要求である場合、I/Oモジュール163は、特定した記憶媒体181上の領域にデータを書き込む。コンピュータ200からの要求がデータの読み出し要求である場合、I/Oモジュール163は、特定した記憶媒体181上の領域からデータを読み出す。I/Oモジュール163は、記憶装置100において、コンピュータからのアクセス要求に従って、複数の内部記憶媒体のそれぞれにアクセスする内部アクセス手段として機能する。
また、I/Oモジュール163は、アドレス変換モジュール162から供給された記憶媒体182上の物理アドレスにより特定される記憶媒体182上の領域にアクセスする。コンピュータ200からの要求が書き込み要求である場合、I/Oモジュール163は、特定した記憶媒体182上の領域にデータを書き込む。コンピュータ200からの要求が読み出し要求である場合、I/Oモジュール163は、特定した記憶媒体182上の領域からデータを読み出す。なお、I/Oモジュール163は、読み出したデータを、例えば、コンピュータ側インターフェース151を介して、コンピュータ200に供給する。I/Oモジュール163は、例えば、制御部110におけるRAM113にロードされ、CPU111により実行されるプログラムにより構成される。
アドレスマップ格納部171は、論理アドレスと記憶媒体181上の物理アドレスとを対応づけるアドレスマップを格納する。アドレスマップ格納部171は、例えば、ハードディスク133により構成される。
アドレスマップ格納部172は、論理アドレスと記憶媒体182上の物理アドレスとを対応づけるアドレスマップを格納する。アドレスマップ格納部172は、例えば、ハードディスク133により構成される。
記憶媒体181は、I/Oモジュール163から供給されたデータを記憶する。記憶媒体182も、I/Oモジュール163から供給されたデータを記憶する。本実施形態では、記憶媒体181と記憶媒体182とがRAID1のRAIDを構成しているので、コンピュータ200から記憶装置100に供給されたデータは、記憶媒体181と記憶媒体182との両方に記憶される。そのため、記憶媒体181と記憶媒体182のうちの一方に障害が発生し、I/Oモジュール163が当該一方の記憶媒体にアクセスできなくなった場合でも、I/Oモジュール163は他方の記憶媒体にアクセスすることにより、記憶装置100はデータの記憶や読み出しを継続することができる。記憶媒体181は、例えば、ハードディスク131により構成される。記憶媒体182は、例えば、ハードディスク132により構成される。
コンピュータ200は、記憶装置100にデータを書き込み、また、記憶装置100からデータを読み出す。コンピュータ200は、有線もしくは無線通信により、記憶装置100に接続される。コンピュータ200は、例えば、パーソナルコンピュータにより構成される。
記憶装置300は、記憶装置100が備える記憶媒体181と記憶媒体182とのうちの一方の一部の領域に障害が発生した場合、この一方の記憶媒体の一部の領域の代わりとなる領域(以下、適宜、「代替領域」という。)を提供する。図3に示すように、記憶装置300は、物理的には、制御部310と、NIC320と、ハードディスク330とを備える。記憶装置300が備えるこれらの構成要素は、バス340を介して相互に接続される。
制御部310は、CPU311と、ROM312と、RAM313とを備える。CPU311は、ROM312などに記憶されている制御用のプログラムに従って、記憶装置300全体の動作を制御する。ROM312は、制御用のプログラムを記憶する。RAM313は、CPU311が使用するデータを一時的に保存する。制御部310は、記憶装置300が備える他の構成要素との間で信号を送受信することにより、これらの構成要素を制御する。
NIC320は、記憶装置300を、有線もしくは無線通信によりLAN400に接続する。記憶装置300は、NIC320を介し、LAN400に接続されている他機器(たとえば、記憶装置100など)と通信する。
ハードディスク330は、記憶装置100から供給されたデータやアドレスマップを記憶する。ハードディスク330は、制御部310が記憶装置300全体の動作を制御するためのプログラムを記憶していてもよい。
図2に示すように、記憶装置300は、機能的には、アドレスマップ格納部301と、I/Oモジュール302と、記憶媒体303と、ネットワーク側インターフェース304とを備える。記憶装置300は、ネットワーク側インターフェース304により、記憶装置100が接続されたLAN400に接続される。
記憶装置300は、記憶装置100と同種の記憶装置であってもよいし、別種のものであってもよい。
アドレスマップ格納部301は、論理アドレスと記憶媒体303上の物理アドレスとを対応づけるアドレスマップを格納する。アドレスマップ格納部301は、例えば、ハードディスク330により構成される。
I/Oモジュール302は、記憶媒体303にデータを書き込む機能と、記憶媒体303からデータを読み出す機能と、を有する。I/Oモジュール302は、RAID管理モジュール161から供給された記憶媒体303上の物理アドレスにより特定される記憶媒体303上の領域にアクセスする。コンピュータ200からの要求が書き込み要求である場合、I/Oモジュール302は、特定した記憶媒体303上の領域にデータを書き込む。コンピュータ200からの要求がデータの読み出し要求である場合、I/Oモジュール302は、特定した記憶媒体303上の領域からデータを読み出す。なお、I/Oモジュール302は、読み出したデータを、例えば、ネットワーク側インターフェース304を介して、記憶装置100に供給する。I/Oモジュール302は、例えば、制御部310により構成される。
記憶媒体303は、I/Oモジュール302から供給されたデータを記憶する。記憶媒体303は、例えば、ハードディスク330により構成される。
ネットワーク側インターフェース304は、記憶装置300とLAN400とを接続する。ネットワーク側インターフェース304は、例えば、NIC320により構成される。
以上において、本実施の形態に係る記憶装置100、およびその関連機器(コンピュータ200および別の記憶装置300)に関する構成を説明した。ここから、記憶装置100において、記憶媒体に障害が生じていない場合の障害非発生時データアクセス処理のフローについて説明する。
記憶装置に障害が発生していない時に、記憶装置100が、コンピュータ200からのアクセス要求に応じてデータにアクセスする動作(障害非発生時データアクセス処理)を図4に示す。ここでアクセス要求とは、データの読み出し要求と、データの書き込み要求を含むものとする。また、図5は、障害非発生時データアクセス処理におけるデータの流れを示した図である。図4および図5を参照し、障害非発生時データアクセス処理について説明する。
コンピュータ200から記憶装置100にアクセス要求(図5に示すデータD100)があると、コンピュータ側インターフェース151がそのアクセス要求を受信する。そして、コンピュータ側インターフェース151が受信した要求をRAID管理モジュール161に伝達すると、図4に示す障害非発生時データアクセス処理が開始される。
RAID管理モジュール161は、アクセス対象の論理アドレス(データD110)をアドレス変換モジュール162に伝達する(図4ステップS110)。なお、コンピュータ200からのアクセス要求が読み出し要求である場合、読み出し要求には、アクセス対象の論理アドレスが含まれる。一方、コンピュータ200からのアクセス要求が書き込み要求である場合、書き込み要求には、アクセス対象の論理アドレスと書き込むデータとが含まれる。ここで、書き込むデータは、RAID管理モジュール161からI/Oモジュール163に直接伝達されてもよいし、アドレス変換モジュール162を経由して伝達されてもよい。
ステップS110の処理が完了すると、アドレス変換モジュール162は、アドレス変換処理を実行する(ステップS120)。具体的には、アドレス変換モジュール162は、アドレスマップ格納部171に格納されているアドレスマップを参照し、伝達された論理アドレスを対応づけられた記憶媒体181上の物理アドレス(データD120)を取得する。また、アドレス変換モジュール162は、アドレスマップ格納部172に格納されているアドレスマップを参照し、伝達された論理アドレスを対応づけられた記憶媒体182上の物理アドレス(データD120)を取得する。アドレス変換モジュール162は、取得した物理アドレス(データD120)を、I/Oモジュール163に伝達する。
ステップS120の処理が完了すると、I/Oモジュール163は、記憶媒体181や記憶媒体182にアクセスする(ステップS130)。具体的には、コンピュータ200からの要求が読み出し要求の場合、I/Oモジュール163は、例えば、アドレス変換モジュール162から伝達された記憶媒体181上の物理アドレスにより特定される記憶媒体181上の領域に格納されているデータ(D130)を読み出す。あるいは、I/Oモジュール163は、アドレス変換モジュール162から伝達された記憶媒体182上の物理アドレスにより特定される記憶媒体182上の領域に格納されているデータ(D130)を読み出してもよい。
一方、コンピュータ200からの要求が書き込み要求の場合、I/Oモジュール163は、RAID管理モジュール161から供給されたデータ(D130)を、アドレス変換モジュール162から伝達された記憶媒体181上の物理アドレスにより特定される記憶媒体181上の領域と、アドレス変換モジュール162から伝達された記憶媒体182上の物理アドレスにより特定される記憶媒体182上の領域と、に書き込む。
ステップS130の処理が完了すると、I/Oモジュール163は終了処理を実行する(ステップS140)。具体的には、I/Oモジュール163は、RAID管理モジュール161を経由してアクセス完了通知データ(データD140)をコンピュータ200に通知する。なお、コンピュータ200からの要求が読み出し要求である場合、アクセス完了通知データは、読み出されたデータを含む。ステップS140の処理が完了すると、障害非発生時データアクセス処理は完了する。
以上、記憶装置100内部の記憶媒体181および記憶媒体182のいずれにも障害が発生していない場合のデータアクセス処理について説明した。次に、記憶媒体181または182に障害が生じ、アクセスできない領域が生じた場合に記憶装置100が実行する冗長性回復処理について説明する。
冗長性回復処理は、記憶媒体181または記憶媒体182に障害が生じ、記憶媒体181または記憶媒体182上にアクセスできない領域が発生したことをRAID管理モジュール161が検出したことに応答して、記憶装置100が実行する処理である。以下、理解を容易にするために、記憶媒体182に障害が生じたとして説明する。
図6は、冗長性回復処理を示すフローチャートである。また、図7は、冗長性回復処理におけるデータの流れを示した図である。図6および図7を参照し、冗長性回復処理について説明する。
障害発生により記憶媒体182にアクセスできない領域が生じた場合、RAID管理モジュール161は、障害が発生した記憶媒体及び領域とその容量を検出し、冗長性回復処理を開始する。本例では、RAID管理モジュール161は、記憶媒体182にアクセスできない領域が生じたこと、アクセスできない領域の論理アドレスと物理アドレス、アクセスできない領域の容量を検出し、冗長性回復処理を開始する。すなわち、RAID管理モジュール161は、内部アクセス手段がアクセスできなくなった内部記憶媒体のアクセス不能領域を検出するアクセス不能領域検出手段として機能する。
冗長性回復処理を開始すると、RAID管理モジュール161は、記憶媒体303上に代替領域を確保することを指示する代替領域確保指示(データD210)を、ネットワーク側インターフェース152を経由し、別の記憶装置300に出力する(ステップS210)。すなわち、RAID管理モジュール161は、記憶装置100内部においてアクセス不能領域が検出された場合に、このアクセス不能領域に代替する代替領域を確保する代替領域確保手段として機能する。RAID管理モジュール161は、代替領域確保指示に、記憶媒体182上でアクセスできなくなった領域の容量を確保要求量として含める。なお、記憶装置100と記憶装置300との間の情報の伝達は、ネットワーク側インターフェース151、LAN400、及びネットワーク側インターフェース304を経由して実行される。
記憶装置300(より正確には、CPU311)は、RAID管理モジュール161からの代替領域確保指示に応答して、要求された容量の代替領域を記憶媒体303上に確保する(ステップS220)。また、記憶装置300は、確保された代替領域の物理アドレスに、論理アドレスを割り当てる。記憶装置300は、代替領域の物理アドレスと割り当てられた論理アドレスとを対応づけるアドレスマップを、アドレスマップ格納部301に格納する。
ステップS220の処理が完了すると、記憶装置300は、アドレスマップ格納部301に代替領域を確保したことを示す応答データ(データD230)をRAID管理モジュール161に供給する(ステップS230)。記憶装置300は、この応答データに、確保された領域にアクセスするために必要な論理アドレスを含める。この論理アドレスは、アドレスマップ格納部301に格納されたアドレスマップにおいて、代替領域の物理アドレスに対応づけられた論理アドレスである。
RAID管理モジュール161は、記憶装置300から応答データを受信すると、アドレスマップ格納部172に格納されているアドレスマップを更新する(ステップS240)。具体的には、RAID管理モジュール161は、アドレスマップ格納部172上のアドレスマップにおいて、記憶媒体182上でアクセスできなくなった領域の物理アドレスに代えて、記憶装置300から供給された代替領域の論理アドレス(データD240)を、アクセスできなくなった領域の論理アドレスに対応付ける。
ステップS240の処理が完了すると、RAID管理モジュール161は、記憶媒体182上でアクセスできなくなった領域のデータに対応する記憶媒体181上のデータ(データD250)を記憶媒体303に保存する(ステップS250)。すなわち、RAID管理モジュール161は、内部記憶媒体にアクセス不能領域が生じた場合に、他の内部記憶媒体に記憶されているデータに基づいて、アクセス不能領域に記憶されていたデータを取得するデータ取得手段として機能するとともに、取得したデータを代替領域に書き込む書込手段として機能する。具体的には、RAID管理モジュール161は、記憶媒体182上でアクセスできなくなった領域のデータに対応する記憶媒体181上のデータを記憶装置300に伝送し、代替領域への書き込みを指示する。記憶装置300は、指示に応答し、伝送されたデータを、記憶媒体303上に確保された代替領域に記録する。ステップS250の処理が完了すると、冗長性回復処理が完了する。
以上の冗長性回復処理が完了すると、記憶媒体182上でアクセスできなくなった領域に記録されていたデータは、記憶媒体181と記憶媒体303とに二重に記憶されることとなり、冗長性が回復する。また、記憶媒体182上であってもアクセスできる領域に記録されていたデータは、障害発生前と同じく、記憶媒体181と記憶媒体182とに二重に記憶されており、障害前と同様に冗長性が保持される。
以上においては、記憶媒体182の一部に障害が生じた場合について説明した。記憶媒体181の一部に障害が生じた場合は、記憶装置100は、以上と同様の処理を、対象を記憶媒体181と記憶媒体182とで入れ替えた上で行う。
次に、上記の冗長性回復処理が完了したあとで、コンピュータ200が記憶装置100上のデータにアクセスする際の動作について説明する。
記憶装置100が、上記の冗長性回復処理を実行した後、コンピュータ200からのアクセス要求に応じてデータにアクセスする処理(以下「障害発生時データアクセス処理」という。)を図8に示す。また、図9は、障害発生時データアクセス処理におけるデータの流れを示した図である。以下、図8および図9を参照し、障害発生時データアクセス処理について説明する。
なお、以下の説明では、理解を容易にするために、記憶媒体181または182のアクセスできなくなった領域への読み出し要求があった場合、記憶媒体303にアクセスするように優先順位が設定されているものとする。
コンピュータ200は、記憶装置100からデータを読み出す場合、データ読み出し要求(読み出し位置の論理アドレスを含む)を出力し、また、データを書き込む場合、データ書き込み要求(書き込み位置の論理アドレスと書き込み対象データを含む)(データD100)を発行する。記憶装置100は、これらのアクセス要求(データD100)を受信すると、障害発生時データアクセス処理を開始する。
RAID管理モジュール161は、コンピュータ200からのアクセス要求を受け、アクセス対象の論理アドレスをアドレス変換モジュール162に伝達する(ステップS110)。
アドレス変換モジュール162は、アドレスマップ格納部171に格納されているアドレスマップと、アドレスマップ格納部172に格納されているアドレスマップと、を読み出し、アクセス対象の論理アドレスに対応付けられているアドレスを、それぞれ特定する(ステップS300)。
アドレス変換モジュール162は、特定した2つのアドレスの一方が記憶媒体181の物理アドレスで、他方が記憶媒体182の物理アドレスであるか否かを判別する(ステップS310)。一方のアドレスが記憶媒体181の物理アドレスで、他方が記憶媒体182の物理アドレスであると判別した場合(ステップS310:YES)、障害の発生していない領域へのアクセスであるので、両物理アドレスとアクセス要求とをI/Oモジュール163に供給する(ステップS311)。
I/Oモジュール163は、アクセス要求が読み出し要求の場合、あらかじめ設定されている優先順位に従って、一方の物理アドレスからデータを読み出す(ステップS130)。一方、アクセス要求が書き込み要求の場合、両物理アドレスに供給されたデータを書き込む(ステップS130)。
その後、I/Oモジュール163は、コンピュータ200に、読み出したデータあるいは書込完了通知を送信して、処理を終了する(ステップS140)。
一方、ステップS310で、アドレス変換モジュール162が、一方のアドレスが記憶媒体181または182の物理アドレスで、他方のアドレスが記憶媒体303の論理アドレスであると判別した場合(ステップS310:NO)、障害の発生した領域へのアクセスであるので、特定した物理アドレスと論理アドレスをRAID管理モジュール161に供給する(ステップS320)。
RAID管理モジュール161は、アクセス要求が読み出し要求の場合、あらかじめ設定されている優先順位に従って、記憶装置300にデータ読み出し要求を伝達する(ステップS330)。具体的には、RAID管理モジュール161は、ネットワーク側インターフェース152、LAN400、およびネットワーク側インターフェース304を経由し、アドレス変換モジュール162から伝達された論理アドレスとともにデータ読み出し要求(データD330)を記憶装置300に伝達する。
一方、アクセス要求が書き込み要求の場合、RAID管理モジュール161は、アドレス変換モジュール162から伝達された論理アドレスと共にデータ書き込み要求を記憶装置300に伝達する(ステップS330)。また、RAID管理モジュール161は、
I/Oモジュール163に、アドレス変換モジュール162から伝達された物理アドレスとデータ書き込み要求を伝達する(ステップS330)。I/Oモジュール163は、伝達された物理アドレスに供給されたデータを書き込む。
記憶装置300は、RAID管理モジュール161からアクセス要求を受信すると、アドレスマップ格納部301のアドレスマップを参照し、記憶媒体303の、伝達された論理アドレスに対応付けられた物理アドレスにアクセスを行う(ステップS340)。具体的には、RAID管理モジュール161からのアクセス要求が読み出し要求である場合、記憶装置300は、伝達された論理アドレスに対応づけられた物理アドレスにより指定される記憶媒体303上の領域からデータを読み出し、読み出したデータをRAID管理モジュール161に伝達する。一方、RAID管理モジュール161からの要求が書き込み要求である場合、記憶装置300は、伝達された論理アドレスに対応づけられた物理アドレスにより指定される記憶媒体303上の領域に、書き込み要求に含まれているデータを書き込む。
ステップS340の処理が完了すると、RAID管理モジュール161は終了処理を実行する(ステップS350)。具体的には、コンピュータ200からのアクセス要求が書き込み要求である場合、RAID管理モジュール161はデータ書き込み完了(データD340)をコンピュータ200に通知する。コンピュータ200からのアクセス要求が読み出し要求である場合、RAID管理モジュール161は読み出されたデータ(データD340)をコンピュータ200に伝送する。ステップS350の処理が完了すると、障害発生時データアクセス処理は完了する。
その後、必要に応じて、障害が発生した内部記憶媒体を正常品に交換し、正常な内部記憶媒体上のデータを複写する等の処置を行い、さらに、アドレス変換モジュール162上のアドレスを更新し、記憶装置300に確保した領域をリリースすることにより、記憶装置100を修理する。
本実施形態では、記憶媒体に障害が生じてアクセスできない領域が生じた場合、ネットワーク経由で他機器(他の記憶装置)上に記憶領域を確保し、確保した記憶領域を用いてデータの冗長性を回復する。そのため、記憶装置は、記憶媒体の物理的な交換を待たずに冗長性を再び持つことができ、冗長性を失った状態が長時間続くことを防ぐことができる。
また本実施形態では、代替領域はネットワーク経由で他機器上に確保される。自機に記憶媒体を追加搭載する必要がないことから、記憶装置100にスペースが少ないことやポート数の制限等の事情でストレージ搭載台数に制限がある場合(コンシューマ向けPCや組み込み機器等)においても、本発明を適用することで簡易に冗長性を回復することができるようになる。
また本実施形態では、記憶装置100と記憶装置300とはともにLAN400に接続されており、LAN400経由でデータをやりとりしている。LANに接続するためのネットワークインターフェースは一般に普及しており、設置に要するコストは十分低くなっており、また設置されたネットワークインターフェースを他の用途に用いることもできる。
また本実施形態では、障害が発生した領域のデータのみを記憶媒体303にコピーしている。記憶媒体182のデータすべてをコピーするのに比べ、コピーされるデータ量が少ないため、冗長性回復までの所要時間を短縮することができる。
以上、本発明の実施の形態について説明したが、本実施の形態はこれに限定されない。
例えば、上記実施の形態においては、理解を容易にするため、障害非発生時のデータアクセス処理と障害発生時のデータアクセス処理を別個の処理として説明した。この発明は、これに限定されず、図8に示すデータアクセス処理を正常時に使用してもよい。
例えば、上記実施形態においては、記憶媒体181または182の障害発生領域への読み出し要求がなされたときに、記憶装置300の記憶媒体303に読み出しアクセスする例を説明した。しかし、障害発生時に読み出しアクセスする記憶媒体は任意である。
例えば、障害が発生した記憶媒体以外の記憶媒体のうちの最高速の記憶媒体からデータを読み出すことにより、高速アクセスを実現するようにしてもよい。例えば、各記憶媒体のアクセス速度(あるいはアクセス速度の順位)をメモリに格納しておき、読み出し要求を受信した際に、RAID管理モジュール161が、アクセス速度を参照して、正常な記憶媒体のうちから最も高速な記憶媒体を特定し、特定した記憶媒体からデータを読み出すようにすればよい。この場合、RAID管理モジュール161は、内部記憶媒体のうちアクセス不能領域が検出された内部記憶媒体以外の内部記憶媒体へのアクセス手段によるアクセス速度と、外部記憶媒体へのアクセス手段によるアクセス速度とのうち、いずれか速い方のアクセス手段を特定する特定手段として機能する。
具体例で説明すると、アクセス速度が速い順に、内部の記憶媒体181、外部の記憶媒体303、内部の記憶媒体182であるケースを想定する。このケースにおいて、内部の記憶媒体181上の障害領域への読み出し要求を受信した場合、RAID管理モジュール161は、内部の記憶媒体182と外部の記憶媒体303のうち、比較的アクセス速度の速い外部の記憶媒体303をアクセス対象として特定してデータを読み出す。また、同一ケースにおいて、内部の記憶媒体182上の障害領域への読み出し要求を受信すれば、RAID管理モジュール161は、内部の記憶媒体181と外部の記憶媒体303のうち、比較的アクセス速度の速い内部の記憶媒体181をアクセス対象として特定してデータを読み出す。
また、読み出しアクセスの対象とする優先度を、使用者あるいは設計者が設定できるように構成してもよい。
また、例えば、記憶装置100はRAID1レベルのRAID構成に組まれた記憶媒体181および182を備える記憶装置100について説明したが、記憶装置100の備える記憶媒体の数は3以上あってもよいし、またRAIDレベルも1に限られない。例えば、記憶装置100は記憶媒体を3以上備え、その記憶媒体がRAID5、6あるいは10といったRAIDレベルに構成されていてもよい。
また、本発明は、RAID以外の任意の冗長構成の複数の記憶媒体の冗長性を向上するためにも使用できる。
記憶媒体181および182は、主としてハードディスクで構成されるが、SSD(Solid State Disk)等の記憶媒体で実装されてもよく、その他媒体自体は任意のもので構成されてもよい。
本実施形態では、記憶装置100は、コンピュータ200から独立しており、コンピュータ側インターフェース151を介してコンピュータ200と接続されていた。本発明において、コンピュータ200内に記憶装置100が内包されていてもよい。
また本実施形態では、冗長性回復のための代替領域は、記憶装置100とLAN400で接続された記憶装置300上の記憶媒体303上に確保される例を示した。本発明において、記憶装置100と記憶装置300とがSAN(Storage Area Network)等の専用ネットワークなど他種のネットワーク形態で接続されていてもよい。また、本発明において、例えば、記憶装置100とUSB(Universal Serial Bus)もしくはSCSI(Small Computer System Interface)等で接続された外部記憶媒体上に代替領域が確保されてもよい。
また、記憶装置100が、RAID構成に加えてホットスペアディスクを持っている場合であっても、本実施形態による冗長性回復は効果的である。ここで、ホットスペアディスクとは、RAID構成において予備用に確保されている記憶媒体である。ホットスペアディスクは、RAID構成に含まれる記憶媒体に障害が生じた場合、障害の生じていない記憶媒体から全量データコピーを受けることで、システムのデータ冗長性を回復させる役割をもつ。
記憶装置100がホットスペアディスクを有する場合において、記憶媒体182に障害によりアクセスできない領域が生じると、RAID管理モジュール161はその障害を検知し、記憶装置100は前記の冗長性回復処理によってデータの冗長性を回復させる。
その後、記憶装置100は、ホットスペアディスクに記憶媒体181から全量データコピーを行う。全量コピーの完了により、記憶装置100内部で、記憶媒体181とホットスペアディスクとでデータの冗長性が確保される。これにより、障害の生じた記憶媒体182および記憶装置300内の代替領域を解放してもデータの冗長性が保たれるようになるため、その後、記憶媒体182の交換や代替領域の解放が可能となる。
上記実施の形態においては、記憶媒体303に確保する代替領域のサイズは、アクセス不能領域(障害が発生した領域)のサイズと同一であった。この発明は、これに限定されない。データの安全性を考慮し、アクセス不能領域を含む所定範囲の領域(ただし、内部記憶媒体の一部)と同一のサイズの代替領域を確保し、所定範囲へのアクセス要求があった際に、記憶媒体303にアクセスするように構成してもよい。ただし、冗長性の回復に要する時間を抑えるために、所定範囲は、内部記憶媒体の一部であることが望ましい。
上記のとおり、本発明によれば、ホットスペアディスクへの全量データコピーが完了する前にデータの冗長性を確保することができ、冗長性を失った状態が長時間続くことを防ぐことができる。
以上、本発明の実施の形態について説明したが、本発明は、前記の実施の形態に限定されるものではなく、例えば各実施の形態及び各変形例を適宜組み合わせた態様、またそれらと均等な技術的範囲をも含む。
また、本願発明は、上述の各種の構成を全て備えている必要はない。
例えば、図1において、冗長構成の複数の内部記憶媒体(131、132)と、コンピュータからのアクセス要求に従って、前記複数の内部記憶媒体のそれぞれにアクセスする内部アクセス手段と、前記複数の内部記憶媒体の、前記内部アクセス手段がアクセスできなくなったアクセス不能領域を検出するアクセス不能領域検出手段と、前記アクセス不能領域検出手段により前記アクセス不能領域が検出された場合に、前記アクセス不能領域に代替する代替領域を、前記複数の内部記憶媒体以外の外部記憶媒体に確保する代替領域確保手段と、前記アクセス不能領域に記憶されていたデータを、他の内部記憶媒体から取得するデータ取得手段と、前記データ取得手段により取得されたデータを、前記外部記憶媒体に確保された前記代替領域に書き込む書込手段と、前記コンピュータにより前記アクセス不能領域にアクセス要求がなされた場合に、前記外部記憶媒体上の前記代替領域にアクセスする外部アクセス手段と、して機能する制御部110とにより、本願発明に係る記憶装置が実現可能である。
同様に、本願発明は、図1の構成において、制御部110が、冗長構成の複数の記憶媒体(131、132)上の障害領域を検出するステップと、障害領域が検出された場合に、前記障害領域に代替する代替領域を、冗長構成の複数の記憶媒体(131、132)以外の他の記憶媒体上に確保するステップと、障害領域に記憶されていたデータを、障害の発生していない記憶媒体から取得し、代替領域に書き込むステップと、障害領域へのアクセス要求がなされた場合に、前記代替領域にアクセスするステップと、を実行すること、あるいは、プログラムが制御部110にこれらのステップを実行させることによっても実現可能である。
上記実施形態では、記憶装置100がCPU111とROM112とRAM113とを備え、CPU111が、ROM112に記憶されているプログラムに従って、ソフトウェアにより各処理が実現される例を示した。しかし、記憶装置100が実行する各処理は、ソフトウェアにより実現されるものに限定されない。例えば、記憶装置100は、マイクロコンピュータ、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)、DSP(Digital Signal Processor)などにより構成されてもよい。
なお、本発明に係る記憶装置は、専用のシステムによらず、通常のコンピュータシステムを用いても実現可能である。例えば、コンピュータに、上記動作を実行するためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、DVD(Digital Versatile Disk)、MO(Magnet Optical Disk)などのコンピュータ読み取り可能な記憶媒体に記憶して配布し、これをコンピュータシステムにインストールすることにより、上述の処理を実行する記憶装置を構成しても良い。さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを記憶しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
冗長構成の複数の内部記憶媒体と、
コンピュータからのアクセス要求に従って、前記複数の内部記憶媒体のそれぞれにアクセスする内部アクセス手段と、
前記複数の内部記憶媒体の、前記内部アクセス手段がアクセスできなくなったアクセス不能領域を検出するアクセス不能領域検出手段と、
前記アクセス不能領域検出手段により前記アクセス不能領域が検出された場合に、前記アクセス不能領域に代替する代替領域を、前記複数の内部記憶媒体以外の外部記憶媒体に確保する代替領域確保手段と、
前記アクセス不能領域に記憶されていたデータを、他の内部記憶媒体から取得するデータ取得手段と、
前記データ取得手段により取得されたデータを、前記外部記憶媒体に確保された前記代替領域に書き込む書込手段と、
前記コンピュータにより前記アクセス不能領域にアクセス要求がなされた場合に、前記外部記憶媒体の前記代替領域にアクセスする外部アクセス手段と、
を備える、ことを特徴とする記憶装置。
(付記2)
前記複数の内部記憶媒体のうち少なくとも2つの内部記憶媒体には、同一のデータが記憶され、
前記アクセス不能領域検出手段が、前記少なくとも2つの内部記憶媒体のうちのいずれかの内部記憶媒体に前記アクセス不能領域を検出した場合、前記データ取得手段は、前記アクセス不能領域に記憶されていたデータを、前記少なくとも2つの内部記憶媒体のうちアクセス不能領域が検出された内部記憶媒体以外の内部記憶媒体から取得する、
ことを特徴とする、付記1に記載の記憶装置。
(付記3)
アクセス不能領域が検出された内部記憶媒体以外の内部記憶媒体への前記内部アクセス手段によるアクセス速度と、前記外部記憶媒体への前記外部アクセス手段によるアクセス速度とのうち、いずれか速い方のアクセス手段を特定する特定手段を備え、
前記アクセス不能領域検出手段により前記アクセス不能領域が検出され、前記コンピュータからデータの読み出し要求がなされた場合、前記特定手段により特定されたアクセス手段がデータの読み出しを実行する、
ことを特徴とする、付記2に記載の記憶装置。
(付記4)
前記代替領域確保手段は、前記アクセス不能領域と同一サイズ以上かつ前記アクセス不能領域が検出された内部記憶媒体の容量よりも小さい容量の前記代替領域を確保する、
ことを特徴とする、付記1から3のいずれか1つに記載の記憶装置。
(付記5)
コンピュータより供給される論理アドレスと前記内部記憶媒体の物理アドレスとを対応付けるアドレスマップを記憶するアドレスマップ格納手段をさらに備え、
前記内部アクセス手段は、コンピュータから供給された論理アドレスを、前記アドレスマップを参照して、前記内部記憶媒体の物理アドレスに変換し、変換した物理アドレスにアクセスし、
前記代替領域確保手段は、前記外部記憶媒体に確保した代替領域にアクセスするための第2の論理アドレスを、前記アドレスマップの物理アドレスに置換するマップ更新手段を備え、
前記外部アクセス手段は、コンピュータから供給された論理アドレスを、前記アドレスマップを用いて、前記第2の論理アドレスに変換し、変換した前記第2の論理アドレスにより、前記外部記憶媒体にアクセスする、
ことを特徴とする、付記1から4のいずれか1つに記載の記憶装置。
(付記6)
前記外部アクセス手段と前記書込手段は、前記外部記憶媒体が設けられた他機器とネットワークを介して通信する通信手段を備える、
ことを特徴とする、付記1から5のいずれか1つに記載の記憶装置。
(付記7)
冗長構成の複数の記憶媒体上の障害領域を検出する障害領域検出ステップと、
前記障害領域検出ステップにおいて障害領域が検出された場合に、前記障害領域に代替する代替領域を、前記冗長構成の複数の記憶媒体以外の他の記憶媒体上に確保する代替領域確保ステップと、
前記障害領域に記憶されていたデータを、前記冗長構成の複数の記憶媒体から取得し、前記代替領域に書き込む書込ステップと、
前記障害領域へのアクセス要求がなされた場合に、前記代替領域にアクセスする代替アクセスステップと、
を備える冗長性回復方法。
(付記8)
コンピュータに、
冗長構成の複数の記憶媒体上の障害領域を検出する障害領域検出機能、
前記障害領域検出機能において障害領域が検出された場合に、前記障害領域に代替する代替領域を、前記冗長構成の複数の記憶媒体以外の他の記憶媒体上に確保する代替領域確保機能、
前記障害領域に記憶されていたデータを、前記冗長構成の複数の記憶媒体から取得し、前記代替領域に書き込む書込機能、
前記障害領域へのアクセス要求がなされた場合に、前記代替領域にアクセスする代替アクセス機能、
を実現させるためのプログラム。
100、300 記憶装置
110、310 制御部
111、311 CPU
112、312 ROM
113、313 RAM
121 インターフェースカード
122、320 NIC
131〜133、330 ハードディスク
151 コンピュータ側インターフェース
152、304 ネットワーク側インターフェース
161 RAID管理モジュール
162 アドレス変換モジュール
163、302 I/Oモジュール
171、172、301 アドレスマップ格納部
181、182、303 記憶媒体
200 コンピュータ

Claims (8)

  1. 冗長構成の複数の内部記憶媒体と、
    コンピュータからのアクセス要求に従って、前記複数の内部記憶媒体のそれぞれにアクセスする内部アクセス手段と、
    前記複数の内部記憶媒体の、前記内部アクセス手段がアクセスできなくなったアクセス不能領域を検出するアクセス不能領域検出手段と、
    前記アクセス不能領域検出手段により前記アクセス不能領域が検出された場合に、前記アクセス不能領域に代替する代替領域を、前記複数の内部記憶媒体以外の外部記憶媒体に確保する代替領域確保手段と、
    前記アクセス不能領域に記憶されていたデータを、他の内部記憶媒体から、前記アクセス不能領域とは異なる領域に記録されているデータとは分離して取得するデータ取得手段と、
    前記データ取得手段により取得されたデータを、前記外部記憶媒体に確保された前記代替領域に書き込む書込手段と、
    前記コンピュータにより前記アクセス不能領域にアクセス要求がなされた場合に、前記外部記憶媒体の前記代替領域にアクセスする外部アクセス手段と、を備え、
    前記コンピュータにより前記アクセス不能領域とは異なる領域にアクセス要求がなされた場合に、前記内部アクセス手段は、前記アクセス不能領域が存在する内部記憶媒体の前記アクセス要求がなされた領域にアクセスする、
    とを特徴とする記憶装置。
  2. 前記複数の内部記憶媒体のうち少なくとも2つの内部記憶媒体には、同一のデータが記憶され、
    前記アクセス不能領域検出手段が、前記少なくとも2つの内部記憶媒体のうちのいずれかの内部記憶媒体に前記アクセス不能領域を検出した場合、前記データ取得手段は、前記アクセス不能領域に記憶されていたデータを、前記少なくとも2つの内部記憶媒体のうちアクセス不能領域が検出された内部記憶媒体以外の内部記憶媒体から取得する、
    ことを特徴とする、請求項1に記載の記憶装置。
  3. アクセス不能領域が検出された内部記憶媒体以外の内部記憶媒体への前記内部アクセス手段によるアクセス速度と、前記外部記憶媒体への前記外部アクセス手段によるアクセス速度とのうち、いずれか速い方のアクセス手段を特定する特定手段を備え、
    前記アクセス不能領域検出手段により前記アクセス不能領域が検出され、前記コンピュータからデータの読み出し要求がなされた場合、前記特定手段により特定されたアクセス手段がデータの読み出しを実行する、
    ことを特徴とする、請求項2に記載の記憶装置。
  4. 前記代替領域確保手段は、前記アクセス不能領域と同一サイズ以上かつ前記アクセス不能領域が検出された内部記憶媒体の容量よりも小さい容量の前記代替領域を確保する、
    ことを特徴とする、請求項1から3のいずれか1項に記載の記憶装置。
  5. コンピュータより供給される論理アドレスと前記内部記憶媒体の物理アドレスとを対応付けるアドレスマップを記憶するアドレスマップ格納手段をさらに備え、
    前記内部アクセス手段は、コンピュータから供給された論理アドレスを、前記アドレスマップを参照して、前記内部記憶媒体の物理アドレスに変換し、変換した物理アドレスにアクセスし、
    前記代替領域確保手段は、前記外部記憶媒体に確保した代替領域にアクセスするための第2の論理アドレスを、前記アドレスマップの物理アドレスに置換するマップ更新手段を備え、
    前記外部アクセス手段は、コンピュータから供給された論理アドレスを、前記アドレスマップを用いて、前記第2の論理アドレスに変換し、変換した前記第2の論理アドレスにより、前記外部記憶媒体にアクセスする、
    ことを特徴とする、請求項1から4のいずれか1項に記載の記憶装置。
  6. 前記外部アクセス手段と前記書込手段は、前記外部記憶媒体が設けられた他機器とネットワークを介して通信する通信手段を備える、
    ことを特徴とする、請求項1から5のいずれか1項に記載の記憶装置。
  7. 冗長構成の複数の記憶媒体上の障害領域を検出する障害領域検出ステップと、
    前記障害領域検出ステップにおいて障害領域が検出された場合に、前記障害領域に代替する代替領域を、前記冗長構成の複数の記憶媒体以外の他の記憶媒体上に確保する代替領域確保ステップと、
    前記障害領域に記憶されていたデータを、前記冗長構成の複数の記憶媒体から、前記障害領域とは異なる領域に記録されているデータとは分離して取得し、前記代替領域に書き込む書込ステップと、
    前記障害領域へのアクセス要求がなされた場合に、前記代替領域にアクセスする代替アクセスステップと、
    前記障害領域とは異なる領域へのアクセス要求がなされた場合に、前記障害領域が存在する記憶媒体の前記アクセス要求がなされた領域にアクセスする通常アクセスステップと、
    を備える冗長性回復方法。
  8. コンピュータに、
    冗長構成の複数の記憶媒体上の障害領域を検出する障害領域検出機能、
    前記障害領域検出機能において障害領域が検出された場合に、前記障害領域に代替する代替領域を、前記冗長構成の複数の記憶媒体以外の他の記憶媒体上に確保する代替領域確保機能、
    前記障害領域に記憶されていたデータを、前記冗長構成の複数の記憶媒体から、前記障害領域とは異なる領域に記録されているデータとは分離して取得し、前記代替領域に書き込む書込機能、
    前記障害領域へのアクセス要求がなされた場合に、前記代替領域にアクセスする代替アクセス機能、
    前記障害領域とは異なる領域へのアクセス要求がなされた場合に、前記障害領域が存在する記憶媒体の前記アクセス要求がなされた領域にアクセスする通常アクセス機能、
    を実現させるためのプログラム。
JP2012260234A 2012-11-28 2012-11-28 記憶装置、冗長性回復方法、およびプログラム Active JP5773446B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012260234A JP5773446B2 (ja) 2012-11-28 2012-11-28 記憶装置、冗長性回復方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012260234A JP5773446B2 (ja) 2012-11-28 2012-11-28 記憶装置、冗長性回復方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014106811A JP2014106811A (ja) 2014-06-09
JP5773446B2 true JP5773446B2 (ja) 2015-09-02

Family

ID=51028228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012260234A Active JP5773446B2 (ja) 2012-11-28 2012-11-28 記憶装置、冗長性回復方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5773446B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7011160B2 (ja) * 2018-01-15 2022-01-26 株式会社バッファロー ストレージ装置、ストレージシステム、及びプログラム
JP7167078B2 (ja) * 2020-03-27 2022-11-08 株式会社日立製作所 分散ストレージシステム及び記憶制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4886209B2 (ja) * 2005-04-15 2012-02-29 株式会社東芝 アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法
JP2010009476A (ja) * 2008-06-30 2010-01-14 Hitachi Ltd コンピュータシステム

Also Published As

Publication number Publication date
JP2014106811A (ja) 2014-06-09

Similar Documents

Publication Publication Date Title
US9946655B2 (en) Storage system and storage control method
US20160378344A1 (en) Processor and platform assisted nvdimm solution using standard dram and consolidated storage
US9507671B2 (en) Write cache protection in a purpose built backup appliance
US7984260B2 (en) Storage system provided with a plurality of controller modules
US9003140B2 (en) Storage system, storage control apparatus, and storage control method
US20170139605A1 (en) Control device and control method
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
JP5949408B2 (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
KR100827287B1 (ko) 반도체 보조 기억 장치 및 이를 이용한 데이터 저장 방법
US8433949B2 (en) Disk array apparatus and physical disk restoration method
US20190073147A1 (en) Control device, method and non-transitory computer-readable storage medium
CN116204137B (zh) 基于dpu的分布式存储系统、控制方法、装置及设备
WO2021088367A1 (zh) 数据恢复方法及相关设备
KR20210137922A (ko) 복구 공간으로 패리티 공간을 사용한 데이터 복구 시스템, 방법 및 장치
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
US9740423B2 (en) Computer system
US20180307427A1 (en) Storage control apparatus and storage control method
US9836359B2 (en) Storage and control method of the same
US11675673B2 (en) System and method for promoting fractured volumes
KR20210137921A (ko) 예비 스토리지 장치와 결함 복원형 스토리지 장치를 사용한 데이터 복구를 위한 시스템, 방법, 및 장치
JP5729043B2 (ja) ストレージ装置および制御装置
JP4789263B2 (ja) メモリ制御システム、メモリ制御装置、メモリ制御方法
WO2016122602A1 (en) Systems and methods for sharing non-volatile memory between multiple access models
JP3793544B2 (ja) ディスクアレイ装置及びその制御方法
US12008267B2 (en) Storage management system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140305

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150625

R150 Certificate of patent or registration of utility model

Ref document number: 5773446

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150