(57)【特許請求の範囲】
【請求項１】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御装置において、
検証用記憶手段と、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込み手段と、
アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する検証手段と、
を備えたことを特徴とするディスクアレイ制御装置。
【請求項２】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御装置において、
検証用記憶手段と、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込み手段と、
ホストコンピュータからＲＥＡＤ命令を受信し、このＲＥＡＤ命令の指示する読み出しアドレスが前記検証用記憶手段のリストに登録されている場合、このアドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出し手段と、
を備えたことを特徴とするディスクアレイ制御装置。
【請求項３】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御装置において、
検証用記憶手段と、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込み手段と、
アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する検証手段と、
ホストコンピュータからＲＥＡＤ命令を受信したときに、このＲＥＡＤ命令の指示する読み出しアドレスが前記検証用記憶手段のリストに登録されている場合、このアドレス情報に基づいて前記検証手段を動作させることにより、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出し手段と、
を備えたことを特徴とするディスクアレイ制御装置。
【請求項４】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御装置において、
検証用記憶手段と、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込み手段と、
ホストコンピュータからアドレス情報を受信し、このアドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出し手段と、
を備えたことを特徴とするディスクアレイ制御装置。
【請求項５】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御装置において、
検証用記憶手段と、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込み手段と、
アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する検証手段と、
ホストコンピュータから送信されたアドレス情報を受信したときに、このアドレス情報に基づいて前記検証手段を動作させることにより、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出し手段と、
を備えたことを特徴とするディスクアレイ制御装置。
【請求項６】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御方法において、
検証用記憶手段を用意し、
データの書き込み動作毎にインクリメント過去に書き込まれたことの無い値のする書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込みステップと、
アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する検証ステップと、
を備えたことを特徴とするディスクアレイ制御方法。
【請求項７】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御方法において、
検証用記憶手段を用意し、
データの書き込み動作毎にインクリメント過去に書き込まれたことの無い値のする書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込みステップと、
ホストコンピュータからＲＥＡＤ命令を受信し、このＲＥＡＤ命令の指示する読み出しアドレスが前記検証用記憶手段のリストに登録されている場合、このアドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出しステップと、
を備えたことを特徴とするディスクアレイ制御方法。
【請求項８】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御方法において、
検証用記憶手段を用意し、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込みステップと、
アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する検証ステップと、
ホストコンピュータからＲＥＡＤ命令を受信したときに、このＲＥＡＤ命令の指示する読み出しアドレスが前記検証用記憶手段のリストに登録されている場合、このアドレス情報に基づいて前記検証ステップを動作させることにより、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出しステップと、
を備えたことを特徴とするディスクアレイ制御方法。
【請求項９】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御方法において、
検証用記憶手段を用意し、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込みステップと、
ホストコンピュータからアドレス情報を受信し、このアドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出しステップと、
を備えたことを特徴とするディスクアレイ制御方法。
【請求項１０】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御方法において、
検証用記憶手段を用意し、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込みステップと、
アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する検証ステップと、
ホストコンピュータから送信されたアドレス情報を受信したときに、このアドレス情報に基づいて前記検証ステップを動作させることにより、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出しステップと、
を備えたことを特徴とするディスクアレイ制御方法。
【請求項１１】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御プログラムにおいて、
検証用記憶手段、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込み手段、及び、
アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する検証手段、
としてコンピュータを機能させることを特徴とするディスクアレイ制御プログラム。
【請求項１２】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御プログラムにおいて、
検証用記憶手段、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込み手段、及び
ホストコンピュータからＲＥＡＤ命令を受信し、このＲＥＡＤ命令の指示する読み出しアドレスが前記検証用記憶手段のリストに登録されている場合、このアドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出し手段、
としてコンピュータを機能させることを特徴とするディスクアレイ制御プログラム。
【請求項１３】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御プログラムにおいて、
検証用記憶手段、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込み手段、
アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する検証手段、及び、
ホストコンピュータからＲＥＡＤ命令を受信したときに、このＲＥＡＤ命令の指示する読み出しアドレスが前記検証用記憶手段のリストに登録されている場合、このアドレス情報に基づいて前記検証手段を動作させることにより、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出し手段、
としてコンピュータを機能させることを特徴とするディスクアレイ制御プログラム。
【請求項１４】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御プログラムにおいて、
検証用記憶手段、
データの書き込み動作毎にインクリメント過去に書き込まれたことの無い値のする書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込み手段、及び
ホストコンピュータからアドレス情報を受信し、このアドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出し手段、
としてコンピュータを機能させることを特徴とするディスクアレイ制御プログラム。
【請求項１５】
並列に接続された複数台のＨＤＤに対してデータを読み書きするディスクアレイ制御プログラムにおいて、
検証用記憶手段、
データの書き込み動作毎にインクリメントする過去に書き込まれたことの無い値の書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む書き込み手段、
アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する検証手段、及び、
ホストコンピュータから送信されたアドレス情報を受信したときに、このアドレス情報に基づいて前記検証手段を動作させることにより、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する読み出し手段、
としてコンピュータを機能させることを特徴とするディスクアレイ制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、並列に接続された複数台のＨＤＤ（hard disk drive）に対してデータを読み書きするディスクアレイ制御装置等に関する。
【０００２】
【従来の技術】
ディスクアレイに格納されるデータは非常に重要なデータであるので、その信頼性は限りなく高いレベルを要求される。この高信頼性を実現するため、ディスクアレイ制御装置は、ホストコンピュータから複数のセクタに書き込まれるデータにセクタ単位でＣＲＣ（cyclic redundancy check codes）符号等を付加し、これらのデータ及び付加情報を物理ＨＤＤへ書き込み、物理ＨＤＤからデータを読み出す時にＣＲＣチェックを実行してデータの化け等を検出する機能を搭載している。
【０００３】
【発明が解決しようとする課題】
しかしながら、このような高信頼性機能を搭載しているディスクアレイ制御装置においても、物理ＨＤＤ側で書き込み漏れ等の障害が発生すると、ディスクアレイ側のＣＲＣチェックでも検出することができずにデータが化けてしまう可能性があった。例えば、セクタ単位で書き込み漏れが発生した場合、すなわち一つのセクタが丸ごと書き込み漏れになった場合には、そのセクタに旧値が残っているので読み出し時にＣＲＣエラーとならない。
【０００４】
【発明の目的】
そこで、本発明の目的は、例えばセクタ単位で発生した書き込み漏れを検証でき、これによりディスクアレイの信頼性を向上できる、ディスクアレイ制御装置等を提供することにある。
【０００５】
【課題を解決するための手段】
請求項１記載のディスクアレイ制御装置は、並列に接続された複数台のＨＤＤに対してデータを読み書きするとともに、検証用記憶手段、書き込み手段及び検証手段を備えている。書き込み手段は、データの書き込み動作毎にインクリメントする書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む。検証手段は、アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する。
【０００６】
請求項２記載のディスクアレイ制御装置は、並列に接続された複数台のＨＤＤに対してデータを読み書きするとともに、検証用記憶手段、書き込み手段及び読み出し手段を備えている。書き込み手段は、データの書き込み動作毎にインクリメントする書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む。読み出し手段は、ホストコンピュータからＲＥＡＤ命令を受信し、このＲＥＡＤ命令の指示する読み出しアドレスが前記検証用記憶手段のリストに登録されている場合、このアドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する。上記「ホストコンピュータからＲＥＡＤ命令を受信し、このＲＥＡＤ命令の指示する読み出しアドレスが前記検証用記憶手段のリストに登録されている場合、このアドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、」とある部分は、「ホストコンピュータからアドレス情報を受信し、このアドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、」と言い換えてもよい（請求項４）。
【０００７】
請求項３記載のディスクアレイ制御装置は、並列に接続された複数台のＨＤＤに対してデータを読み書きするとともに、検証用記憶手段、書き込み手段、検証手段及び読み出し手段を備えている。書き込み手段は、データの書き込み動作毎にインクリメントする書き込み識別情報を付与し、この書き込み識別情報を当該データとともに前記ＨＤＤに書き込み、このときに書き込んだアドレスを含むアドレス情報及び前記書き込み識別情報を前記検証用記憶手段に書き込む。検証手段は、アドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、この読み出したアドレス情報における書き込み識別情報を前記ＨＤＤから読み出し、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する。読み出し手段は、ホストコンピュータからＲＥＡＤ命令を受信したとき、このＲＥＡＤ命令の指示する読み出しアドレスが前記検証用記憶手段のリストに登録されている場合、このアドレス情報に基づいて前記検証手段を動作させることにより、前記検証用記憶手段から読み出した書き込み識別情報と前記ＨＤＤから読み出した書き込み識別情報とが一致するか否かを検証する。上記「ホストコンピュータからＲＥＡＤ命令を受信したとき、このＲＥＡＤ命令の指示する読み出しアドレスが前記検証用記憶手段のリストに登録されている場合、このアドレス情報及び書き込み識別情報を前記検証用記憶手段から読み出し、」とある部分は「ホストコンピュータから送信されたアドレス情報を受信したときに、このアドレス情報に基づいて前記検証手段を動作させることにより、」と言い換えてもよい（請求項５）。
【０００８】
次に、本発明に係るディスクアレイ制御装置の作用について説明する。まず、データは、書き込み識別情報とともにＨＤＤに書き込まれる。一方、その書き込み識別情報は、アドレス情報とともに検証用記憶手段にも書き込まれる。ここで、何らかの理由により、データ及び書き込み識別情報がＨＤＤに書き込まれず、かつ、その書き込み識別情報及びアドレス情報が検証用記憶手段に書き込まれたとする。すると、検証用記憶手段から読み出した書き込み識別情報とＨＤＤから読み出した書き込み識別情報とが不一致となるので、異常が発生したことがわかる。従来は、ＨＤＤに対して書き込み漏れが発生しても、前に書き込まれた誤り検出符合とその対象となるデータとがそっくり残っていると、異常と検出されなかった。これに対し、本発明では、書き込みがあったことを示す書き込み識別情報をＨＤＤ及び検証用記憶手段の両方に書き込むので、ＨＤＤに対して書き込み漏れが発生すると、両者の書き込み識別情報が不一致となることにより、異常を検出できる。
【０００９】
本発明に係るディスクアレイ制御方法（請求項６〜１０）は、本発明に係るディスクアレイ制御装置に使用されるものであり、本発明に係るディスクアレイ制御プログラム（請求項１１〜１５）は、本発明に係るディスクアレイ制御装置の各手段としてコンピュータを機能させるものであり、それぞれ本発明に係るディスクアレイ制御装置（請求項１〜５）の構成に対応する。
【００１０】
次に、本発明に係るディスクアレイ制御について、言葉を換えてもう一度説明する。本発明に係るディスクアレイ制御装置は、ベリファイリスト、書き込み手段、検証手段及び読み出し手段を有している。ベリファイリストは、各ＨＤＤ毎に設けられている。書き込み手段は、ＨＤＤへのデータ書き込み時に書き込みＩ／Ｏ毎の識別情報（ＩＤ：identifier）も同時に各セクタの付加情報として書き込み、ベリファイリストに論理ブロックアドレス、書き込みセクタ数及びＩＤを記憶する。検証手段は、ベリファイリストに登録されている論理ブロックアドレスに基づき、ベリファイリストに指定されているセクタ数のデータをＨＤＤから読み出し、各セクタのＩＤとベリファイリストのＩＤとを比較して一致していることを検証し、該当領域をベリファイリストから削除するとともに、検証が不一致であればＨＤＤを縮退させる（切り離す）。読み出し手段は、ホストコンピュータからのＲＥＡＤ処理時、ベリファイリストに登録されている領域か否かを検索し、登録されている領域であればＩ／Ｏ処理として読み出したデータのＩＤとベリファイリストのＩＤとを比較して一致しているかを検証し、不一致であればＨＤＤを縮退させる。
【００１１】
また、読み出し手段は、ホストコンピュータからのＲＥＡＤ処理時、ベリファイリストに登録されている領域か否かを検索し、登録されている領域であれば該当領域を検証手段に指示して、該当領域の検証をホストコンピュータＩ／Ｏの処理より前に実施する、としてもよい。
【００１２】
このように、ＨＤＤへデータを書き込み時に、ベリファイリストは登録されて、検証手段で検証されると、ベリファイリストから削除される。よって、このベリファイリストに登録されている領域は、未検証領域となる。したがって、ホストコンピュータからのＲＥＡＤが、検証用記憶手段に登録されている領域（未検証領域）であれば、ホストコンピュータに応答する前に、それを検証する。
【００１３】
【発明の実施の形態】
以下、本発明の実施形態において、特許請求の範囲における「検証用記憶手段」、「書き込み識別情報」及び「アドレス情報」を、それぞれ「ベイファイリスト」、「書き込みＩ／Ｏ毎のＩＤ（識別子）」及び「論理ブロックアドレス及びセクタ数」と具体化して言い換えるものとする。
【００１４】
図１は、本発明に係るディスクアレイ制御装置の一実施形態を示す機能ブロック図である。図２は、図１のディスクアレイ制御装置におけるＨＤＤの書き込みフォーマットを示す説明図である。図３は、図１のディスクアレイ制御装置におけるベリファイリストの書き込みフォーマットを示す説明図である。以下、これらの図面に基づき説明する。
【００１５】
ディスクアレイ制御装置１０は、各ＨＤＤ１２１〜１２３毎のベリファイリスト１４１〜１４３、書き込み手段１６、検証手段１８、読み出し手段２０、ディスクキャシュ２２等を有している。また、ディスクアレイ制御装置１０及びＨＤＤ１２１〜１２３はディスクアレイ２４を構成し、ディスクアレイ２４はホストコンピュータ２６に接続されている。以下、ＨＤＤ１２１〜１２３及びベリファイリスト１４１〜１４３については、ＨＤＤ１２１及びベリファイリスト１４１のみを代表として説明する。
【００１６】
ベリファイリスト１４１は、書き込み手段１６、検証手段１８及び読み出し手段２０が使用する、ＨＤＤ１２１への書き込みを検証するためのもので、ＨＤＤ１２１へのデータ書き込み時に書き込みＩ／Ｏ毎に付加されるＩＤと、論理ブロックアドレスと、書き込みセクタ数とを記憶している。
【００１７】
書き込み手段１６は、ＨＤＤ１２１への書き込み時に、書き込みＩ／Ｏ毎に付加されるＩＤを生成し、ＨＤＤ１２１へデータ及びＩＤを書き込むとともに、ベリファイリスト１４１へ該当領域を登録する。
【００１８】
検証手段１８は、ベリファイリス１４１に登録されている論理ブロックアドレスに基づき、ベリファイリスト１４１に指定されているセクタ数のデータをＨＤＤ１２１から読み出し、各セクタのＩＤとベリファイリスト１４１のＩＤとを比較して一致していることを検証し、該当領域をベリファイリスト１４１から削除するとともに、検証が不一致であればＨＤＤ１２１を縮退させる。
【００１９】
読み出し手段２０は、ホストコンピュータ２６からのＲＥＡＤ処理時、ベリファイリスト１４１に登録されている領域か否かを検索し、登録されている領域であれば、Ｉ／Ｏ処理として読み出したデータのＩＤが、ベリファイリスト１４１のＩＤと比較して一致しているかを検証し、不一致であればＨＤＤ１４１を縮退させる。
【００２０】
次に、ディスクアレイ制御装置１０の動作を図１乃至図３に基づき説明する。
【００２１】
書き込み手段１６は、ディスクキャッシュ２２上のＨＤＤ未書き込みデータを検索し、ＨＤＤ１２１への書き込みを行う。このとき、書き込みＩ／ＯのＩＤをＨＤＤ１２１へ付加情報として書き込むとともに、この付加情報をＨＤＤ１２１のベリファイリスト１４１へ登録する。ＨＤＤ１２１の書き込みＩ／ＯのＩＤとは、Ｉ／Ｏ毎にインクリメントする情報等であり、過去の書き込みのＩＤと異なる値で書き込むものである。実際、書き込み実施後、ＨＤＤ１２１からデータを読み出し、このＩＤ値のみチェックすることで、目的のデータが書き込み処理されたと判断する。書き込み前後のＩＤ値は、２バイト（１バイト＝８ビット）構成であれば、一巡して一致してしまう確率が１／６４Ｋ（＝１／２１６）であるので、ほとんど一致しない。
【００２２】
検証手段１８は、ＨＤＤ１２１のベリファイリスト１４１を読み出して、ベリファイリスト１４１に登録されている領域の検証動作を実施する。まず、ＨＤＤ１２１から該当領域を読み出し、ベリファイリスト１４１のＩＤと比較して、不一致であれば書き込み失敗と判断して、ＨＤＤ１２１を縮退させる。一致している場合には、何らかの書き込みが実施されていることになるので、旧値を読み出すことは無くなる。書き込みが実施されて、かつ有効データであるのかは、このＩＤチェックと、ＣＲＣチェックとで判断できる。検証手段１８は、該当領域の検証後、ベリファイリスト１４１から該当領域を削除する。
【００２３】
ホストコンピュータ２６からの読み出し指示で、ＨＤＤ１２１への読み出しが必要な場合、読み出し手段２０はＨＤＤ１２１のベリファイリスト１４１を検索して該当領域の有無を判断する。該当領域が無い場合には、ＨＤＤ１２１から通常の読み出し動作を行えばよい。一方、該当領域がベリファイリスト１４１に登録されている場合には、書き込み検証が完了していない領域であるので、読み出し処理の中でもＩＤ部の比較を実施する。ＩＤ部が一致した場合には、正常に読み込みが実施できたことになる。一方、不一致の場合には、ＨＤＤ１２１を縮退させて、他のＲＡＩＤを構成するメンバディスクから、データをジェネレートする。
【００２４】
【発明の効果】
従来技術では、ＨＤＤに対して書き込み漏れが発生しても、前に書き込まれた誤り検出符合とその対象となるデータとがそっくり残っていると、異常と検出されなかった。これに対し、本発明では、書き込みがあったことを示す書き込み識別情報をＨＤＤ及び検証用記憶手段の両方に書き込むので、ＨＤＤに対して書き込み漏れが発生すると、両者の書き込み識別情報が不一致となることにより、異常を検出できる。したがって、ディスクアレイの信頼性を向上できる。
【００２５】
換言すると、本発明は、物理ＨＤＤに書き込んでデータが確実に書き込まれたことを検証する方式であり、従来の方式と比較して次のような効果がある。（１）データを読み出して検証する処理は、一旦ベリファイリストに登録して、ＨＤＤの負荷の低い時に実施できるので、ホストコンピュータからのアクセス性能の低下を抑えることができる。（２）ＨＤＤ毎に有するベリファイリストに覚えさせる情報は、論理ブロックアドレス、セクタ数、書き込み識別子（例えば、書き込み毎にインクリメントされる情報）のみであるので、ベリファイリストの容量が小さくて済む。これに対しデータを全て残す方式では、膨大な量のベリファイリストになってしまう。
【図面の簡単な説明】
【図１】本発明に係るディスクアレイ制御装置の一実施形態を示す機能ブロック図である。
【図２】図１のディスクアレイ制御装置におけるＨＤＤの書き込みフォーマットを示す説明図である。
【図３】図１のディスクアレイ制御装置におけるベリファイリストの書き込みフォーマットを示す説明図である。
【符号の説明】
１０  ディスクアレイ制御装置
１２１〜１２３  ＨＤＤ
１４１〜１４３  ベリファイリスト（検証用記憶手段）
１６  書き込み手段
１８  検証手段
２０  読み出し手段
２２  ディスクキャシュ
２４  ディスクアレイ
２６  ホストコンピュータ
【図１】
0004454204.tif 000002
【図２】
0004454204.tif 000003
【図３】
0004454204.tif 000004