[go: up one dir, main page]

JP2007122476A - データストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法 - Google Patents

データストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法 Download PDF

Info

Publication number
JP2007122476A
JP2007122476A JP2005314681A JP2005314681A JP2007122476A JP 2007122476 A JP2007122476 A JP 2007122476A JP 2005314681 A JP2005314681 A JP 2005314681A JP 2005314681 A JP2005314681 A JP 2005314681A JP 2007122476 A JP2007122476 A JP 2007122476A
Authority
JP
Japan
Prior art keywords
disk
write
data
value
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.)
Pending
Application number
JP2005314681A
Other languages
English (en)
Inventor
秀夫 ▲高▼橋
Hideo Takahashi
Norihide Kubota
典秀 久保田
Hiroaki Ochi
弘昭 越智
Yoshihito Konta
與志仁 紺田
Yasutake Sato
靖丈 佐藤
Tsukasa Makino
司 牧野
Mikio Ito
実希夫 伊藤
Hidejiro Ookurotani
秀治郎 大黒谷
Kazuhiko Ikeuchi
和彦 池内
Shinya Mochizuki
信哉 望月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005314681A priority Critical patent/JP2007122476A/ja
Priority to US11/376,183 priority patent/US7475279B2/en
Publication of JP2007122476A publication Critical patent/JP2007122476A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/104Metadata, i.e. metadata associated with RAID systems with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】複数のディスク記憶デバイスを制御するコントローラを有するストレージシステムに関し、ディスク記憶デバイスのディスクへのライト抜けを診断る。
【解決手段】複数のディスク記憶デバイス(1−1〜1−4)を制御するコントローラ(40)が、ライトデータにIDを付して、該当ディスクドライブ(1−1)へのライトアクセス後、ディスクドライブ(1−1)から該当ライトデータをリードし、そのリードデータのIDと、付したIDを比較する。又、コントローラ(40)は、IDを、ライトコマンド毎に、更新する。このため、古いライトデータと新しいライトデータを識別でき、正確に診断でき、即座に個々のディスクドライブの障害を検出できる。
【選択図】図1

Description

本発明は、コンピュータの外部記憶装置として用いられるデータストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法に関し、特に、多数のディスクデバイスと制御装置とが、伝送路で接続されたデータストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法に関する。
近年、様々なデータが電子化され、コンピュータ上で扱われるのに従い、データの処理を実行するホストコンピュータとは独立して、大量のデータを効率よく、高い信頼性で格納することのできるデータストレージ装置(外部記憶装置)の重要性が増加している。
このデータストレージ装置として、大量のディスクデバイス(例えば、磁気ディスクや光ディスク)と、これら大量のディスクデバイスを制御するディスクコントローラとから構成されるディスクアレイ装置が利用されている。このディスクアレイ装置は、同時に複数のホストコンピュータからのディスクアクセス要求を受け付けて、大量のディスクに対する制御を行なうことができる。
このようなディスクアレイ装置は、ディスクのキャッシュの役割を果たすメモリを内蔵する。これにより、ホストコンピュータからリード要求及びライト要求を受信した際の、データへのアクセス時間を短縮し、高性能化を実現できる。
一般に、ディスクアレイ装置は、複数の主要ユニット、即ち、ホストコンピュータとの接続部分であるチャネルアダプタ,ディスクドライブとの接続部分であるディスクアダプタ,キャッシュメモリ,キャッシュメモリの制御を担当するキャッシュ制御部及び大量のディスクドライブから構成される。
このような複雑なシステムにおいて、ディスクドライブのユニットが障害を発生した場合に、その障害を検出する必要がある。この内、ディスクドライブにライトコマンドを発行した場合に、正常にディスクにデータをライトできない障害がある。例えば、ディスクドライブのライト速度を速めるため、特別のコマンドを与えない限り、ディスクドライブは、ディスクにデータをライトした後、リードベリファイ動作を実行せずに、ライト完了を報告する。このため、ヘッドの劣化や隣接トラックへの影響で、対象トラックにデータが、正常にライトされていない場合もある。これをライト抜けという。
このため、ディスク上のライトデータの診断を行う必要がある。従来、この方法として、制御装置が、CRC(Cyclic Redundacy Code)を付加したライトデータを、ディスクドライブに発行し、ディスクドライブは、CRCとともに、ライトデータをディスクに書き込む。一方、ライト完了報告により、制御装置は、ディスクからそのCRCを読み出し、ライトデータに付加したCRCと比較して、ライト抜けの診断を行う(例えば、特許文献1参照)。
又、他の従来技術として、RAID構成をとる複数のディスクドライブに、分散してライトデータを書き込む際に、分散されたライトデータにタイムスタンプ情報を付加して、ディスクドライブに転送し、ディスクドライブは、タイムスタンプ情報とともに、ライトデータをディスクに書き込む。そして、次に、ホストからそのデータのリードコマンドを受けた際に、制御装置が、複数のディスクドライブから、その分散されたライトデータを読み出し、分散されたライトデータ中のタイムスタンプ情報をチエックして、多数決により、正常なタイムスタンプ情報を決定し、それ以外のタイムスタンプ情報のディスクドライブを異常と判定する(例えば、特許文献2参照)。
特開平5−166304号公報(図1) 特開平10−171608号公報(図3)
しかしながら、前者の従来技術では、ディスクの書き込み前のデータ(old data)に、新データ(new data)をオーバーライトする際に、古いデータと新データとのCRCが、たまたま同じであった場合、新データが正しく書き込まれたかを診断することができない。
又、後者の従来技術では、複数のディスクドライブのデータから1つのディスクドライブの障害を検出する方法であるため、個々のディスクドライブを直接診断できない。例えば、3つのディスクドライブの内、2つのディスクドライブのリードデータのタイムスタンプ情報が一致すれば、他の1つのディスクドライブは、障害と判定するため、逆に、2つのディスクドライブのライト抜けが生じた場合には、正常な他の1つのディスクドライブを障害と判定してしまう。
しかも、タイムスタンプという時刻情報であるため、制御装置が、書き込んだ時刻との比較をしても、正常でも異常でも、時刻は相違しているから、ライト抜けを診断できない。
従って、本発明の目的は、個々のディスクドライブのライト抜け診断を正確に行うためのデータストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法を提供することにある。
又、本発明の他の目的は、個々のディスクドライブのライト抜け診断を、ライト直後に、正確に実行するためのデータストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法を提供することにある。
更に、本発明の更に他の目的は、個々のディスクドライブのライト抜けを、ライト直後に、検出するためのデータストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法を提供することにある。
この目的の達成のため、本発明のデータストレージシステムは、データを記憶する複数のディスク記憶デバイスと、前記複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するストレージコントローラとを有し、前記ストレージコントローラは、ライトコマンドに付随するライトデータを格納するメモリと、前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトするコントローラとを有し、前記コントローラは、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納し、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出する。
又、本発明のストレージ制御装置は、上位とのインターフェース制御を行う第1のインターフェース部と、データを記憶する複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部と、前記上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するコントローラと、ライトコマンドに付随するライトデータを格納するメモリとを有し、前記コントローラは、前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトし、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納し、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出する。
又、本発明のディスクのライト抜け診断方法は、データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するコントローラと、前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部とを有するストレージシステムのディスクのライト抜け診断方法であって、ライトコマンドに付随するライトデータをメモリに格納するステップと、前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入するステップと、前記ディスク記憶デバイスのディスクに前記ID値を挿入したライトデータをライトするステップと、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納するステップと、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出するステップとを有する。
更に、本発明では、好ましくは、前記コントローラは、前記ライトデータのデータブロック内のブロックID内に、前記ID値を挿入する。
更に、本発明では、好ましくは、前記コントローラは、前記ディスク記憶デバイスにライトするライトデータの先頭又は末尾ブロックに前記ID値を挿入し、前記ライト完了したディスク記憶デバイスから前記ライトデータの先頭又は末尾ブロックをリードし、前記メモリに格納する。
更に、本発明では、好ましくは、前記コントローラは、前記ディスク記憶デバイスにライトするライトデータの全ブロックに前記ID値を挿入し、前記ライト完了したディスク記憶デバイスから前記ライトデータの全ブロックをリードし、前記メモリに格納する。
更に、本発明では、好ましくは、前記コントローラは、前記ディスク記憶デバイスにライトアクセス指示を行う制御モジュールと、前記ライトアクセス指示に応じて、前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトし、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納し、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出するディスクドライバモジュールとを有する。
更に、本発明では、好ましくは、前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部とを更に有し、前記第2のインターフェース部が、前記伝送経路により前記複数のディスク記憶デバイスと接続する。
更に、本発明では、好ましくは、前記コントローラは、前記メモリのキャッシュ領域に格納された前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトし、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリのデータバッファ領域に格納する。
本発明では、コントローラが、ライトデータにIDを付して、該当ディスクドライブへのライトアクセス後、ディスクドライブから該当ライトデータをリードし、そのリードデータのIDと、付したIDを比較する。このため、個々のディスクドライブのライトデータが、ヘッドで正常に書き込まれたかを、IDの比較のみで、即座に診断できる。又、IDは、ライトコマンド毎に、更新するため、古いライトデータと新しいライトデータを識別でき、正確に診断でき、即座にディスクドライブの障害を検出できる。
以下、本発明の実施の形態を、データストレージシステムのディスクのライト抜け診断方法、データストレージシステムの構成、ディスクのライト抜け診断処理、他の実施の形態の順で説明する。
**データストレージシステムのディスクのライト抜け診断方法**
図1は、本発明の一実施の形態のデータストレージ装置のディスクの抜け診断方法の説明図である。図1に示すように、ストレージコントローラ4は、チャネルアダプタ41、コントローラ40及びディスクアダプタ42を有する。チャネルアダプタ41は、ファイバチャネルもしくはEthernet(登録商標)によって、ホストコンピュータ3に接続される。ディスクアダプタ42は、例えば、ファイバチャネルのFCループによって、ディスクエンクロージャ(後述する)内の各ディスクドライブ1−1に接続される。
このような構成において、コントローラ40は、キャッシュメモリ412とデータバッファ416と、ディスクドライバ630とを有する。そして、コントローラ40は、チャネルアダプタ41を介するホスト3からの依頼や内部のライト依頼(例えば、ライトバック、リビルド、コピーバック等)に基づいて、ディスクアダプタ42を介し、ファイバチャネル等の伝送路を経て、ディスクドライブ1−1を、リード又はライトアクセスを実施する。
コントローラ40は、キャッシュメモリ412のデータの一部にIDを付して、ディスクアダプタ42を介しディスクドライブ1−1にライトする。ディスクドライブ1−1のライト完了をトリガーに、診断を開始する。
コントローラ40は、該当ディスクドライブ1−1から当該ライトしたデータをリードし、リードしたデータをデータバッファ416に格納する。その後、ディスクドライバ630が、キャッシュメモリ412のライトデータのIDと、データバッファ416のリードデータ内のIDを比較し、ライト抜け診断を行う。
同様に、ライトデータを複数のディスクドライブに分割して、ライトする、所謂、RAID1,3,5にも適用できる。図2は、本発明の他の実施の形態のデータストレージ装置のディスクの抜け診断方法の説明図である。図2においても、図1と同様に、ストレージコントローラ4は、チャネルアダプタ41、コントローラ40及びディスクアダプタ42を有する。
このような構成において、コントローラ40は、キャッシュメモリ412とデータバッファ416と、ディスクドライバ630とを有する。そして、コントローラ40は、チャネルアダプタ41を介するホスト3からの依頼や内部のライト依頼(例えば、ライトバック、リビルド、コピーバック等)に基づいて、ディスクアダプタ42を介し、ファイバチャネル等の伝送路を経て、ディスクドライブ1−1を、リード又はライトアクセスを実施する。
コントローラ40は、キャッシュメモリ412のライトデータを分割し(ここでは、2分割)、分割されたライトデータの各々の一部にIDを付して、ディスクアダプタ42を介しディスクドライブ1−1,1−2に、それぞれライトする。ディスクドライブ1−1,1−2のライト完了をトリガーに、診断を開始する。
コントローラ40は、該当ディスクドライブ1−1,1−2から当該ライトしたデータをリードし、リードしたデータをデータバッファ416に格納する。その後、ディスクドライバ630が、キャッシュメモリ412のライトデータのIDと、データバッファ416のリードデータの内のIDを比較し、ライト抜け診断を行う。
このIDは、ライトコマンド毎に、変更する。例えば、ライトコマンド毎に、「1」を加算するカウンター値で、IDを指定する。
このように、コントローラ40は、ライトデータにIDを付して、該当ディスクドライブへのライトアクセス後、ディスクドライブから該当ライトデータをリードし、そのリードデータのIDと、付したIDを比較する。このため、個々のディスクドライブのライトデータが、ヘッドで正常に書き込まれたかを、IDの比較のみで、即座に診断できる。又、IDは、ライトコマンド毎に、更新するため、古いライトデータと新しいライトデータを識別でき、正確に診断でき、即座にディスクドライブの障害を検出できる。
**データストレージシステムの構成**
図3は、図1及び図2のストレージコントローラの構成図、図4は、図1及び図2のFCループとディスクドライブ群の構成図である。
図3に示すように、コントローラ40は、ホストコンピュータからの処理要求や内部の処理要求(リード要求もしくはライト要求)に基づいて、リード/ライト処理を行なうものであり、メモリ410と処理ユニット400と、メモリコントローラ420とを備える。
メモリ410は、図4で説明するディスクエンクロージャ20、22の複数のディスクドライブに保持されたデータの一部を保持する、所謂、複数のディスクに対するキャッシュの役割を果たすキャッシュ領域412と、データバッファ416と、IDカウンタ414とを有する。
処理ユニット400は、メモリ410,チャネルアダプタ41、デバイスアダプタ42、DMA43の制御を行う。このため、1つ又は複数(図では、1つ)のCPU400と、メモリコントローラ420とを有する。メモリコントローラ420は、メモリ410のリード/ライトを制御し、且つパスの切り替えを行う。
メモリコントローラ420は、メモリバス432を介しメモリ410と接続し、CPUバス430を介しCPU400と接続し、更に、メモリコントローラ420は、4レーンの高速シリアルバス(例えば、PCI−Express)440を介しディスクアダプタ42に接続する。
同様に、メモリコントローラ420は、4レーンの高速シリアルバス(例えば、PCI−Express)443,444,445,446を介しチャネルアダプタ41(ここでは、4つのチャネルアダプタ41a,41b、41c,41d)に接続し、4レーンの高速シリアルバス(例えば、PCI−Express)448を介しDMA43に接続する。
このPCI−Expess等の高速シリアルバスは、パケットで通信し、且つシリアルバスを複数レーン設けることにより、信号線本線を減らしても、遅延の少ない、速い応答速度で、所謂、低レンテンシで通信することができる。
チャネルアダプタ41a〜41dは、ホストコンピュータに対するインターフェースであり、チャネルアダプタ41a〜41dは、それぞれ異なるホストコンピュータと接続される。また、チャネルアダプタ41a〜41dは、それぞれ対応するホストコンピュータのインターフェース部に、バス、例えば、ファイバチャネル(Fiber Channel)やEthernet(登録商標)によって接続されることが好ましく、この場合、バスとしては、光ファイバや同軸ケーブルが用いられる。
さらに、これらチャネルアダプタ41a〜41dそれぞれは、ストレージコントローラ4の一部として構成されている。このチャネルアダプタ41a〜41dが、対応するホストコンピュータとコントローラ40とのインターフェース部として、複数のプロトコルをサポートする。
又、対応するホストコンピュータによって実装すべきプロトコルが同一ではないため、各チャネルアダプタ41a〜41dを必要に応じて容易に交換できるように、コントローラ40とは、別のプリント基板に実装されている。
例えば、チャネルアダプタ41a〜41dがサポートすべきホストコンピュータとの間のプロトコルとしては、上述のように、ファイバチャネルや、Ethernet(登録商標)に対応するiSCSI(Internet Small Computer System Interface)等がある。
更に、各チャネルアダプタ41a〜41dは、前述のように、PCI−Expressバスのように,LSI(Large Scale Integration)やプリント基板の間を接続するために設計されたバス443〜446によって、コントローラ40と直接結合される。これにより、各チャネルアダプタ41a〜41dとコントローラ40と間に要求される高いスループットを実現することができる。
次に、ディスクアダプタ42は、ディスクエンクロージャの各ディスクドライブに対するインターフェースであり、ここでは、4つのFC(Fiber Channel)ポートを有する。
又、ディスクアダプタ42は、前述のように、PCI−Expressバスのように,LSI(Large Scale Integration)やプリント基板の間を接続するために設計されたバスによって、コントローラ40と直接結合されている。これにより、ディスクアダプタ42とコントローラ40と間に要求される高いスループットを実現することができる。更に、DMAエンジン43は、他のコントロールモジュール40との間で相互に通信を行うものであり、例えば、ミラーリング処理に使用される。
図4により、伝送経路及びディスクドライブ群を説明する。図4では、4つのFCポートを有するディスクアダプタ42を、2分割して示す。図4に示すように、ディスクエンクロージャ10は、一対のファイバーチャネルアッセンブリ20,22と、複数の磁気ディスク装置(ディスクドライブ)1−1〜1−nを有する。
複数の磁気ディスク装置1−1〜1−nの各々は、一対のファイバーチャネルループ12,14に、ファイバースイッチ26により接続される。ファイバーチャネルループ12は、ファイバーチャネルコネクタ24とファイバーケーブル2−2により、コントローラのデバイスアダプタ42に接続され、ファイバーチャネルループ14は、ファイバーチャネルコネクタ24とファイバーケーブル2−1により、コントローラの他方のデバイスアダプタ42に接続される。
前述のように、両デバイスアダプタ42は、コントローラ40に接続されるため、コントローラ40は、各磁気ディスク装置1−1〜1−nに、デバイスアダプタ42、ファイバーチャネルループ12を介する一方のルート(aルート)と、デバイスアダプタ42、ファイバーチャネルループ14を介する他方のルート(bルート)との両方からアクセスできる。
両ファイバーチャネルアッセンブリ20,22には、切り離し制御部28が設けられている。一方の切り離し制御部28は、ファイバーチャネルループ12の各ファイバースイッチ26の切り離し(バイパス)制御を行い、他方の切り離し制御部28は、ファイバーチャネルループ14の各ファイバースイッチ26の切り離し(バイパス)制御を行う。
例えば、図4に示すように、磁気ディスク装置1−2のファイバーチャネルループ14側のaポートがアクセス不能である時には、切り離し制御部28は、磁気ディスク装置1−2のaポート側のファイバースイッチ26を、図4に示すように、バイパス状態に切り替え、磁気ディスク装置1−2を、ファイバーチャネルループ14から切り離す。これにより、ファイバーチャネルループ14は、正常に機能し、磁気ディスク装置1−2は、ファイバーチャネルループ12側のbポートからアクセスすることができる。
各磁気ディスク装置1−1から1−nは、aポート、bポートと各々接続するための一対のFC(Fiber Chanel)チップと、制御回路と、ディスクドライブ機構とを有する。このFCチップは、CRCチエック機能を有する。
ここで、図3のディスクドライブ1−1〜1−4が、図4の磁気ディスク装置1−1〜1−nに対応し、伝送経路2−1,2−2が、ファイバーケーブル2−1,2−2と、ファイバーチャネルアッセンブリ20,22に対応する。図3のディスクドライブ1−5〜1−8、伝送経路2−3,2−4も同様である。
次に、CPU400(410)が実行するソフトウェアのプログラムモジュール(スレッドという)を説明する。図5は、CPU400(410)が実行するソフトウェアのスレッドの構成図、図6は、そのデータブロック形式の説明図である。
図5に示すように、ソフトウェアモジュールは、図示しないカーネル/スケジューラと、IO制御モジュールとを有する。カーネル/スケジューラは、MS−DOS(登録商標)等のオペレーテイングシステムである。IO制御モジュールは、ベーシックモジュール640と、CM−DAドライバ、即ち、ディスクドライバ630と、FCドライバ636とを有する。
ベーシックモジュール640は、資源管理を行うリソーススレッド(リソース制御モジュール)642、コピー処理を行うコピースレッド(コピー制御モジュール)646、メモリ410のキャッシュメモリ412の制御を行うキャッシュスレッド(キャッシュメモリ制御モジュール)648を有するフロントエンドと、RAID構成制御を行うRAIDスレッド(RAID制御モジュール)632、OVSMスレッド(OVSM制御モジュール)634とを有するバックエンドとからなる。
OVSMスレッド634は、リビルド/コピーバック処理等を行う。ディスクドライバ630、FCドライバ636は、FC(Fibre Channel)チップで構成されたDA(ディスクアダプタ)42をドライブするドライバである。
リソースモジュール642、RAIDモジュール632が、構成定義テーブルを参照して、ホストからのLUN(論理ユニット番号)を、物理ディスクのPLBA(物理ブロックアドレス)に変換し、物理ディスク1−1等をアクセスする。
図5に示すように、OVSMスレッド634は、Rebuild/Copybackの進捗の管理を行う。キャッシュモジュール648は、ホストI/O要求に対し、リードアクセスでは、キャッシュメモリ412に対象データが格納されているかを判定し、格納されていれば(キャッシュヒット)、その対象データを、ホストに転送し、格納されていなければ(キャッシュミスヒット)、RAID制御モジュール632にリード要求を発行する。
又、キャッシュモジュール648は、ホストI/O要求に対し、ライトアクセスでは、キャッシュメモリ412に、ライトデータを格納する。その後、キャッシュメモリ412のライトデータのライト要求(ライトバック)を、RAID制御モジュール632に発行する。
これに対し、RAID制御モジュール632は、データを一時待避するバッファ(以降では、Data Bufferと記述する)を獲得して、RAID構成定義に従い、ディスクドライバ630に対して、リードやライトを指示する。ディスクへのライトアクセスでは、ディスクドライバ630が、ディスクドライブに書きこむデータの少なくとも、先頭LBA(LBA0)に関して、BID(BLOCK ID)のディスクライト抜け検出用カウンター部に,カウンター値IDを書き込む。
図6に示すように、データブロックは、データ部1002と、BCC(Block Check Code)部1004からなる。例えば、1ブロックのデータ部1002が、512Byteである場合には、BCC部1004は、8Byteが割り当てられる。このBCC部1004は、Block CRC(Cyclic Redundancy Code)部1100と、Block ID部1102からなる。
Block ID部1102は、6byte割り当てられ、4バイト(32ビット)のカウンタ値(ブロック番号)と、残り2バイトからなる。この2byteのうち、1byteをディスクライト抜け検出用カウンターID部1106に割り当て、残りの1byteを、SLU(ホスト論理ユニット)番号と、パリテイビットと、バッドフラグに割り当てる。
即ち、Block ID部1102のリザーブエリアに、ディスクライト抜け検出用ID1106を割り当てる。そして、ディスクドライバ630は、メモリ410のID部414のID値を、キャッシュメモリ410のブロックデータのカウンターID部1106に直接書き込む。
次に、ディスクドライバ630は、後述するライト抜け診断を行う。このような構成により、ライトコマンド毎に、更新されるID値を、少なくとも、各ディスクドライブに書き込むライトデータの少なくとも先頭データブロック1000のBID部1102のカウンターID部1106に書き込み、ディスクドライブにライトする。
その後、診断を開始し、ディスクドライブから書き込んだライトデータの少なくとも先頭ブロックを読み出し、読み出したブロック内のカウンターID部1106の内容と、メモリ410のID部414のID値と比較して、ライト抜けの有無を判定する。
**ディスクライト抜け診断処理**
次に、図1乃至図6のデータストレージシステムのディスクライト抜け診断処理を、説明する。図7及び図8は、本発明の一実施の形態のディスクライト抜け診断処理フロー図、図9乃至図12は、その動作説明図である。
(S10)ホストコンピュータから対応するチャネルアダプタ41a〜41dが、ライトコマンドを受信する。
(S12)チャネルアダプタ41は、キャッシュメモリ412に、ライトコマンドに付随するライトデータLBA0〜LBA99を書き込む。尚、ここでは、ライトデータを100LBAで説明する。
(S14)キャッシュ制御モジュール648は、キャッシュメモリ412に保持された当該対象データLBA0〜LBA99のライトバックを、RAID制御モジュール632に、指示する。
(S16)RAID制御モジュール632は、RAID構成定義に従い、ディスクドライバ630に対して、ディスクドライブへの書き込み(LBA0〜99)を指示する。尚、その際、RAID制御モジュール632は、RAID構成定義に従い、ディスクへの書き込みに必要となるPLU(物理ディスクユニット番号、LBA位置、ユーザデータの物理アドレス、ユーザデータの長さを、ディスクドライバ630に渡す。
(S18)ディスクドライバ630は、メモリ410のカウンター値414を更新(「1」インクリメント)した後、キャッシュメモリ412の各ディスクに書きこむライトデータの先頭LBA(LBA0等)又は全LBAに関して、BID部1102のディスクライト抜け検出用ID部1106に,メモリ410のカウンター値414を書き込む。尚、ディスクドライバ630は、メモリマップ処理を行い、メモリ410のユーザデータのBCC部1004のID部1106の値を、直接変更する。
(S20)次に、ディスクドライバ630は、FCドライバ636に対して、ディスクドライブのディスクに、ライトデータLBA0〜LBA99のデータを書き込むよう指示する。これにより、後述する図9乃至図12で説明するように、ライトデータは、ディスクアダプタ42を介し、指定されたディスクドライブ1−1(又は1−1,1−2,1−3)のディスクに直接ライトされる。
(S22)ディスクドライバ630は、ディスクアダプタ42を介し、指定したディスクドライブからライト完了報告を受けたかを判定する。
(S24)ディスクドライバ630は、指定したディスクドライブからライト完了報告を受けると、診断を開始する。ここでは、診断対象を、全LBAか、先頭(又は末尾LBA)かを指定できる。この指定は、予め、外部(例えば、コントローラ4に接続された保守用装置)から設定される。ディスクドライバ630は、診断対象が、全LBAか、それ以外(先頭LBA又は末尾LBA)かを判定する。
(S26)全LBAが指定されている場合には、ディスクドライバ630は、ステップS18で指定された全LBA(LBA0〜LBA99)を、指定されたディスクドライブからリードするように、FCドライバ636に対して、指示する。この時、SCSI(Small Computer System Interface)−2のコマンドフォーマット内のFUA(Force Unit Access)フラグをセットし、ディスクドライブのディスク媒体を直接アクセスする。即ち、ディスクドライブにキャッシュメモリを搭載する装置では、リードコマンドに対し、キャッシュメモリをアクセスして、リード動作を行うため、これを防止し、直接ディスクからリードするように、指示するものである。これにより、後述する図9乃至図10で説明するように、ディスクアダプタ42を介し、指定されたディスクドライブ1−1(又は1−1,1−2,1−3)のディスクからリードされる。
(S28)逆に、全LBAが指定されていない場合には、先頭又は末尾のLBAを診断する。このため、ディスクドライバ630は、ステップS18で指定された全LBA(LBA0〜LBA99)の内、1つ又は各ディスクドライブのライトデータの先頭LBA(又は末尾LBA)を、指定されたディスクドライブからリードするように、FCドライバ636に対して、指示する。この時、SCSI(Small Computer System Interface)−2のコマンドフォーマット内のFUA(Force Unit Access)フラグをセットし、ディスクドライブのディスク媒体を直接アクセスする。即ち、ディスクドライブにキャッシュメモリを搭載する装置では、リードコマンドに対し、キャッシュメモリをアクセスして、リード動作を行うため、これを防止し、直接ディスクからリードするように、指示するものである。これにより、後述する図11乃至図12で説明するように、ディスクアダプタ42を介し、指定されたディスクドライブ1−1(又は1−1,1−2,1−3)のディスクからリードされる。
(S30)これらリードされたLBAは、データバッファ416に格納され、ディスクドライバ630は、先ず、リードデータのCRC1100で、リードブロックをチエックする。CRCエラーを検出した場合には、CRCエラーのデータを送信してきた当該ディスクドライブを、デグレードする(使用しないようにする)。次に、CRCエラーを検出しない場合には、ディスクドライバ630は、データバッファ416内のリードブロック1000のBID1004内のカウンターID値1106を取り出し、メモリ40のカウンター値414と比較する。
(S32)ディスクドライバ630は、読み込んだ各リードブロック(全ライトデータ又は先頭(末尾)ブロック)のID部1106と、カウンター値414とが一致していない場合には、その一致していないLBAを送ってきたディスクドライブのライト抜けエラーと判断する。このライト抜けエラーと判断されたディスクドライブは、切り離す。一方、ディスクドライバ630は、読み込んだ各リードブロック(全ライトデータ又は先頭(末尾)ブロック)のID部1106と、カウンター値414とが一致している場合には、ライト抜けエラー無しと判定し、終了する。
図9乃至図12で、具体的に説明する。図9及び図10は、対象ライトデータの全LBAにID値を書き込む例である。図9は、単一のディスクドライブ1−1に、全ライトデータLBA00〜LBA99をライトする例を示し、図10は、複数のディスクドライブ(ここでは、3つ)1−1,1−2,1−3に、ライトデータLBA00〜LBA99を3分割して、ライトするRAID5の例を示す。
図9に示すように、単一のディスクドライブ1−1に、全ライトデータLBA00〜LBA99をライトする場合には、ディスクドライバ630は、全LBA00〜LBA99に、カウンターID値414を書き込み、ディスクドライブ1−1のディスクに、ライトする。次に、ディスクドライバ630は、ディスクドライブ1−1からのライト完了報告を受け、ディスクドライブ1−1からライトしたLBA00〜LBA99をリードし、データバッファに格納する。
そして、ディスクドライバ630は、リードした全LBA00〜LBA99のリードブロック1000のBID1004内のカウンターID値1106を取り出し、メモリ40のカウンターID値414と比較する。1つのLBAのカウンターID値が、カウンターID値と一致しないと、そのディスクドライブ1−1にライト抜けが生じたと判断する。
又、図10に示すように、複数のディスクドライブ(ここでは、3つ)1−1,1−2,1−3に、ライトデータLBA00〜LBA99を3分割して、ライトするRAID5の例では、同様に、ディスクドライバ630は、全LBA00〜LBA99に、カウンターID値414を書き込み、ディスクドライブ1−1,1−2,1−3のディスクに、LBA00〜LBA33,LBA34〜LBA65,LBA66〜LBA99をライトする。次に、ディスクドライバ630は、ディスクドライブ1−1,1−2,1−3からのライト完了報告を受け、ライトしたLBA00〜LBA99を、各ディスクドライブ1−1,1−2,1−3からリードし、データバッファに格納する。
そして、ディスクドライバ630は、リードした全LBA00〜LBA99のリードブロック1000のBID1004内のカウンターID値1106を取り出し、メモリ40のカウンターID値414と比較する。各ディスクドライブ1−1,1−2,1−3からの1つのLBAのカウンターID値でも、カウンターID値と一致しないと、そのディスクドライブ1−1、又は1−2、又は1−3にライト抜けが生じたと判断する。
このように、ライトデータの全ブロックに、カウンターID値を挿入し、全ブロックをチエックすることは、ディスクに記録された前のデータと、その上にオーバーライトされるデータとの完全なチエックができ、いかなるデータであっても、個々のディスクドライブのヘッドの障害や、隣接トラックの影響によるライト不良を完全に検出できる。
次に、図11及び図12は、対象ライトデータの先頭LBAにのみ、ID値を書き込む例である。図11は、単一のディスクドライブ1−1に、全ライトデータLBA00〜LBA99をライトする例を示し、図12は、複数のディスクドライブ(ここでは、3つ)1−1,1−2,1−3に、ライトデータLBA00〜LBA99を3分割して、ライトするRAID5の例を示す。
図11に示すように、単一のディスクドライブ1−1に、全ライトデータLBA00〜LBA99をライトする場合には、ディスクドライバ630は、先頭LBA00に、カウンターID値414を書き込み、ディスクドライブ1−1のディスクに、ライトする。次に、ディスクドライバ630は、ディスクドライブ1−1からのライト完了報告を受け、ディスクドライブ1−1からライトしたLBA00〜LBA99の先頭LBA00をリードし、データバッファに格納する。
そして、ディスクドライバ630は、リードした先頭LBA00のリードブロック1000のBID1004内のカウンターID値1106を取り出し、メモリ40のカウンターID値414と比較する。このLBAのカウンターID値が、カウンターID値と一致しないと、そのディスクドライブ1−1にライト抜けが生じたと判断する。
又、図12に示すように、複数のディスクドライブ(ここでは、3つ)1−1,1−2,1−3に、ライトデータLBA00〜LBA99を3分割して、ライトするRAID5の例では、同様に、ディスクドライバ630は、各ディスクドライブ1−1,1−2,1−3に分散する先頭LBA00、LBA34,LBA66に、カウンターID値414を書き込み、ディスクドライブ1−1,1−2,1−3のディスクに、LBA00〜LBA33,LBA34〜LBA65,LBA66〜LBA99をライトする。
次に、ディスクドライバ630は、ディスクドライブ1−1,1−2,1−3からのライト完了報告を受け、ライトした先頭LBA00、LBA34,LBA66を、各ディスクドライブ1−1,1−2,1−3からリードし、データバッファに格納する。
そして、ディスクドライバ630は、リードした先頭LBA00、LBA34,LBA66のリードブロック1000のBID1004内のカウンターID値1106を取り出し、メモリ40のカウンターID値414と比較する。各ディスクドライブ1−1,1−2,1−3からのLBAのカウンターID値が、カウンターID値と一致しないと、そのディスクドライブ1−1、又は1−2、又は1−3にライト抜けが生じたと判断する。
このように、ライトデータの先頭ブロックに、カウンターID値を挿入し、先頭ブロックをチエックすることは、ディスクに記録された前のデータと、その上にオーバーライトされるデータとのチエックができ、いかなるデータであっても、個々のディスクドライブのヘッドの障害や、隣接トラックの影響によるライト不良を検出できる。又、図9及び図10の場合よりも、ID値の挿入箇所が少なく、且つリードブロックも少ないことから、高速にチエックできる。
**他の実施の形態**
前述の実施の形態では、先頭LBAにID値を挿入しているが、末尾LBAにID値を挿入しても良い。又、複数のライト動作を並行に実行する場合には、ライトデータに対応して、挿入したカウンターID値を記憶しておき、そのライトデータのライト完了を受けて、そのライトデータをリードし、記憶した対応するカウンターID値と比較することもできる。
更に、ライトバック動作で説明したが、冗長制御のための冗長データのコピーのためのライト動作や、リビルド、コピーバック時のライト動作等にも適用できる。
しかも、ストレージコントローラ内のチャネルアダプタやディスクアダプタの数は、必要に応じて、増減できる。又、ディスクドライブとしては、ハードディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ等の記憶デバイスを適用できる。しかも、ストレージシステムやコントローラ(制御モジュール)の構成は、図3、図4、図5の構成のみならず、他の構成にも適用できる。
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
(付記1)データを記憶する複数のディスク記憶デバイスと、前記複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するストレージコントローラとを有し、前記ストレージコントローラは、ライトコマンドに付随するライトデータを格納するメモリと、前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトするコントローラとを有し、前記コントローラは、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納し、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出することを特徴とするデータストレージシステム。
(付記2)前記コントローラは、前記ライトデータのデータブロック内のブロックID内に、前記ID値を挿入することを特徴とする付記1のデータストレージシステム。
(付記3)前記コントローラは、前記ディスク記憶デバイスにライトするライトデータの先頭又は末尾ブロックに前記ID値を挿入し、前記ライト完了したディスク記憶デバイスから前記ライトデータの先頭又は末尾ブロックをリードし、前記メモリに格納することを特徴とする付記1のデータストレージシステム。
(付記4)前記コントローラは、前記ディスク記憶デバイスにライトするライトデータの全ブロックに前記ID値を挿入し、前記ライト完了したディスク記憶デバイスから前記ライトデータの全ブロックをリードし、前記メモリに格納することを特徴とする付記1のデータストレージシステム。
(付記5)前記コントローラは、前記ディスク記憶デバイスにライトアクセス指示を行う制御モジュールと、前記ライトアクセス指示に応じて、前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトし、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納し、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出するディスクドライバモジュールとを有することを特徴とする付記1のデータストレージシステム。
(付記6)前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部とを更に有し、前記第2のインターフェース部が、前記伝送経路により前記複数のディスク記憶デバイスと接続することを特徴とする付記1のデータストレージシステム。
(付記7)前記コントローラは、前記メモリのキャッシュ領域に格納された前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトし、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリのデータバッファ領域に格納することを特徴とする付記1のデータストレージシステム。
(付記8)上位とのインターフェース制御を行う第1のインターフェース部と、データを記憶する複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部と、前記上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するコントローラと、ライトコマンドに付随するライトデータを格納するメモリとを有し、前記コントローラは、前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトし、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納し、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出することを特徴とするストレージ制御装置。
(付記9)前記コントローラは、前記ライトデータのデータブロック内のブロックID内に、前記ID値を挿入することを特徴とする付記8のストレージ制御装置。
(付記10)前記コントローラは、前記ディスク記憶デバイスにライトするライトデータの先頭又は末尾ブロックに前記ID値を挿入し、前記ライト完了したディスク記憶デバイスから前記ライトデータの先頭又は末尾ブロックをリードし、前記メモリに格納することを特徴とする付記8のストレージ制御装置。
(付記11)前記コントローラは、前記ディスク記憶デバイスにライトするライトデータの全ブロックに前記ID値を挿入し、前記ライト完了したディスク記憶デバイスから前記ライトデータの全ブロックをリードし、前記メモリに格納することを特徴とする付記8のストレージ制御装置。
(付記12)前記コントローラは、前記ディスク記憶デバイスにライトアクセス指示を行う制御モジュールと、前記ライトアクセス指示に応じて、前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトし、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納し、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出するディスクドライバモジュールとを有することを特徴とする付記8のストレージ制御装置。
(付記13)前記コントローラは、前記メモリのキャッシュ領域に格納された前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトし、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリのデータバッファ領域に格納することを特徴とする付記8のストレージ制御装置。
(付記14)データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するコントローラと、前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部とを有するストレージシステムのディスクのライト抜け診断方法において、ライトコマンドに付随するライトデータをメモリに格納するステップと、前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入するステップと、前記ディスク記憶デバイスのディスクに前記ID値を挿入したライトデータをライトするステップと、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納するステップと、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出するステップとを有することを特徴とするデータストレージシステムのディスクのライト抜け診断方法。
(付記15)前記挿入ステップは、前記ライトデータのデータブロック内のブロックID内に、前記ID値を挿入するステップからなることを特徴とする付記14のデータストレージシステムのディスクのライト抜け診断方法。
(付記16)前記挿入ステップは、前記ディスク記憶デバイスにライトするライトデータの先頭又は末尾ブロックに前記ID値を挿入するステップからなり、前記格納するステップは、前記ライト完了したディスク記憶デバイスから前記ライトデータの先頭又は末尾ブロックをリードし、前記メモリに格納するステップからなることを特徴とする付記14のデータストレージシステムのディスクのライト抜け診断方法。
(付記17)前記挿入ステップは、前記ディスク記憶デバイスにライトするライトデータの全ブロックに前記ID値を挿入するステップからなり、前記格納するステップは、前記ライト完了したディスク記憶デバイスから前記ライトデータの全ブロックをリードし、前記メモリに格納するステップからなることを特徴とする付記14のデータストレージシステムのディスクのライト抜け診断方法。
(付記18)前記コントローラの制御モジュールにより、前記ディスク記憶デバイスにライトアクセス指示を行い、ディスクドライバにより、前記挿入ステップ、前記ディスク記憶デバイスのディスクにライトするステップ、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納するステップ、前記ディスク記憶デバイスのライト抜けを検出するステップを実行することを特徴とする付記14のデータストレージシステムのディスクのライト抜け診断方法。
(付記19)前記挿入ステップは、前記メモリのキャッシュ領域に格納された前記ライトデータの一部又は全部にID値を挿入するステップからなり、前記メモリに格納するステップは、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリのデータバッファ領域に格納するステップからなることを特徴とする付記14のデータストレージシステムのディスクのライト抜け診断方法。
(付記20)前記ID値の挿入を、前記ライトデータの一部又は全部のいずれかに選択するステップを更に有することを特徴とする付記14のデータストレージシステムのディスクのライト抜け診断方法。
コントローラが、ライトデータにIDを付して、該当ディスクドライブへのライトアクセス後、ディスクドライブから該当ライトデータをリードし、そのリードデータのIDと、付したIDを比較する。このため、個々のディスクドライブのライトデータが、ヘッドで正常に書き込まれたかを、IDの比較のみで、即座に診断できる。又、IDは、ライトコマンド毎に、更新するため、古いライトデータと新しいライトデータを識別でき、正確に診断でき、即座にディスクドライブの障害を検出できる。
本発明の一実施の形態のデータストレージシステムの説明図である。 本発明の他の実施の形態のデータストレージシステムの説明図である。 図1及び図2のストレージコントローラの構成図である。 図1乃至図3の伝送経路とディスクエンクロージャの構成図である。 図3のコントローラのソフトウェアモジュールの構成図である。 図3及び図5のライトデータのデータブロックのフォーマットの説明図である。 本発明の一実施の形態のディスクライト抜け診断処理フロー図(その1)である。 本発明の一実施の形態のディスクライト抜け診断処理フロー図(その2)である。 本発明の第1の形態のライト抜け診断処理動作の説明図である。 本発明の第2の実施の形態のライト抜け診断処理動作の説明図である。 本発明の第3の実施の形態のライト抜け診断処理動作の説明図である。 本発明の第4の実施の形態のライト抜け診断処理動作の説明図である。
符号の説明
1−1,1−2,1−3,1−4 ディスクドライブ
2−1、2−2 FCループ
3 ホスト
4 ストレージ制御装置(ストレージコントローラ)
40 コントローラ
400 制御ユニット
410 メモリ
412 キャッシュメモリ
414 IDカウンター
416 データバッファ
630 ディスクドライバ
41 チャネルアダプタ
42 デバイスアダプタ
43 通信ユニット(DMAエンジン)

Claims (5)

  1. データを記憶する複数のディスク記憶デバイスと、
    前記複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するストレージコントローラとを有し、
    前記ストレージコントローラは、
    ライトコマンドに付随するライトデータを格納するメモリと、
    前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトするコントローラとを有し、
    前記コントローラは、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納し、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出する
    ことを特徴とするデータストレージシステム。
  2. 前記コントローラは、前記ライトデータのデータブロック内のブロックID内に、前記ID値を挿入する
    ことを特徴とする請求項1のデータストレージシステム。
  3. 前記コントローラは、前記ディスク記憶デバイスにライトするライトデータの先頭又は末尾ブロックに前記ID値を挿入し、前記ライト完了したディスク記憶デバイスから前記ライトデータの先頭又は末尾ブロックをリードし、前記メモリに格納する
    ことを特徴とする請求項1のデータストレージシステム。
  4. 上位とのインターフェース制御を行う第1のインターフェース部と、
    データを記憶する複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部と、
    前記上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するコントローラと、
    ライトコマンドに付随するライトデータを格納するメモリとを有し、
    前記コントローラは、前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入して、前記ディスク記憶デバイスのディスクにライトし、前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納し、前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出する
    ことを特徴とするストレージ制御装置。
  5. データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するコントローラと、前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部とを有するストレージシステムのディスクのライト抜け診断方法において、
    ライトコマンドに付随するライトデータをメモリに格納するステップと、
    前記ライトコマンド毎に、ID値を更新し、前記ライトデータの一部又は全部にID値を挿入するステップと、
    前記ディスク記憶デバイスのディスクに前記ID値を挿入したライトデータをライトするステップと、
    前記ディスク記憶デバイスのライト完了に応じて、前記ライト完了したディスク記憶デバイスから前記ライトデータの一部又は全部をリードし、前記メモリに格納するステップと、
    前記リードしたデータ中のID値と、前記挿入したID値を比較して、前記ディスク記憶デバイスのライト抜けを検出するステップとを有する
    ことを特徴とするデータストレージシステムのディスクのライト抜け診断方法。
JP2005314681A 2005-10-28 2005-10-28 データストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法 Pending JP2007122476A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005314681A JP2007122476A (ja) 2005-10-28 2005-10-28 データストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法
US11/376,183 US7475279B2 (en) 2005-10-28 2006-03-16 Data storage system, data storage control device, and write error diagnosis method for disks thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005314681A JP2007122476A (ja) 2005-10-28 2005-10-28 データストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法

Publications (1)

Publication Number Publication Date
JP2007122476A true JP2007122476A (ja) 2007-05-17

Family

ID=37998026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005314681A Pending JP2007122476A (ja) 2005-10-28 2005-10-28 データストレージシステム、データストレージ制御装置及びそのディスクのライト抜け診断方法

Country Status (2)

Country Link
US (1) US7475279B2 (ja)
JP (1) JP2007122476A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064363A (ja) * 2007-09-07 2009-03-26 Hitachi Ltd ストレージ装置及びそのデータ検証方法
JP2010182087A (ja) * 2009-02-05 2010-08-19 Fujitsu Ltd ディスクアレイ装置、データ分散管理方法、およびデータ分散管理プログラム
JP2012519317A (ja) * 2009-04-06 2012-08-23 株式会社日立製作所 ストレージ装置及びデータ転送方法
JP2015138372A (ja) * 2014-01-22 2015-07-30 富士通株式会社 書込検査プログラム,情報処理装置,及び書込検査方法
US11775175B2 (en) 2021-09-10 2023-10-03 Hitachi, Ltd. Storage system, storage management method, and storage management program

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4953693B2 (ja) * 2006-05-30 2012-06-13 株式会社ニューフレアテクノロジー 荷電ビーム描画装置の描画エラー診断方法および荷電ビーム描画装置
US7873878B2 (en) * 2007-09-24 2011-01-18 International Business Machines Corporation Data integrity validation in storage systems
JP4496265B2 (ja) * 2008-11-28 2010-07-07 株式会社東芝 情報処理装置及び故障予兆判定方法
US8583986B2 (en) * 2008-12-17 2013-11-12 Seagate Technology Llc Solid-state memory with error correction coding
US10216625B2 (en) * 2012-09-24 2019-02-26 Sk Hynix Memory Solutions Inc. Hardware integrity verification
US9239746B2 (en) 2013-05-30 2016-01-19 Xyratex Technology Limited—A Seagate Company Method of, and apparatus for, detection of degradation on a storage resource
CN108984104B (zh) * 2017-06-02 2021-09-17 伊姆西Ip控股有限责任公司 用于缓存管理的方法和设备
US11467736B1 (en) * 2020-09-14 2022-10-11 Pavillon Data Systems, Inc. Dropped write detection and correction

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330629A (ja) * 2002-05-16 2003-11-21 Nec Corp ディスクアレイ制御装置及び方法並びにディスクアレイ制御プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2672916B2 (ja) 1991-12-13 1997-11-05 富士通株式会社 アレイディスク装置のデータチェック方法
JPH10171608A (ja) 1996-12-11 1998-06-26 Nec Corp 磁気ディスクアレイ装置及び磁気ディスクアレイ装置に於けるデータチェック方法
US6968479B2 (en) * 2002-03-06 2005-11-22 Hewlett-Packard Development Company, L.P. Verifying data in a data storage device
US7103722B2 (en) * 2002-07-22 2006-09-05 International Business Machines Corporation Cache configuration for compressed memory systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330629A (ja) * 2002-05-16 2003-11-21 Nec Corp ディスクアレイ制御装置及び方法並びにディスクアレイ制御プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064363A (ja) * 2007-09-07 2009-03-26 Hitachi Ltd ストレージ装置及びそのデータ検証方法
JP2010182087A (ja) * 2009-02-05 2010-08-19 Fujitsu Ltd ディスクアレイ装置、データ分散管理方法、およびデータ分散管理プログラム
JP2012519317A (ja) * 2009-04-06 2012-08-23 株式会社日立製作所 ストレージ装置及びデータ転送方法
JP2015138372A (ja) * 2014-01-22 2015-07-30 富士通株式会社 書込検査プログラム,情報処理装置,及び書込検査方法
US9658922B2 (en) 2014-01-22 2017-05-23 Fujitsu Limited Computer-readable recording medium having stored therein program for write inspection, information processing device, and method for write inspection
US11775175B2 (en) 2021-09-10 2023-10-03 Hitachi, Ltd. Storage system, storage management method, and storage management program

Also Published As

Publication number Publication date
US20070101182A1 (en) 2007-05-03
US7475279B2 (en) 2009-01-06

Similar Documents

Publication Publication Date Title
US7475279B2 (en) Data storage system, data storage control device, and write error diagnosis method for disks thereof
CN1955940B (zh) Raid系统、raid控制器及其重建或拷回处理方法
KR100793531B1 (ko) Raid 시스템 및 그 리빌드/카피백 처리 방법
US20070076321A1 (en) Data storage system, data storage control device, and failure location diagnosis method thereof
US7590884B2 (en) Storage system, storage control device, and storage control method detecting read error response and performing retry read access to determine whether response includes an error or is valid
US7562257B2 (en) Data storage system, data storage control apparatus and fault location diagnosis method
US20060136666A1 (en) SAS storage virtualization controller, subsystem and system using the same, and method therefor
US7725805B2 (en) Method and information apparatus for improving data reliability
KR100740080B1 (ko) 데이터 기억 시스템 및 데이터 기억 제어 장치
US7624324B2 (en) File control system and file control device
US7480850B2 (en) Method of writing data and channel adapter
US7293139B2 (en) Disk array system generating a data guarantee code on data transferring
JP4390694B2 (ja) Dma回路及びこれを用いたディスクアレイ装置
US7765452B2 (en) Disk controller
US11474751B2 (en) Storage apparatus and data processing method therefor
JP2004213684A (ja) 半導体ディスク装置
JP4452697B2 (ja) ディスクアレイ制御装置
JP2004199711A (ja) 半導体ディスク装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100316