(57)【要約】【課題】標準インタフェースで規定されているコマンドを使用して、仮想ディスクを構成するディスク毎のSMART属性値を取得すことが可能なRAID、及びこれを備えるコンピュータシステムを提供することを目的とする。【解決手段】RAID２は、当該RAIDを構成する複数のディスク毎の識別子とインデックス番号とを対応付けて予め記憶したHDDポインタテーブル５ａを備えるRAIDコントローラ５と、ディスク毎のSMART属性値を検出するSMART属性値検出部を備える複数のディスク３とを備え、RAIDコントローラ５は、SMART属性値要求コマンドを受信した場合、HDDポインタテーブル５ａのインデックス番号を参照してディスク３を順次選択して識別子と識別子に対応するSMART属性値とを取得し、識別子とSMART属性値とをコンピュータ１に送信するようにしたことを特徴とするコンピュータシステム。【選択図】図１
2010287019.tif 000002
【特許請求の範囲】
【請求項１】
RAIDと、当該RAIDからSMART属性値を取得するコンピュータとから成るコンピュータシステムであって、
前記RAIDは、当該RAIDを構成する複数のディスク毎の識別子とインデックス番号とを対応付けて予め記憶したHDDポインタテーブルを備えるRAIDコントローラと、
前記ディスク毎のSMART属性値を検出するSMART属性値検出部を備える複数の前記ディスクと
を備え、
前記RAIDコントローラは、前記コンピュータからSMART属性値要求コマンドを受信した場合、前記HDDポインタテーブルのインデックス番号を参照して前記ディスクを順次選択して前記識別子と前記識別子に対応する前記SMART属性値とを対応付けて取得し、前記識別子と前記SMART属性値とを前記コンピュータに送信するようにしたことを特徴とするコンピュータシステム。
【請求項２】
前記RAIDコントローラは、前記ディスクに対して発行したコマンドに対する前記ディスク毎の応答時間、タイムアウトの発生回数、及びリトライ回数をベンダー固有属性値として前記識別子と対応付けて検出し、前記SMART属性値に前記前記ベンダー固有属性値を付随させて前記SMART属性値として前記コンピュータに送信するようにした請求項１に記載のコンピュータシステム。
【請求項３】
前記コンピュータは、前記RAIDの識別子を予め記憶したSMART属性値バッファメモリを備え、前記SMART属性値要求コマンドを前記RAIDに対して発行して、前記RAID
から前記SMART属性値と対応付けて送信された識別子とを比較照合し、
受信した全ての前記識別子が一致した場合、前記SMART属性値要求コマンドを完了させ、
不一致の場合、再度、前記SMART属性値要求コマンドを発行するようにした請求項１に記載のコンピュータシステム。
【請求項４】
ディスク毎のSMART属性値を検出するSMART属性値検出部を備える複数の前記ディスクと、
前記ディスク毎の識別子とインデックス番号とを対応付けて予め記憶したHDDポインタテーブルを備えるRAIDコントローラと
を備え、
前記RAIDコントローラは、SMART属性値要求コマンドを受信した場合、前記HDDポインタテーブルを参照して、複数の前記ディスクを順次選択して前記識別子と前記識別子に対応する前記SMART属性値とを取得し、前記識別子と前記SMART属性値とを返信するようにしたことを特徴とするRAID。
【請求項５】
前記RAIDコントローラは、前記ディスクに対して発行したコマンドに対する前記ディスク毎の応答時間、タイムアウトの発生回数、及びリトライ回数をベンダー固有属性値として前記識別子と対応付けて検出し、前記SMART属性値に前記ベンダー固有属性値を付随させて前記SMART属性値として前記コンピュータに送信するようにした請求項４に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数ハードディスクを一つの仮想ハードディスクとして冗長化し、単一ハードディスクに発生する障害を許容するRAID（Redundant Array of Inexpensive Disks）、及びこれを備えるコンピュータシステムに係り、特に、SMART属性値の取得に関する。
【背景技術】
【０００２】
コンピュータシステムの主要構成部品であるハードディスクは近年大容量化が目覚しく、これに比例してハードディスク障害の発生によるデータ損失の被害も増大している。
【０００３】
ハードディスク障害によるデータ損失を防止するため、複数ハードディスクを一つの仮想ハードディスクとして冗長化し、単一ハードディスクに発生する障害を許容するRAID（Redundant Array of Inexpensive Disks）(例えば、非特許文献１参照。)や、ハードディスクに発生する障害を事前に検出し、障害発生前にデータ保全を行うことを目的とするSMART（Self Monitoring Analysis and Reporting Technology）などが考案され、既に実用化されている(例えば、非特許文献２参照。)。
【０００４】
RAIDは冗長化処理の実装形態により、ソフトウェアが冗長化処理を実行するソフトウェアRAIDと、専用ハードウェアがソフトウェアに依存せず冗長化処理を実行するハードウェアRAIDとがある。
【０００５】
また、ハードウェアRAIDの実装例は、専用インタフェースを持ち、Windows(R)やLinux(R)などのオペレーティングシステムからは、専用のデバイスドライバを用いてアクセスする方式と、コンピュータシステムが標準的に備えるパラレルATAやシリアルATAインタフェースを備え、Windows(R)やLinux(R)などの標準ドライバでアクセスできる方式とが存在する。
【０００６】
また、SMARTはハードディスクの信頼性の悪化に関係する予め定義された各種の属性(検査項目)を測定して、ホストに報告する機能である。このSMARTの属性値を読み出してディスクの健全性をモニタリングし、障害の予測が行なえるようにしている。
【０００７】
しかしながら、従来のSMART機能のよる障害の予測は、属性値と属性限界値を単に比較するだけであり、各属性値の履歴や、限界値に到達した時期などの時間的な要素を管理していないため、属性の属性限界値超過がその他の属性の属性限界値超過を引き起こしている場合であっても、その因果関係を特定したり、さらには障害の原因を推定したりすることが困難であった。
【０００８】
そのため、保存された貴重なデータの喪失を未然に防止するために自己監視、障害
予測機能を備えるようにした技術も開示されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第４１１１０５２号明細書
【非特許文献】
【００１０】
【非特許文献１】David Patterson, Garth Gibson and Randy Katz著、“A Case for Redundant Arrays of Inexpensive Disks (RAID)”、SIGMOD Conference 1988、P109-116、［on-line］、［平成２１年５月１３日検索］、インターネット〈http://www.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-391.pdf〉
【非特許文献２】Mark Evans著、“Proposal for Updating SMART Commands and References”、22  April、1996、X3T13 Technical committee、［on-line］、［平成２１年５月１３日検索］、インターネット〈http://www.t13.org/Documents/UploadedDocuments/technical/d96131r0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、このSMART属性値はハードディスク(以後、ディスクと言う)が持つ情報であるため、複数のディスクから一つの仮想ディスクを構成するRAIDからSMART属性値を取得するためには、構成要素であるディスクを識別し、個々のディスクを指定して夫々のディスクのSMART属性値を読み出す必要がある。
【００１２】
夫々のディスクのSMART属性値を読み出す側の、即ち、RAIDが接続されるコンピュータ上で動作するＯＳが、RAIDから専用のＯＳインタフェースを使用してアクセスする場合には、SMART属性値を取得する場合においてもＯＳは専用の属性値インタフェースを使用することで、仮想ディスクを構成する各ディスクを指定してSMART属性値を取得するインタフェースを設けることは容易である。
【００１３】
しかしながら、RAIDが接続されるコンピュータ上で動作するＯＳが、標準で備えるSCSI(Small Computer System Interface)、パラレルATA（Advanced Technology Attachment）インタフェース、シリアルATA（Advanced Technology Attachment）インタフェースなどに対応した標準インタフェースでSMART属性値を取得しようとする際には、元々単一のディスクを指定してアクセスするインタフェース仕様であるため、仮想ディスクを構成する個別のディスクを指定することができない。
【００１４】
また、RAIDのSMART情報を取得する側のコンピュータ上動作するＯＳが、専用のＯＳインタフェースを要求されるRAIDにおいては、（RAIDが接続されるコンピュータ上で動作する）ＯＳは、標準インタフェースを使用することができず、RAIDはSMART機能をサポートできない問題があった。また、RAIDは、SMART機能をサポートしている場合でも、その機能は（RAIDのSMART情報を取得する側のコンピュータ上動作する）ＯＳが、管理外での保守モードでしか使用できない問題もあった。
【００１５】
さらに、従来のRAIDでは、RAIDコントローラがディスク毎にアクセスしたリード、ライトなどのコマンドに対する応答時間、タイムアウトの発生回数、及びリトライ回数などのRAIDの品質情報が標準インタフェースでは取得できないという問題があった。
【００１６】
本発明は、上記問題点を解決するためになされたもので、複数のディスクとRAIDコントローラとを接続したRAIDにおいて、RAIDが接続されるコンピュータ上で動作するＯＳは、標準インタフェースで規定されているコマンドを使用して、仮想ディスクを構成するディスク毎のSMART属性値を取得すことが可能なRAID、及びこれを備えるコンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本発明によるコンピュータシステムは、RAIDと、当該RAIDからSMART属性値を取得するコンピュータとから成るコンピュータシステムであって、前記RAIDは、当該RAIDを構成する複数のディスク毎の識別子とインデックス番号とを対応付けて予め記憶したHDDポインタテーブルを備えるRAIDコントローラと、前記ディスク毎のSMART属性値を検出するSMART属性値検出部を備える複数の前記ディスクとを備え、前記RAIDコントローラは、前記コンピュータからSMART属性値要求コマンドを受信した場合、前記HDDポインタテーブルのインデックス番号を参照して前記ディスクを順次選択して前記識別子と前記識別子に対応する前記SMART属性値とを対応付けて取得し、前記識別子と前記SMART属性値とを前記コンピュータに送信するようにしたことを特徴とする。
【００１８】
上記目的を達成するために、本発明によるRAIDは、ディスク毎のSMART属性値を検出するSMART属性値検出部を備える複数の前記ディスクと、前記ディスク毎の識別子とインデックス番号とを対応付けて予め記憶したHDDポインタテーブルを備えるRAIDコントローラとを備え、前記RAIDコントローラは、SMART属性値要求コマンドを受信した場合、前記HDDポインタテーブルを参照して、複数の前記ディスクを順次選択して前記識別子と前記識別子に対応する前記SMART属性値とを取得し、前記識別子と前記SMART属性値とを返信するようにしたことを特徴とする。
【発明の効果】
【００１９】
本発明によれば、複数のディスクとRAIDコントローラとを標準インタフェースで接続したRAIDにおいて、RAIDが接続されるコンピュータ上で動作するＯＳは、標準インタフェースで規定されているコマンドを使用して、仮想ディスクを構成するディスク毎のSMART属性値を取得すことが可能なRAID、及びこれを備えるコンピュータシステムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明のコンピュータシステムの構成図。
【図２】本発明のRAIDコントローラ、及びコンピュータの処理フロー図である。
【図３】本発明のSMRT属性値の構成図。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態を、図１乃至図３を参照して説明する。図１(a)は、本発明のコンピュータシステムの構成図である。本発明のコンピュータシステムは、複数のディスクから成るRAID(（Redundant Array of Inexpensive Disks）２と、このRAID２を補助記憶装置として使用し、RAID２の健全性を予測するSMART属性値を取得するコンピュータ１とで構成される。
【００２２】
コンピュータ1とRAID２とは、通常、ATA（Advanced Technology Attachment）で接続されるが、LAN等のネットワークに接続される場合もある。
【００２３】
RAID２は、図１（ｂ）にしめすように、当該RAID２を構成する複数のディスク３毎の識別子とインデックス番号とを対応付けて予め記憶したHDDポインタテーブル５ａを備えるRAIDコントローラ５と、ディスク３毎のSMART（Self Monitoring Analysis and Reporting Technology）属性値を検出するSMART属性値検出部を備える複数のディスク３（３ａ〜３ｎ）とを備える。
【００２４】
RAID２とディスク３とは、SCSI(Small Computer System Interface)、パラレルATA、シリアルATAインタフェースなどの標準インタフェース４で接続されている。
【００２５】
次に、このように構成されたコンピュータシステムの動作について、図２（ａ）を参照して説明する。
【００２６】
先ず、RAIDコントローラ２は、最初に指定するディスク３のインデックス番号iをセットして初期化する(s01)。そして、コンピュータ1からコマンドを受信した場合(s02)、受信したコマンドがSMART属性値要求コマンド出なければ、そのコマンドに対応する処理を実行して次コマンドの受信を待つ。
【００２７】
受信したコマンドがSMART属性値要求コマンドであれば(s03)、HDDポインタテーブル５ａのインデックス番号を参照してこのインデックス番号１に対応する識別子のディスク３ａを指定して（s04)、ディスク３ａのSMART属性値を抽出してRAIDコントローラに５にバッファリング(s06)し、コンピュータ1に転送する（s07）。
【００２８】
そして、HHDポンタテーブル５ａのインデックス番号ｉを２に更新する(s08)。
【００２９】
そして、コンピュータから次のSMART属性値要求コマンドを受信して、再び、更新されたインデックス番号の識別子のディスク３ｂを指定して、ディスク３ｂのSMART属性値を抽出してRAIDコントローラに５にバッファリング(s06)し、コンピュータ1に転送する（s07）。
【００３０】
以下同様にして、インデックス番号ｎのディスク３ｎのハードSMART属性値をコンピュータに転送する。
【００３１】
次に、SMART属性値をバッファリングするコンピュータ１の動作について図２(ｂ)を参照して説明する。先ず、SMART属性値要求コマンドをRAID２に対して送信する(s10)。そして、この応答としてRAIDからディスク３のSMRT属性値を対応する識別子とともに受信しコンピュータ１内にバッファリングする(s11)。
【００３２】
コンピュータ１は、取得した識別子が予めバッファリングしておいた識別子と比較して異なる場合には、再度、SMART属性値要求コマンドを発行する。そして、同じ識別子が受信された場合は、既に全ディスクを要求が受信されたものとして処理を終了する(s12)。
【００３３】
このように構成されたコンピュータシステムにおいては、複数のディスク３とRAIDコントローラとを標準インタフェースで接続したRAID２においても、RAIDが接続されるコンピュータ１上で動作するＯＳは、標準インタフェースで規定されているコマンドを使用して、仮想ディスクを構成するディスク３毎のSMART属性値を容易に取得することができる。
【００３４】
次に、RAIDコントローラ５が個々のディスク３から取得するSMART属性値の構成について、図３を参照して説明する。SMARTの規格では、SMART属性値は、標準属性値とベンダーが固有に定義できるベンダー固有属性値とから構成できる。
【００３５】
そこで、本発明によるRAIDコントローラ５は、発行したコマンドに対するディスク３毎の応答時間、タイムアウトの発生回数、及びリトライ回数をパラメータとするベンダー固有属性値を定義し、このベンダー固有属性値を識別子と対応付けて検出しバッファリングする。
【００３６】
すると、SMART標準属性値とベンダー固有属性値とを一括して識別子と対応付けしてRAID２コントローラ５から送信することができる。
【００３７】
したがって、RAID２に何らかの故障が発生した場合、SMART標準属性値とベンダー固有属性値とから、RAID２の動作状態の健全性と個々のディスクの動作状態が、外部のコントローラでモニタできるのでRAIDの故障の予測がより正確に行なえる効果がある。
【００３８】
また、このようなRAIDを使用したコンピュータシステムは、仮想ディスクを構成するディスク毎のSMART属性値、及びRAIDコントローラの品質情報をSMARTのベンダー固有属性値にマッピングすることで、単一のディスクの場合と同様の標準インタフェースSMART属性値を取得すことができ、RAIDの動作状態を詳細にモニタできるので、信頼性の高いシステムの構築できる効果がある。
【００３９】
本発明は、上述したような実施例に何ら限定されるものではなく、ベンダー固有属性値は、RAIDコントローラのアクセス応答から定義した品質情報を付随させるだけでなく、ディスク３自身のSMART属性値検出部で定義する固有のベンダー固有属性値を定義することも可能で、また、それらを組み合わせて定義することも可能で、SMART規格で定義されたデータ容量以下であれば良く、本発明の主旨を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【００４０】
１  コンピュータ
２  RAID
３、３ａ、３ｂ〜３ｎ  ハードディスク（HDD）
４  ATAインタフェース
５  RAIDコントローラ
５ａ  HDDポン多テーブル
【図１】
2010287019.tif 000003
【図２】
2010287019.tif 000004
【図３】
2010287019.tif 000005