JP5181795B2 - Raidシステム、及びエラーセクタの修復方法 - Google Patents

Raidシステム、及びエラーセクタの修復方法 Download PDF

Info

Publication number
JP5181795B2
JP5181795B2 JP2008100132A JP2008100132A JP5181795B2 JP 5181795 B2 JP5181795 B2 JP 5181795B2 JP 2008100132 A JP2008100132 A JP 2008100132A JP 2008100132 A JP2008100132 A JP 2008100132A JP 5181795 B2 JP5181795 B2 JP 5181795B2
Authority
JP
Japan
Prior art keywords
error
sector
storage device
raid
information
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
JP2008100132A
Other languages
English (en)
Other versions
JP2009252001A (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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2008100132A priority Critical patent/JP5181795B2/ja
Publication of JP2009252001A publication Critical patent/JP2009252001A/ja
Application granted granted Critical
Publication of JP5181795B2 publication Critical patent/JP5181795B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、並列接続された複数のハードディスクにおいて検出されたエラーセクタを修復するRAIDシステム、及びエラーセクタの修復方法に関する。
現在、複数のハードディスクを並列接続してそれら全体を一つのディスク装置として動作させることで、データ読み書きの高速化や耐障害性の向上等を実現するRAID(Redundant Arrays of Inexpensive Disks)システムが製品化されている。
例えば、RAIDシステムは、サーバシステムに適用されている。それらのサーバシステムは、各ハードディスクにおいて発生したデータエラーを検出し、修復する機能を持つ(例えば、特許文献1参照)。
特開2006−120042号公報
しかし、各ハードディスクにおけるデータエラーの検出又は修復の為の機能は、サーバシステム本体に組み込まれている為、それらの機能実行時において、サーバシステム全体としての一時的な性能低下が発生する。
本発明は、上記問題点に鑑みてなされたもので、エラーの検出又は修復の際の上位のシステムに対する影響が少ないRAIDシステム、及びエラーセクタの修復方法を提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係るRAIDシステムは、
RAIDを構成する複数の記憶装置と、前記複数の記憶装置を制御するRAIDコントローラとを備えるRAIDシステムであって、
前記記憶装置は、それぞれ、
任意のデータを記憶する記憶媒体と、
エラーセクタの履歴を記憶する履歴記憶手段と、
前記記憶媒体上において、当該装置によって修復不可能なエラーセクタを検出する修復不可能エラー検出手段と、
前記修復不可能エラー検出手段が修復不可能なエラーセクタを検出した場合に、当該エラーセクタに関するエラー情報を前記RAIDコントローラに送信するエラー情報送信手段と、
前記エラー情報送信手段に前記エラー情報を送信させるか否かを設定する設定手段と、
前記記憶媒体上において、当該装置によって修復可能なエラーセクタを検出する修復可能エラー検出手段と、
前記修復可能エラー検出手段が修復可能なエラーセクタを検出した場合に、当該エラーセクタを修復する第1の修復手段と、を備え、
前記RAIDコントローラは、
前記エラー情報送信手段が送信した前記エラー情報を受信した場合には、当該エラー情報の発信元以外の他の記憶装置が記憶するデータを用いて、当該エラー情報が示す前記エラーセクタを修復する第2の修復手段と、
前記記憶装置の前記設定手段に前記エラー情報を送信させるように設定させ、前記記憶装置の前記修復不可能エラー検出手段と前記修復可能エラー検出手段とにエラーセクタの検出を開始させる旨の要求を各記憶装置に送信する要求送信手段と、を備え
前記記憶装置は、前記RAIDコントローラの前記要求送信手段から前記要求を受信した場合に、前記設定手段に前記エラー情報を送信させるように設定させ、前記修復不可能エラー検出手段と前記修復可能エラー検出手段とにエラーセクタの検出を開始させ、
前記記憶装置の前記履歴記憶手段は、前記修復不可能エラー検出手段が修復不可能なエラーセクタを検出した場合に当該エラーセクタの履歴を記憶し、
前記記憶装置の前記エラー情報送信手段は、前記設定手段により前記エラー情報を送信する設定になっている場合には、当該エラーセクタのエラー情報を送信する、
ことを特徴とする。
本発明の第2の観点に係るエラーセクタの修復方法は、
任意のデータを記憶する記憶媒体をそれぞれ備え、RAIDを構成する複数の記憶装置と、前記複数の記憶装置を制御するRAIDコントローラとを備えるRAIDシステムのエラーセクタ修復方法であって、
エラーセクタの履歴を記憶する履歴記憶ステップと、
前記記憶媒体上において、前記記憶装置によって修復不可能であるエラーセクタを検出する修復不可能エラー検出ステップと、
前記修復不可能エラー検出ステップで前記修復不可能であるエラーセクタを検出した場合に、当該エラーセクタに関するエラー情報を前記RAIDコントローラに送信するエラー情報送信ステップと、
前記エラー情報を送信させるか否かを設定する設定ステップと、
前記記憶媒体上において、前記記憶装置によって修復可能であるエラーセクタを検出する修復可能エラー検出ステップと、
前記修復可能エラー検出ステップで前記修復可能なエラーセクタを検出した場合に、当該エラーセクタを修復する第1の修復ステップと、
前記エラー情報送信ステップで前記記憶装置が送信した前記エラー情報をRAIDコントローラが受信した場合には、RAIDコントローラに、当該エラー情報の発信元以外の前記記憶装置が記憶するデータを用いて、当該エラー情報が示す前記エラーセクタを修復させる第2の修復ステップと、
前記記憶装置に前記エラー情報を送信させるように設定させ、前記記憶装置にエラーセクタの検出を開始させる旨の要求を各記憶装置に送信する要求送信ステップと、
前記記憶装置が前記RAIDコントローラから前記要求を受信した場合に、前記エラー情報を送信させるよう設定させ、エラーセクタの検出を開始させるステップと、
前記記憶装置が修復不可能なエラーセクタを検出した場合に、当該エラーセクタの履歴を記憶するステップと、
前記記憶装置が前記エラー情報を送信する設定になっている場合に、当該エラーセクタのエラー情報を送信するステップと、を備える、
ことを特徴とする。
本発明のRAIDシステムによれば、エラーの検出又は修復の際の上位のシステムに対する影響を少なくすることができる。
以下、本発明の実施形態に係るRAIDシステムを備えるコンピュータシステム1000について説明する。コンピュータシステム1000は、図1に示すように、ホスト装置100と、RAIDコントローラ200と、ディスクアレイ300とを備える。なお、本発明の実施形態に係るRAIDシステムは、RAIDコントローラ200とディスクアレイ300とから構成される。
ホスト装置100は、RAIDコントローラ200を介してディスクアレイ300にデータを記憶させ、又は、ディスクアレイ300からデータを読み取る。
ホスト装置100は、図1に示すように、CPU(Central Processing Unit)110と、RAM(Random Access Memory)120と、ROM(Read Only Memory)130と、記憶装置インタフェース回路140とを備える。
CPU110は、ホスト装置100の全体の動作を制御する。例えば、CPU110は、ROM130に格納されているプログラムを実行することにより、RAIDコントローラ200を介してディスクアレイ300にデータを記憶させ、又は、ディスクアレイ300からデータを読み取る。その際に、CPU110は、RAIDコントローラ200に対して、コマンドを送信する。
RAM120は、CPU110のワークエリアとして機能する。
ROM130は、CPU110の動作プログラムを記憶する。
記憶装置インタフェース回路140は、RAIDコントローラ200と接続され、ホスト装置100とRAIDコントローラ200との間のデータ通信を制御する。
RAIDコントローラ200は、ディスクアレイ300が備える複数のハードディスク310を制御する。
例えば、RAIDコントローラ200は、ホスト装置100から送信されたコマンドに応じて、RAID1〜6、RAID0+1、RAID1+0の何れかの方式で、ホスト装置100から供給されたデータを二重化及び/又はパリティ化して、ディスクアレイ300に記憶させる。
また、RAIDコントローラ200は、ホスト装置100から送信されたコマンドに応じて、ディスクアレイ300からデータを読み取ってホスト装置100に送信する。
また、RAIDコントローラ200は、ディスクアレイ300が備える一のハードディスク310から修復不可能なエラーセクタに関するエラー情報を受信すると、そのエラーセクタの修復処理を行う。
RAIDコントローラ200は、図1に示すように、ホストインタフェース回路210と、MPU(Micro Processing Unit)220と、RAM(Random Access Memory)230と、ROM(Read Only Memory)240と、複数のHDDインタフェース回路250とを備える。
ホストインタフェース回路210は、ホスト装置100と接続され、ホスト装置100とRAIDコントローラ200との間のデータ通信を制御する。
MPU220は、RAIDコントローラ200の全体の動作を制御する。
例えば、MPU220は、ホスト装置100から送信されたコマンドに応じて、RAID1〜6、RAID0+1、RAID1+0の何れかの方式で、ホスト装置100から供給されたデータを、ディスクアレイ300に記憶させる。
また、MPU220は、ホスト装置100から送信されたコマンドに応じて、ディスクアレイ300からデータを読み取ってホスト装置100に送信する。
また、MPU220は、ディスクアレイ300が備える一のハードディスク310から修復不可能なエラーセクタに関するエラー情報を受信した場合に、そのエラーセクタの修復処理を行う。
RAM230は、MPU220のワークエリアとして機能する。
ROM240は、MPU220の動作プログラムを記憶する。
HDDインタフェース回路250は、ハードディスク310と接続され、ハードディスク310とRAIDコントローラ200との間のデータ通信を制御する。なお、図1におけるHDDインタフェース250−1,2,3,・・・は、HDDインタフェース250と総称し、例えば、HDDインタフェース250−1は、ハードディスク310−1に接続され、ハードディスク310−1とRAIDコントローラ200との間のデータ通信を制御する。
また、HDDインタフェース回路250は、ハードディスク310との接続(ホットスワップ)を検出してMPU220に報知する。
ディスクアレイ300は、RAID1〜6、RAID0+1、RAID1+0の何れかの方式で、ホスト装置100から供給されたデータを二重化及び/又はパリティ化して各ハードディスク310に記憶する。ディスクアレイ300は、図1に示すように、複数のハードディスク310を備える。なお、図1におけるハードディスク310−1,2,3,・・・は、ハードディスク310と総称し、それぞれ、RAIDコントローラ200に接続される。
ハードディスク310は、ANSI(American National Standard Institute)仕様のバックグラウンドメディアスキャン(BGMS)機能を備える。
さらに詳しく説明すると、ハードディスク310は、修復不可能なエラーセクタを検出した場合には、その履歴をエラーログ領域310cに記録する。そして、RAIDコントローラ200にエラーセクタに関する情報を送信する設定がされていれば、RAIDコントローラ200に、修復不可能なエラーセクタに関するエラー情報を送信する。
また、ハードディスク310は、修復可能なエラーセクタを検出した場合には、そのエラーセクタの修復を行う。
ハードディスク310は、図2に示すように、インタフェース回路311と、ハードディスクコントローラ312と、RAM313と、ROM314と、ドライブ315と、磁気ディスク316とを備える。
インタフェース回路311は、RAIDコントローラ200と接続され、ハードディスク310とRAIDコントローラ200との間のデータ通信を制御する。
ハードディスクコントローラ312(以下、HDC312)は、ハードディスク310の全体の動作を制御する。
例えば、HDC312は、RAIDコントローラ200から送信されたコマンドに応じて、RAIDコントローラ200から供給されたデータを、磁気ディスク316に記憶させる。
また、HDC312は、RAIDコントローラ200から送信されたコマンドに応じて、磁気ディスク316からデータを読み取ってRAIDコントローラ200に送信する。
また、HDC312は、磁気ディスク316上において、装置内で修復不可能なエラーセクタの検出を行う。そして、修復不可能なエラーセクタを検出した場合には、その履歴をエラーログ領域310cに記録する。そして、RAIDコントローラ200にエラーセクタに関する情報を送信する設定がされていれば、RAIDコントローラ200に、修復不可能なエラーセクタに関するエラー情報を送信する。
また、HDC312は、磁気ディスク316上において、装置内で修復可能なエラーセクタの検出を行う。そして、修復可能なエラーセクタを検出した場合には、そのエラーセクタの修復を行う。
RAM313は、HDC312のワークエリアとして機能する。
ROM314は、HDC312の動作プログラムを記憶する。
ドライブ315は、HDC312の制御に基づいて、磁気ディスク316にデータの書き込みを行う。また、ドライブ315は、HDC312の制御に基づいて、磁気ディスク316からデータの読み取りを行う。
磁気ディスク316は、種々のデータを記憶する。また、磁気ディスク316は、図3(a)に示すように、通常セクタ領域316aと、代替セクタ領域316bと、エラーログ領域316cと、設定情報記憶領域316dとを備える。
通常セクタ領域316aには、ホスト装置100から供給されたデータ等が記憶される。
代替セクタ領域316bには、磁気ディスク316においてエラーセクタが検出された場合に、必要に応じて、そのエラーセクタに対応する代替セクタが生成される。
エラーログ領域316cには、修復不可能なエラーセクタが検出された場合に、その履歴を記憶する。
設定情報記憶領域316dには、設定情報316eが記憶される。
設定情報316eは、ハードディスク310の設定を記載した情報であり、ハードディスク310は、設定情報316eに記載された設定に基づいて動作する。設定情報316eは、例えば、図3(b)に示すように、バックグラウンドメディアスキャンを行うか否かを設定する「BGMSモード」の欄と、修復不可能なエラーセクタが検出された場合に、そのエラーセクタに関するエラー情報を送信するか否かを設定する「送信モード」の欄と、修復不可能なエラーセクタを検出するための「閾値1」の欄と、修復可能なエラーセクタを検出するための「閾値2」の欄とから構成される。
例えば、「BGMSモード」の欄が「ON」であれば、ハードディスク310は、バックグラウンドメディアスキャンを行い、「BGMSモード」の欄が「OFF」であれば、ハードディスク310は、バックグラウンドメディアスキャンを行わない。
また、「送信モード」の欄が「ON」であれば、ハードディスク310は、修復不可能なエラーセクタを検出した場合に、そのエラー情報をRAIDコントローラ200に送信する。
また、「送信モード」の欄が「OFF」であれば、ハードディスク310は、修復不可能なエラーセクタを検出した場合に、そのエラー情報を送信しない。
また、「閾値1」の欄が「20」であれば、ハードディスク310は、あるセクタに対してリトライを20回行って、成功しない場合には、そのセクタを修復不可能なエラーセクタとして検出する。
また、「閾値1」の欄が「20」で、「閾値2」の欄が「5」であれば、ハードディスク310は、あるセクタに対してリトライを5回以上20回以下、行って成功した場合には、そのセクタを修復可能なエラーセクタとして検出する。
なお、設定情報316eの内容は、ホスト装置100からのコマンド等によって、変更可能である。
例えば、「BGMSモード」の欄が「ON」である状態において、RAIDコントローラ200より「BGMSモード」の欄を「ON」にする旨の命令を受信すると、つまり、バックグラウンドメディアスキャンを行う旨の命令を受信すると、ハードディスク310は、あらためて始めからバックグラウンドスキャンを開始する。
また、「BGMSモード」の欄が「OFF」である状態において、RAIDコントローラ200より「BGMSモード」の欄を「ON」にする旨の命令を受信すると、つまり、バックグラウンドメディアスキャンを行う旨の命令を受信すると、ハードディスク310は、バックグラウンドスキャンを開始する。
以下、上記構成のコンピュータシステム1000の動作を説明する。
コンピュータシステム1000において、ハードディスク310は、それぞれ、装置内では修復不可能なエラーセクタを検出した場合に、当該エラーセクタに関するエラー情報をRAIDコントローラ200に送信する。
また、ハードディスク310は、装置内で修復可能なエラーセクタを検出した場合に、当該エラーセクタを修復する。
RAIDコントローラ200は、ハードディスク310より修復不可能なエラーセクタに関するエラー情報を受信した場合には、そのエラー情報の発信元以外の他のハードディスク310が記憶するデータを用いて、エラー情報が示すエラーセクタを修復する。さらに詳しく説明すると、RAIDコントローラ200は、他のハードディスク310が記憶するパリティデータや二重化されたデータ等のうちから、エラーセクタのデータと同等のデータを取得して、取得したデータを使用してエラーセクタを修復する。
ここで、ハードディスク310が行うバックグラウンドメディアスキャン処理を、図4のフローチャートを参照して詳細に説明する。
BGMSモードがONの状態でハードディスク310の電源が投入されると、又は、RAIDコントローラ200の命令によりBGMSモードがONの状態に設定されると、ハードディスク310のHDC312は、バックグラウンドメディアスキャンを開始し、ドライブ315を制御して、磁気ディスク上の所定のセクタの読取処理を行う(ステップS101)。
次に、HDC312は、前のステップにおける読取処理の結果、データを読み取れたか否かを判別する(ステップS102)。
データを読み取れたと判別すると(S102;YES)、HDC312は、ステップS114に進める。
データを読み取れていないと判別すると(S102;NO)、HDC312は、カウンタNに「0」を代入し(ステップS103)、ステップS104に進める。
HDC312は、設定情報316eを参照して、カウンタNが閾値1と等しいか否かを判別する(ステップS104)。
カウンタNが閾値1と等しいと判別すると(S104;YES)、HDC312は、読取処理を行ったセクタを修復不可能なエラーセクタとして判別し、そのエラーセクタのアドレス等のエラー情報をエラーログ領域316cのエラーログに記録し(ステップS105)、設定情報316eを参照して、送信モードがONになっているか否かを判別する(ステップS106)。
送信モードがONになっていると判別すると(S106;YES)、HDC312は、エラーログに記録したエラー情報をRAIDコントローラ200に送信し(ステップS107)、ステップS114に進める。
送信モードがOFFになっていると判別すると(S106;NO)、HDC312は、ステップS114に進める。
カウンタNが閾値1と等しくないと判別すると(S104;NO)、HDC312は、ステップS102で読取処理に失敗したセクタに対する読取処理、所謂、リトライを行い、カウンタNに「1」を加算する(ステップS108)。つまり、カウンタNの値は、あるセクタに対してリトライを行った回数である。
次に、HDC312は、リトライの結果、読み取りが成功したか否かを判別する(ステップS109)。
再度の読み取りが失敗したと判別すると(S109;NO)、HDC312は、ステップS104に戻す。
再度の読み取りが成功したと判別すると(S109;YES)、HDC312は、設定情報316eを参照して、カウンタNの値(リトライ回数)が閾値2以上であるか否かを判別する(ステップS110)。
リトライ回数が閾値2未満であると判別すると(S110;NO)、HDC312は、ステップS114に進める。
リトライ回数が閾値2以上であると判別すると(S110;YES)、HDC312は、リトライを行ったセクタを修復可能なエラーセクタとして判別し、そのエラーセクタに対して、読み取ったデータを上書き(リフレッシュ)し(ステップS111)、リフレッシュしたセクタに対して読取処理を行い、読み取りが成功したか否かを判別する(ステップS112)。
リフレッシュしたセクタに対する読み取りが成功したと判別すると(S112;YES)、HDC312は、ステップS114に進める。
リフレッシュしたセクタに対する読み取りが失敗したと判別すると(S112;NO)、HDC312は、Reassign Blocks Commandを実行して修復を行い、ステップS114に進める。詳しく説明すると、HDC312は、代替セクタ領域316bに、エラーセクタに対応する代替セクタを作成し、その代替セクタ上にエラーセクタから読み取ったデータを記憶させる。そして、そのエラーセクタのデータを読み取る場合には、そのエラーセクタに対応する代替セクタからデータを読み取るようにする。
次に、HDC312は、RAIDコントローラ200よりコマンドを受信したか否かを判別する(ステップS114)。
RAIDコントローラ200よりコマンドを受信していないと判別すると(S114;NO)、HDC312は、トラック上における次のセクタに対して読取処理を行い(ステップS115)、ステップS102に戻す。
RAIDコントローラ200よりコマンドを受信したと判別すると(S114;YES)、HDC312は、処理を終了する。
このようにして、バックグラウンドメディアスキャン処理によれば、ハードディスク310は、あるセクタに対して、所定回数、リトライを行っても成功しない場合に、装置内では修復不可能なエラーセクタとして判別し、当該エラーセクタに関するエラー情報をRAIDコントローラ200に送信することができる。
また、ハードディスク310は、あるセクタに対して、所定の範囲内の回数で、リトライを行って成功した場合には、装置内で修復可能なエラーセクタとして判別し、当該エラーセクタを修復することができる。
次に、RAIDコントローラ200が行うエラーセクタ修復処理を、図5のフローチャートを参照して詳細に説明する。
先ず、何れかのハードディスク310の接続を検出すると、つまり、ホットスワップ時に、また、RAIDコントローラ200の電源が投入されると、RAIDコントローラ200のMPU220は、各ハードディスク310に、BGMSモードがONの設定に、且つ、修復不可能なエラーセクタに関するエラー情報を送信する設定にする旨の命令を送信する(ステップS201)。
次に、MPU220は、何れかのハードディスク310より修復不可能なエラーセクタに関するエラー情報を受信したか否かを判別する(ステップS202)。
何れかのハードディスク310よりエラー情報を受信していないと判別すると(S202;NO)、MPU220は、ホスト装置100よりコマンドを受信したか否かを判別する(ステップS203)。
ホスト装置100よりコマンドを受信したと判別すると(S203;YES)、MPU220は、受信したコマンドを各ハードディスク310に転送し(ステップS204)、処理を終了する。
ホスト装置100よりコマンドを受信していないと判別すると(S203;NO)、MPU220は、ステップS202に戻す。
何れかのハードディスク310よりエラー情報を受信したと判別すると(S202;YES)、MPU220は、受信したエラー情報のエラーセクタに記憶されているデータと同等のデータがパリティデータや二重化されたデータとして他のハードディスク310に記憶されているか否かを判別する(ステップS202)。
エラー情報のエラーセクタに記憶されているデータが他のハードディスク310に記憶されていないと判別すると(S202;NO)、MPU220は、エラー情報を送信したハードディスク310をコンピュータシステム1000から切り離して(ステップS206)、ステップS202に戻す。
エラー情報のエラーセクタに記憶されているデータが他のハードディスク310に記憶されていると判別すると(S202;YES)、MPU220は、他のハードディスク310よりエラーセクタのデータと同等のデータを取得し(ステップS207)、エラー情報を送信したハードディスク310に、その磁気ディスク316上のエラーセクタに、取得したデータを上書きさせる(ステップS208)。
次に、MPU220は、エラー情報を送信したハードディスク310に、上書きしたセクタに対して再度読取処理を行わせ(ステップS209)、読み取りが成功したか否かを判別させる(ステップS210)。
読み取りが成功したと判別すると(S210;YES)、MPU220は、ステップS202に戻る。
読み取りが失敗したと判別すると(S210;NO)、MPU220は、エラー情報を送信したハードディスク310に、Reassign Blocks Commandを実行させ、修復を行わせ、ステップS201に戻す。つまり、エラー情報を送信したハードディスク310は、代替セクタ領域316bに、修復不可能なエラーセクタに対応する代替セクタを作成し、その代替セクタ上に他のハードディスク310から読み取ったデータを記憶させる。そして、そのエラーセクタのデータを読み取る場合には、そのエラーセクタに対応する代替セクタからデータを読み取るようにする。
このようにして、エラーセクタ修復処理によれば、RAIDコントローラ200は、何れかのハードディスク310において修復不可能なエラーセクタが検出された場合に、他のハードディスク310に記憶されるデータを使用して、そのエラーセクタを修復することが出来る。
以上、本発明の実施形態に係るRAIDシステムを適用したコンピュータシステム1000によれば、RAIDシステムにおけるデータの修復処理をホスト装置100に負荷を掛けずに行うことができる。
また、ハードディスク310は、バックグラウンドメディアスキャンを行い、さらに、RAIDコントローラ200は、修復不可能なエラーセクタのエラー情報を受信した場合には、他のハードディスク310のデータをエラーセクタに上書きさせ、それでも修復されない場合には、さらにReassign Blocks Commandによって代替セクタを生成して修復するので確実にエラーセクタの修復を行うことができる。
なお、本発明は上記実施形態に限定されず、種々の応用及び変形が可能である。
上記実施形態においては、ハードディスク310は、修復不可能なエラーセクタを検出した場合には、その履歴をエラーログ領域310cに記録したが、修復可能なエラーセクタを検出した場合にも、その履歴をエラーログ領域310cに記録するようにしてもよい。
上記実施形態においては、ディスクアレイ300を構成する記憶装置にハードディスクドライブを適用したが、それに限定されるものではなく、光ディスクドライブ、光磁気ディスクドライブ、半導体記憶装置等を適用してもよい。
また、その他、具体的な細部構成等についても適宜変更可能である。
本発明の実施形態に係るコンピュータシステムの構成図である。 図1のハードディスクの構成図である。 (a)図2の磁気ディスクの構成図である。(b)図2の磁気ディスクが記憶する設定情報を説明するための図である。 図1のハードディスクが行うバックグラウンドメディアスキャン処理を説明するためのフローチャートである。 図1のRAIDコントローラが行うエラーセクタ修復処理を説明するためのフローチャートである。
符号の説明
100 ホスト装置
110 CPU
120 RAM
130 ROM
140 記憶装置インタフェース回路
200 RAIDコントローラ
210 ホストインタフェース回路
220 MPU
230 RAM
240 ROM
250 HDDインタフェース回路
300 ディスクアレイ
310 ハードディスク
311 インタフェース回路
312 ハードディスクコントローラ
313 RAM
314 ROM
315 ドライブ
316 磁気ディスク
316a 通常セクタ領域
316b 代替セクタ領域
316c エラーログ領域
316d 設定情報記憶領域
316e 設定情報

Claims (8)

  1. RAIDを構成する複数の記憶装置と、前記複数の記憶装置を制御するRAIDコントローラとを備えるRAIDシステムであって、
    前記記憶装置は、それぞれ、
    任意のデータを記憶する記憶媒体と、
    エラーセクタの履歴を記憶する履歴記憶手段と、
    前記記憶媒体上において、当該装置によって修復不可能なエラーセクタを検出する修復不可能エラー検出手段と、
    前記修復不可能エラー検出手段が修復不可能なエラーセクタを検出した場合に、当該エラーセクタに関するエラー情報を前記RAIDコントローラに送信するエラー情報送信手段と、
    前記エラー情報送信手段に前記エラー情報を送信させるか否かを設定する設定手段と、
    前記記憶媒体上において、当該装置によって修復可能なエラーセクタを検出する修復可能エラー検出手段と、
    前記修復可能エラー検出手段が修復可能なエラーセクタを検出した場合に、当該エラーセクタを修復する第1の修復手段と、を備え、
    前記RAIDコントローラは、
    前記エラー情報送信手段が送信した前記エラー情報を受信した場合には、当該エラー情報の発信元以外の他の記憶装置が記憶するデータを用いて、当該エラー情報が示す前記エラーセクタを修復する第2の修復手段と、
    前記記憶装置の前記設定手段に前記エラー情報を送信させるように設定させ、前記記憶装置の前記修復不可能エラー検出手段と前記修復可能エラー検出手段とにエラーセクタの検出を開始させる旨の要求を各記憶装置に送信する要求送信手段と、を備え
    前記記憶装置は、前記RAIDコントローラの前記要求送信手段から前記要求を受信した場合に、前記設定手段に前記エラー情報を送信させるように設定させ、前記修復不可能エラー検出手段と前記修復可能エラー検出手段とにエラーセクタの検出を開始させ、
    前記記憶装置の前記履歴記憶手段は、前記修復不可能エラー検出手段が修復不可能なエラーセクタを検出した場合に当該エラーセクタの履歴を記憶し、
    前記記憶装置の前記エラー情報送信手段は、前記設定手段により前記エラー情報を送信する設定になっている場合には、当該エラーセクタのエラー情報を送信する、
    ことを特徴とするRAIDシステム。
  2. 前記RAIDコントローラの前記第2の修復手段は、
    前記修復不可能なエラーセクタに対応するデータを前記他の記憶装置から読み取り、
    前記修復不可能なエラーセクタに、前記他の記憶装置から読み取ったデータを上書きし、
    上書きを行った前記エラーセクタに対して再び読取処理を行って読み取れなかった場合に、当該エラーセクタを代替セクタに対応させ、当該代替セクタに当該エラーセクタのデータを書き込むことによって修復を行う、
    ことを特徴とする請求項1に記載のRAIDシステム。
  3. 前記記憶装置の前記修復不可能エラー検出手段は、
    任意のセクタに対して第1閾値の回数、読取処理を行って読み取れなかった場合に、当該セクタを修復不可能なエラーセクタとして検出し、
    前記記憶装置の前記修復可能エラー検出手段は、
    任意のセクタに対して読取処理を繰り返し行い、第2閾値以上且つ前記第1閾値以下の回数で読み取れた場合に、当該セクタを修復可能なエラーセクタとして検出し、
    前記記憶装置の前記第1の修復手段は、
    前記修復可能なエラーセクタに、当該エラーセクタから読み取ったデータを上書きし、
    上書きを行った前記エラーセクタに対して再び読取処理を行って読み取れなかった場合に、当該エラーセクタを代替セクタに対応させ、当該代替セクタに当該エラーセクタのデータを書き込むことによって修復を行う、
    ことを特徴とする請求項1又は2に記載のRAIDシステム。
  4. 前記RAIDコントローラの前記要求送信手段は、当該RAIDシステムの電源起動時に、前記要求を送信する、
    ことを特徴とする請求項1乃至3の何れか1項に記載のRAIDシステム。
  5. 前記RAIDコントローラは、
    前記記憶装置との接続を検出する接続検出手段をさらに備え、
    前記RAIDコントローラの前記要求送信手段は、前記接続検出手段が前記接続を検出した場合に、前記要求を送信する、
    ことを特徴とする請求項1乃至4の何れか1項に記載のRAIDシステム。
  6. 前記記憶装置の前記修復不可能エラー検出手段と前記修復可能エラー検出手段とは、当該RAIDシステムの外部の装置からコマンドアクセスがあった場合には、処理を中断する、
    ことを特徴とする請求項1乃至5の何れか1項に記載のRAIDシステム。
  7. 前記記憶装置の前記履歴記憶手段は、前記修復可能エラー検出手段が修復可能なエラーセクタを検出した場合に、当該エラーセクタの履歴を記憶する、
    ことを特徴とする請求項1乃至6の何れか1項に記載のRAIDシステム。
  8. 任意のデータを記憶する記憶媒体をそれぞれ備え、RAIDを構成する複数の記憶装置と、前記複数の記憶装置を制御するRAIDコントローラとを備えるRAIDシステムのエラーセクタ修復方法であって、
    エラーセクタの履歴を記憶する履歴記憶ステップと、
    前記記憶媒体上において、前記記憶装置によって修復不可能であるエラーセクタを検出する修復不可能エラー検出ステップと、
    前記修復不可能エラー検出ステップで前記修復不可能であるエラーセクタを検出した場合に、当該エラーセクタに関するエラー情報を前記RAIDコントローラに送信するエラー情報送信ステップと、
    前記エラー情報を送信させるか否かを設定する設定ステップと、
    前記記憶媒体上において、前記記憶装置によって修復可能であるエラーセクタを検出する修復可能エラー検出ステップと、
    前記修復可能エラー検出ステップで前記修復可能なエラーセクタを検出した場合に、当該エラーセクタを修復する第1の修復ステップと、
    前記エラー情報送信ステップで前記記憶装置が送信した前記エラー情報をRAIDコントローラが受信した場合には、RAIDコントローラに、当該エラー情報の発信元以外の前記記憶装置が記憶するデータを用いて、当該エラー情報が示す前記エラーセクタを修復させる第2の修復ステップと、
    前記記憶装置に前記エラー情報を送信させるように設定させ、前記記憶装置にエラーセクタの検出を開始させる旨の要求を各記憶装置に送信する要求送信ステップと、
    前記記憶装置が前記RAIDコントローラから前記要求を受信した場合に、前記エラー情報を送信させるよう設定させ、エラーセクタの検出を開始させるステップと、
    前記記憶装置が修復不可能なエラーセクタを検出した場合に、当該エラーセクタの履歴を記憶するステップと、
    前記記憶装置が前記エラー情報を送信する設定になっている場合に、当該エラーセクタのエラー情報を送信するステップと、を備える、
    ことを特徴とするエラーセクタの修復方法。
JP2008100132A 2008-04-08 2008-04-08 Raidシステム、及びエラーセクタの修復方法 Active JP5181795B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008100132A JP5181795B2 (ja) 2008-04-08 2008-04-08 Raidシステム、及びエラーセクタの修復方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008100132A JP5181795B2 (ja) 2008-04-08 2008-04-08 Raidシステム、及びエラーセクタの修復方法

Publications (2)

Publication Number Publication Date
JP2009252001A JP2009252001A (ja) 2009-10-29
JP5181795B2 true JP5181795B2 (ja) 2013-04-10

Family

ID=41312639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008100132A Active JP5181795B2 (ja) 2008-04-08 2008-04-08 Raidシステム、及びエラーセクタの修復方法

Country Status (1)

Country Link
JP (1) JP5181795B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5696483B2 (ja) * 2011-01-12 2015-04-08 富士通株式会社 情報記憶システム
JP5874175B2 (ja) * 2011-03-04 2016-03-02 日本電気株式会社 ディスクアレイ装置及びその制御方法
JP6175771B2 (ja) * 2013-01-08 2017-08-09 日本電気株式会社 ディスクアレイ装置、バッドセクタ修復方法および修復プログラム
US10453547B2 (en) * 2017-06-16 2019-10-22 Seagate Technologies Llc Monitoring a memory for retirement

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62137772A (ja) * 1985-12-11 1987-06-20 Hitachi Ltd 磁気記憶サブシステムの読出しエラ−回復方法
JPH0423120A (ja) * 1990-05-18 1992-01-27 Fujitsu Ltd アレイディスク装置における交代ブロックの自動割当方法およびその装置
JP2773560B2 (ja) * 1992-08-14 1998-07-09 日本電気株式会社 レコードの自動書直し装置
JPH07134635A (ja) * 1993-11-10 1995-05-23 Nec Eng Ltd ディスクアレイ装置
JPH08147112A (ja) * 1994-11-21 1996-06-07 Fujitsu Ltd ディスクアレイ装置のエラー回復装置
JPH09258913A (ja) * 1996-03-25 1997-10-03 Ekushingu:Kk 記憶装置アレイシステム
JPH11306695A (ja) * 1998-04-27 1999-11-05 Mitsumi Electric Co Ltd 磁気記録媒体のディフェクト管理方法、およびその方法を実現するプログラムを記録した記録媒体
JP2002108573A (ja) * 2000-09-28 2002-04-12 Nec Corp ディスクアレイ装置、そのエラー制御方法、ならびにその制御プログラムを記録した記録媒体
JP4609034B2 (ja) * 2004-10-25 2011-01-12 富士ゼロックス株式会社 ディスクアレイ装置
JP2007122831A (ja) * 2005-10-31 2007-05-17 Fujitsu Ltd 記憶装置、制御方法及びプログラム

Also Published As

Publication number Publication date
JP2009252001A (ja) 2009-10-29

Similar Documents

Publication Publication Date Title
JP4886209B2 (ja) アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US20050229033A1 (en) Disk array controller and information processing apparatus
JP4852118B2 (ja) ストレージ装置及び論理ディスク管理方法
JP4491330B2 (ja) ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム
JP5181795B2 (ja) Raidシステム、及びエラーセクタの修復方法
US20070036055A1 (en) Device, method and program for recovering from media error in disk array device
JP5040331B2 (ja) 記憶装置、記憶装置の制御方法、及び記憶装置の制御プログラム
JP4203034B2 (ja) アレイコントローラ、メディアエラー修復方法及びプログラム
JP4951493B2 (ja) ディスクアレイ装置
JP5107096B2 (ja) 情報処理装置および起動制御方法
CN105302677A (zh) 信息处理装置和信息处理方法
JP5218147B2 (ja) ストレージ制御装置,ストレージ制御方法およびストレージ制御プログラム
JP2005107839A (ja) アレイコントローラ及びディスクアレイ再構築方法
JP5505329B2 (ja) ディスクアレイ装置及びその制御方法
US10014983B2 (en) System, receiving device, and method
JP2016057876A (ja) 情報処理装置、入出力制御プログラム、及び入出力制御方法
JP2009110303A (ja) ディスク管理方法、ディスク管理装置およびストレージシステム
JP3841595B2 (ja) 記憶装置の交代処理時間判定試験方法
JP2011053878A (ja) ディスクへの書き込み位置の誤算出を検出するストレージ制御装置、ストレージシステム、及びアクセス方法。
JP2014134884A (ja) ディスクアレイ装置、バッドセクタ修復方法および修復プログラム
JP2009211349A (ja) ディスクアレイ制御装置
JP5585930B2 (ja) ディスクアレイ装置、及びデータ制御方法
JP2007183808A (ja) 磁気ディスク装置
JP2000293318A (ja) ディスクアレイ装置およびメディアエラー救済方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120622

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121017

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121231

R150 Certificate of patent or registration of utility model

Ref document number: 5181795

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

Year of fee payment: 3