[go: up one dir, main page]

JP2007122108A - セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御 - Google Patents

セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御 Download PDF

Info

Publication number
JP2007122108A
JP2007122108A JP2005309198A JP2005309198A JP2007122108A JP 2007122108 A JP2007122108 A JP 2007122108A JP 2005309198 A JP2005309198 A JP 2005309198A JP 2005309198 A JP2005309198 A JP 2005309198A JP 2007122108 A JP2007122108 A JP 2007122108A
Authority
JP
Japan
Prior art keywords
timing
mode
test
disk drive
operation mode
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
JP2005309198A
Other languages
English (en)
Other versions
JP2007122108A5 (ja
Inventor
Makio Mizuno
真喜夫 水野
Akira Fujibayashi
昭 藤林
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005309198A priority Critical patent/JP2007122108A/ja
Priority to US11/296,319 priority patent/US7519869B2/en
Publication of JP2007122108A publication Critical patent/JP2007122108A/ja
Publication of JP2007122108A5 publication Critical patent/JP2007122108A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる技術を提供することである。
【解決手段】ディスクドライブ装置の動作状況と、ディスクドライブ装置の動作履歴と、の少なくとも一方に関する稼働情報を取得し、テスト処理実行指示のタイミング決定処理を実行し、決定されたタイミングに従ってテスト処理の実行指示を行い、テスト処理の結果を取得する。ここで、タイミングを、稼働情報の少なくとも一部の第1稼働情報に基づいて決定する。
【選択図】図3

Description

本発明は、セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御技術に関する。
従来より、ディスクドライブ装置を用いたストレージシステムが利用されている。ディスクドライブ装置の中には、セルフチェック(セルフテスト)機能を有するものがある。このような機能(技術)としては、S.M.A.R.T.(Self Monitoring Analysis and Reporting Technology)が知られている。このようなセルフチェック機能は、例えば、ディスクドライブの交換に利用されている(特許文献1参照)。
米国特許出願公開第2004/0260967号明細書
ところで、従来のストレージシステムでは、そのストレージシステムに設けられた複数のディスクドライブ装置の動作状態は、基本的にスピンアップ状態である。従って、セルフチェックに伴って、ディスクドライブ装置がスピンアップされることは少なかった。一方、近年では、MAID(Massive Array of Inactive Disk)技術を適用したストレージシステムが利用される場合がある。MAIDでは、複数のディスクドライブ装置の中の、アクセスの無いディスクドライブ装置の中の少なくとも一部がスピンダウンされる。このようなMAIDを用いることによって、消費電力を抑え、ストレージシステムの高密度化(省スペース化)を実現し、さらには、ディスクドライブ装置の長寿命化を実現することも可能となる。ここで、ディスクドライブ装置の最新の状態を取得するためには、セルフチェックが繰り返し実行される。ところが、セルフチェックの実行によって、ディスクドライブ装置に負荷がかかる。その結果、セルフチェックに起因してディスクドライブ装置の寿命が短縮される可能性があった。特に、MAID技術を適用したストレージシステムでは、セルフチェックに伴ってスピンアップやスピンダウンが実行される場合があり、その結果、ディスクドライブ装置に大きな負荷がかかる可能性があった。
なお、このような問題は、セルフチェックに伴ってスピンアップやスピンダウンが実行される場合に限らず、スピンアップやスピンダウンを伴わないセルフチェックが実行される場合にも共通する問題であった。また、このような問題は、MAIDのように一部のディスクドライブ装置がスピンダウンされるストレージシステムに限らず、ディスクドライブ装置がスピンダウンされないストレージシステムにも共通する問題であった。
本発明は、上記の課題を解決するためになされたものであり、セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる技術を提供することである。
上述の課題の少なくとも一部を解決するため、本発明のストレージシステムは、データの読み書きが可能な記憶領域をホストコンピュータに提供するストレージシステムであって、ディスクドライブ装置であって、前記記憶領域と、前記ディスクドライブ装置の動作のテスト処理を実行するテスト実行部と、を有するディスクドライブ装置と、前記テスト実行部に前記テスト処理の実行指示を送信するテスト指示部と、前記テスト処理の結果を取得する結果取得部と、前記ディスクドライブ装置の動作状況と、前記ディスクドライブ装置の動作履歴と、の少なくとも一方に関する稼働情報を取得する稼働情報取得部と、を備え、前記テスト指示部は、前記テスト処理実行指示のタイミング決定のモードであるタイミングモードとして、前記稼働情報の少なくとも一部の第1稼働情報に基づいて前記タイミングを決定する第1タイミングモードを有する。
このストレージシステムによれば、テスト処理のタイミングが、ディスクドライブ装置の動作状況と、ディスクドライブ装置の動作履歴と、の少なくとも一方に関する稼働情報の少なくとも一部の第1稼働情報に基づいて決定されるので、セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
上記ストレージシステムにおいて、前記テスト指示部は、さらに、前記タイミングモードとして、前記第1タイミングモードとは異なるタイミングを決定する第2タイミングモードを有し、前記テスト指示部は、前記タイミングモードの選択の契機に応じて、前記稼働情報の少なくとも一部の第2稼働情報が、与えられた第1タイミング条件を満たしているか否かを判断し、(i)前記第1タイミング条件が満たされている場合には、前記第1タイミングモードに従って前記テスト処理の実行指示のタイミングを決定し、(ii)前記第1タイミング条件が満たされていない場合には、前記第2タイミングモードに従って前記テスト処理の実行指示のタイミングを決定することとしてもよい。
この構成によれば、稼働情報の少なくとも一部の第2稼働情報に基づいて、タイミングを決定するモードが選択されるので、セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
上記ストレージシステムにおいて、前記テスト指示部は、前記第2タイミングモードにおいて、一定時間間隔毎に前記テスト処理の実行指示を送信することとしてもよい。
この構成によれば、第2タイミングモードでは、一定時間間隔でテスト処理が実行されるので、セルフチェックの結果の利用時点での信頼性を高めることができる。
上記各ストレージシステムにおいて、前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、前記第2稼働情報は、前記ディスクドライブ装置の動作モードが前記アップ動作モードから前記ダウン動作モードへ切り替わった回数と、前記ディスクドライブ装置の動作モードが前記ダウン動作モードから前記アップ動作モードへ切り替わった回数と、前記ディスクドライブ装置の電源がONからOFFへ切り替わった回数と、前記ディスクドライブ装置の電源がOFFからONへ切り替わった回数と、前記ディスクドライブ装置を対象として読み書きされたデータ量に正の相関のある値と、の中の少なくとも一部のパラメータを含み、前記第1タイミング条件は、前記第2稼働情報に含まれる各パラメータの少なくとも一部がそれぞれの閾値を超えていることを含むことが好ましい。
アップ/ダウンの回数と、電源ON/OFFの回数と、読み書きされたデータ量に正の相関のある値とは、ディスクドライブ装置200の寿命との関連性が特に強い。従って、この構成によれば、タイミングモード選択の条件に、これらのパラメータの少なくとも一部が用いられるので、ディスクドライブ装置の状態の適した選択を行うことができる。
上記ストレージシステムにおいて、さらに、前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、前記稼働情報の少なくとも一部の第3稼働情報は、前記ディスクドライブ装置の現行の動作モードを含み、前記結果取得部は、前記テスト処理結果の参照要求に応じて前記ディスクドライブ装置の現行の動作モードが前記アップ動作モードであるか否かを判断するとともに、(A)前記動作モードが前記アップ動作モードである場合には、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供し、(B)前記動作モードが前記アップ動作モードでない場合には、さらに、前記第3稼働情報が、与えられた実行可能条件を満たしているか否かを判断し、(B1)前記実行可能条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供し、(B2)前記実行可能条件が満たされていない場合には、前記テスト処理の実行指示を前記テスト実行部に送信せずに、前記テスト指示部の指示に従って実行されたテスト処理の結果であって取得済みの結果を、提供することとしてもよい。
この構成によれば、テスト処理結果の参照要求が発行された場合に、新たなテスト処理の結果を提供するか、取得済みのテスト結果を提供するかが、稼働情報の少なくとも一部の第3稼働情報(ディスクドライブ装置の現行の動作モードを含む)に基づいて決定されるので、セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
上記ストレージシステムにおいて、前記第3稼働情報は、さらに、前記ディスクドライブ装置の動作モードが前記アップ動作モードから前記ダウン動作モードへ切り替わった回数と、前記ディスクドライブ装置の動作モードが前記ダウン動作モードから前記アップ動作モードへ切り替わった回数と、前記ディスクドライブ装置の電源がONからOFFへ切り替わった回数と、前記ディスクドライブ装置の電源がOFFからONへ切り替わった回数と、前記ディスクドライブ装置を対象として読み書きされたデータ量に正の相関のある値と、の中の少なくとも一部のパラメータを含み、前記実行可能条件は、前記第3稼働情報に含まれる各パラメータがそれぞれの閾値以下であることを含む、ことが好ましい。
アップ/ダウンの回数と、電源ON/OFFの回数と、読み書きされたデータ量に正の相関のある値とは、ディスクドライブ装置200の寿命との関連性が特に強い。従って、この構成によれば、テスト結果の選択の条件に、これらのパラメータの少なくとも一部が用いられるので、ディスクドライブ装置の状態の適した選択を行うことができる。
上記ストレージシステムにおいて、前記結果取得部は、与えられた閾値設定要求に応じて前記閾値を設定することとしてもよい。
この構成によれば、閾値が要求に応じて設定されるので、結果取得部は、ストレージシステムの利用状況に適した閾値を用いることができる。
上記各ストレージシステムにおいて、前記ホストコンピュータと前記ディスクドライブ装置とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部を備え、前記テスト指示部と前記結果取得部と前記稼働情報取得部とは前記ストレージ制御部に設けられており、前記ディスクドライブ装置は、第1と第2のディスクドライブ装置を含み、前記実行可能条件は、第1と第2の実行可能条件を含み、前記結果取得部は、前記第1実行可能条件を用いて前記第1ディスクドライブ装置に対する処理を行い、前記第2実行可能条件を用いて前記第2ディスクドライブ装置に対する処理を行うこととしてもよい。
この構成によれば、結果取得部は、各ディスクドライブ装置に適した結果を取得することができる。
上記ストレージシステムにおいて、前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、前記第1稼働情報は、前記ディスクドライブ装置の動作モードの前記アップ動作モードから前記ダウン動作モードへの移行の契機であるダウン契機を含み、前記テスト指示部は、前記第1タイミングモードとして、ダウンタイミングモードを有し、前記テスト指示部は、前記ダウンタイミングモードにおいて、前記ダウン契機に応じて、前記テスト処理を実行する旨の指示を前記テスト実行部に送信することによって、前記テスト実行部に前記動作モードの移行前に前記テスト処理を実行させることとしてもよい。
この構成によれば、動作モードがアップ動作モードからダウン動作モードへの移行の契機に応じてテスト処理が実行されるので、テスト結果の利用時点での信頼性の低下を抑制しつつ、取得済みのテスト結果を、新たなテスト処理の結果の代わりに利用することができる。
上記ストレージシステムにおいて、前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、前記第1稼働情報は、前記ディスクドライブ装置の動作モードの前記ダウン動作モードから前記アップ動作モードへの移行の契機であるアップ契機を含み、前記テスト指示部は、前記第1タイミングモードとして、アップタイミングモードを有し、前記テスト指示部は、前記アップタイミングモードにおいて、前記アップ契機に応じて、前記テスト処理を実行する旨の指示を前記テスト実行部に送信することによって、前記テスト実行部に前記動作モードの移行後に前記テスト処理を実行させることとしてもよい。
この構成によれば、動作モードがダウン動作モードからアップ動作モードへの移行の契機に応じてテスト処理が実行されるので、テスト結果の利用時点での信頼性の低下を抑制しつつ、取得済みのテスト結果を、新たなテスト処理の結果の代わりに利用することができる。
上記ストレージシステムにおいて、前記第1稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機を含み、前記テスト指示部は、前記第1タイミングモードとして、アクセスタイミングモードを有し、前記テスト指示部は、前記アクセスタイミングモードにおいて、前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置を対象とする読み書きの契機に応じて前記テスト処理の実行指示を前記テスト実行部に送信することとしてもよい。
この構成によれば、テスト処理がアクセスに同期して実行されるので、テスト処理の実行に起因するディスクドライブ装置の寿命の短縮を抑えることができる。
上記ストレージシステムにおいて、前記テスト指示部は、前記第1タイミングモードとして、状況実行タイミングモードを有し、前記テスト指示部は、前記状況実行タイミングモードにおいて、前記テスト処理の指示の要否確認の契機に応じて、前記第1稼働情報が、与えられた状況実行条件を満たしているか否かを判断し、(i)前記状況実行条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、(ii)前記状況実行条件が満たされていない場合には、前記テスト処理の実行指示を送信せずに、次の前記要否確認契機を待つこととしてもよい。
この構成によれば、第1稼働情報が、与えられた状況実行条件を満たしているか否かに応じて、テスト処理が実行されるか否かが決定されるので、セルフチェックの結果の利用時点での信頼性と、テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
上記ストレージシステムにおいて、前記第1稼働情報は、前記ディスクドライブ装置を対象とする読み書きの頻度に相関のある頻度パラメータを含み、前記状況実行条件は、前記頻度パラメータが表す頻度が閾値未満であることを含むこととしてもよい。
この構成によれば、現時点での読み書きの頻度が比較的高い場合にはテスト処理が実行されないので、テスト処理の実行に起因するディスクドライブ装置の寿命の短縮を抑えることができる。
上記ストレージシステムにおいて、前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、前記第1稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機と、前記ディスクドライブ装置の現行の動作モードと、を含み、前記テスト指示部は、前記第1タイミングモードとして、状況判定モードを有し、前記テスト指示部は、前記状況判定モードにおいて、前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置の現行の動作モードが前記ダウン動作モードであるか否かを判断し、(A)前記動作モードが前記ダウン動作モードではない場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、(B)前記動作モードが前記ダウン動作モードである場合には、さらに、前記第1稼働情報が、与えられた状況判定条件を満たしているか否かを判断し、(B1)前記状況判定条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、(B2)前記状況判定条件が満たされていない場合には、前記テスト処理の実行指示の送信を保留し、前記ディスクドライブ装置を対象とする読み書きの契機に応じて前記テスト処理の実行指示を前記テスト実行部に送信することとしてもよい。
この構成によれば、テスト処理の実行タイミングが、ディスクドライブ装置を対象とする読み書きの契機と、ディスクドライブ装置の現行の動作モードと、を含む第1稼働情報に基づいて決定されるので、セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
上記ストレージシステムにおいて、前記第1稼働情報は、前記ディスクドライブ装置の動作モードが前記アップ動作モードから前記ダウン動作モードへ切り替わった回数と、前記ディスクドライブ装置の動作モードが前記ダウン動作モードから前記アップ動作モードへ切り替わった回数と、前記ディスクドライブ装置の電源がONからOFFへ切り替わった回数と、前記ディスクドライブ装置の電源がOFFからONへ切り替わった回数と、前記ディスクドライブ装置を対象として読み書きされたデータ量に正の相関のある値と、の中の少なくとも一部のパラメータを含み、前記状況判定条件は、前記第1稼働情報に含まれる各パラメータがそれぞれの閾値以下であることを含むことが好ましい。
アップ/ダウンの回数と、電源ON/OFFの回数と、読み書きされたデータ量に正の相関のある値とは、ディスクドライブ装置200の寿命との関連性が特に強い。従って、この構成によれば、テスト処理のタイミングの決定に、これらのパラメータの少なくとも一部が用いられるので、ディスクドライブ装置の状態に適したタイミングを決定することができる。
上記各ストレージシステムにおいて、さらに、前記ホストコンピュータと前記ディスクドライブ装置とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部を備え、前記テスト指示部と前記結果取得部と前記稼働情報取得部とは前記ストレージ制御部に設けられており、前記ディスクドライブ装置は、第1と第2のディスクドライブ装置を含み、前記条件は、第1ドライブ用と第2ドライブ用の条件を含み、前記テスト指示部は、前記第1ドライブ用条件を用いて前記第1ディスクドライブ装置に対する処理を行い、前記第2ドライブ用条件を用いて前記第2ディスクドライブ装置に対する処理を行うこととしてもよい。
この構成によれば、テスト指示部は、各ディスクドライブ装置に適したタイミングで指示を行うことができる。
上記各ストレージシステムにおいて、前記テスト指示部は、与えられた閾値設定要求に応じて前記閾値を設定することとしてもよい。
この構成によれば、閾値が要求に応じて設定されるので、テスト指示部は、ストレージシステムの利用状況に適した閾値を用いることができる。
上記各ストレージシステムにおいて、前記ホストコンピュータと前記ディスクドライブ装置とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部を備え、前記結果取得部は前記ストレージ制御部に設けられており、前記テスト指示部と前記稼働情報取得部とは前記ディスクドライブ装置に設けられており、前記ストレージ制御部は、さらに、与えられた閾値設定要求に応じて前記テスト指示部に前記閾値設定要求を送信する閾値設定部を有し、前記テスト指示部は、受信した前記閾値設定要求に応じて前記閾値を設定することとしてもよい。
この構成によれば、閾値が要求に応じて設定されるので、テスト指示部は、ストレージシステムの利用状況に適した閾値を用いることができる。
上記ストレージシステムにおいて、前記ホストコンピュータと前記ディスクドライブ装置とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部を備え、前記結果取得部は前記ストレージ制御部に設けられており、前記テスト指示部と前記稼働情報取得部とは前記ディスクドライブ装置に設けられていることとしてもよい。
この構成によれば、ストレージ制御部の構成を簡略化することができる。
上記ストレージシステムにおいて、前記テスト指示部は、前記テスト処理の完了に応じて、完了通知を前記ストレージ制御部に送信し、前記結果取得部は、前記完了通知を受信したことに応じて、前記テスト処理の結果を前記ディスクドライブ装置から取得することとしてもよい。
この構成によれば、結果取得部は、適切に、テスト処理の結果を取得することができる。
上記ストレージシステムにおいて、前記結果取得部は、前記完了通知を受信しない状態が、与えられた待ち時間以上続いた場合に、前記テスト実行部に前記テスト処理の実行指示を送信することが好ましい。
この構成によれば、ディスクドライブ装置に不具合が生じているにも拘わらず、結果取得部がその旨の情報を有していない状態が過剰に長く続くことを抑制できる。
なお、本発明は、種々の形態で実現することが可能であり、例えば、セルフチェックの制御方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
B.第2実施例:
C.第3実施例:
D.第4実施例:
E.第5実施例:
F.第6実施例:
G.第7実施例:
H.第8実施例:
I.第9実施例:
J.変形例:
A.第1実施例:
図1は、本発明の一実施例としてのデータ処理システムの構成を示す概略図である。このデータ処理システム10は、互いに接続されたホストコンピュータ400とストレージシステム300とを有している。ストレージシステム300は、データの記憶領域をホストコンピュータ400に提供する。ホストコンピュータ400は、提供された記憶領域を利用しつつ、所定の機能を実現する。ホストコンピュータ400の機能としては、例えば、データファイルをクライアント装置(図示せず)に提供するファイルサーバとしての機能や、種々のデータを管理するデータベースサーバとしての機能がある。
ストレージシステム300は、ストレージコントローラ100と、ストレージコントローラ100に接続された複数のディスクドライブ装置200、200a、200bと、を有している。ストレージコントローラ100は、ホストコンピュータ400の要求に応じて、各ディスクドライブ装置200、200a、200bを対象とするデータの読み書きを実行する。
ストレージコントローラ100は、ホストインターフェース(I/F)130と、キャッシュメモリ140と、メモリ150と、ストレージディスクコントローラ110と、スイッチ160と、を有している。
ホストI/F130は、ホストコンピュータ400との接続のためのインターフェースである。キャッシュメモリ140は、ホストコンピュータ400と、ディスクドライブ装置200、200a、200bとの間で転送されるデータを一時的に記憶するための半導体メモリである。メモリ150は、ストレージシステム300内の制御情報や管理情報を格納する半導体メモリである。ストレージディスクコントローラ110は、ディスクドライブ装置200、200a、200bとの接続のためのインターフェースとして機能する。スイッチ160は、上述の各構成要素110、130、140、150のそれぞれと接続されており、これらの各構成要素間のデータ通信を中継する。
ストレージディスクコントローラ110は、CPU(中央処理装置)112と、メモリ114と、を有している。メモリ114は、指示モジュール120と、結果取得モジュール121と、データ中継モジュール122と、稼働情報取得モジュール123と、閾値管理テーブル126と、チェック間隔設定テーブル128と、を格納している。各モジュール120、121、122、123は、CPU112によって実行されるコンピュータプログラムである。各モジュールの詳細については後述する。
データ中継モジュール122は、ホストコンピュータ400の要求に応じて、各ディスクドライブ装置200、200a、200bとホストコンピュータ400との間のデータ転送を中継する。具体的には、データ中継モジュール122は、ホストコンピュータ400からのリードコマンドやライトコマンドに応じて、各ディスクドライブ装置200、200a、200bにリードコマンドやライトコマンドを、それぞれ送信する。また、第1実施例では、データ中継モジュール122は、複数のディスクドライブ装置200、200a、200bを用いてRAID(Redundant Array of Inexpensive Disks)システムを構成する。ただし、RAIDシステムを用いなくてもよい。
ディスクドライブ装置200は、ドライブコントローラ210と、ドライブコントローラ210に接続されたディスクドライブ機構コントローラ250と、ディスクドライブ機構コントローラ250に接続されたディスクドライブ機構260と、を有している。ドライブコントローラ210は、ストレージディスクコントローラ110の要求に応じて、ディスクドライブ機構コントローラ250を制御することによって、ディスクドライブ機構260を対象とするデータの読み書きを実行する。なお、本実施例では、ドライブコントローラ210は、ATA(AT Attachment)規格に従った制御を行うこととしている。ただし、他の規格(例えば、SCSI)に従った制御を行うこととしてもよい。
ディスクドライブ機構260は、記憶領域としてのディスク262と、ヘッド264と、を有している。ヘッド264は、回転するディスク262を対象としてデータを読み書きする。ディスクドライブ機構コントローラ250は、ディスク262を回転させるスピンドルモータ(図示省略)と、ヘッド264を移動させるアクチュエータ(図示省略)とを有している。ディスクドライブ機構コントローラ250は、ドライブコントローラ210の要求に応じて、ディスクドライブ機構260を駆動する。
また、ドライブコントローラ210は、ドライブインターフェース(I/F)212と、CPU214と、キャッシュメモリ216と、メモリ218と、を有している。メモリ218は、自己テストモジュール220と、モード制御モジュール222と、データ中継モジュール224と、を格納している。これらのモジュール220、222、224は、CPU214によって実行されるコンピュータプログラムである。自己テストモジュール220は、ディスクドライブ装置200の動作をテストする。モード制御モジュール222は、ドライブコントローラ210の動作モードを制御する。データ中継モジュール224は、ストレージディスクコントローラ110の要求に応じた、ディスクドライブ機構260を対象とするデータの読み書きを行う。各モジュールの詳細については後述する。
以上、ディスクドライブ装置200の構成について説明したが、他のディスクドライブ装置200a、200bの構成も、ディスクドライブ装置200の構成と同じである。
図2は、図1のディスクドライブ装置200の電力管理に関する動作状態(動作モード)の遷移を示す状態遷移図である。例えば、ATA規格では、以下の4つの動作状態(動作モード)が規定されている。
(1)Activeモード(St110):
(2)Idleモード(St120):
(3)Standbyモード(St130):
(4)Sleepモード(St140):
Activeモードは、データ中継モジュール224(図1)が、すぐに、リードコマンドやライトコマンドに応答することができる動作モードである。このActiveモードでは、ディスク262とヘッド264とは稼働状態にある。リードコマンドとライトコマンドとに対する応答時間は、後述する他のモードのいずれよりも短い。ただし、ディスクドライブ装置200は、後述する他の動作モードと比べて、より多くの電力を消費する。
Idleモードは、ベンダ(製造者)独自の電力管理が行われる動作モードである。このIdleモードでは、モード制御モジュール222(図1)は、例えば、ヘッド264の所定の退避位置への退避や、一部の電子回路への電力供給の停止などを行う。これにより、Idleモードでのディスクドライブ装置200の電力消費量は、Activeモードよりも少なくなる。ただし、Activeモードと比べると、リードコマンドとライトコマンドとに対する応答時間は長くなる。これは、Activeモードへの切り替えに時間がかかるからである。
Standbyモードは、Idleモードよりもさらに電力消費量を小さくする動作モードである。このStandbyモードでは、モード制御モジュール222(図1)は、例えば、スピンドルモータ(図示省略)を停止させる。ただし、ActiveモードとIdleモードとのいずれよりも、リードコマンドとライトコマンドとに対する応答時間は長くなる。これは、Activeモードへの切り替えに時間がかかるからである。
Sleepモードは、Standbyモードよりもさらに電力消費量を小さくする動作モードである。このSleepモードでは、モード制御モジュール222(図1)は、他のモードよりも多くの電子回路への電力供給を停止する。その結果、Sleepモードでの電力消費量は、4つのモードの中で最小である。ただし、Sleepモードでは、データ中継モジュール224は、リードコマンドとライトコマンドとに応答することができない。この代わり、モード制御モジュール222は、外部からのリセット要求に応じて、動作モードを、SleepモードからStandbyモードに移行させる(C142)。リセット要求としては、例えば、ハードウェアリセットや、ストレージディスクコントローラ110からのDEVICE RESETコマンドを採用可能である。
ドライブコントローラ210(図1)が、Standbyモード、あるいは、Idleモードで動作している状態で、リードコマンドやライトコマンドをストレージディスクコントローラ110から受信すると、モード制御モジュール222は、動作モードをActiveモードに移行させる(C132、C122)。動作状態がActive状態に移行した後、データ中継モジュール224が、ストレージディスクコントローラ110からのコマンドに応じてリード処理とライト処理とを、それぞれ実行する。
また、ドライブコントローラ210(図1)が、Activeモードで動作している状態で、モード切替要求をストレージディスクコントローラ110から受信すると、モード制御モジュール222は、要求に従って、動作モードをIdleモードやStandbyモード、Sleepモードに移行させる(C112、C114、C116)。このような要求としては、例えば、IDLEコマンドやIDLE IMMEDIATEコマンド、STANDBYコマンド、STANDBY IMMEDIATEコマンド、SLEEPコマンドがある。なお、モード切替要求に応じたモードの切り替えは、ドライブコントローラ210が他のモードで動作している場合も同様である(C124、C134、C136、C126)。また、モード制御モジュール222が自発的に動作モードを切り替える構成を採用してもよい。例えば、ドライブコントローラ210が、リードコマンドとライトコマンドとを所定の一定時間受信しなかった時に、モード制御モジュール222が、自発的に動作モードをStandbyモードに移行させることとしてもよい。
以上説明したように、ディスクドライブ装置200の複数の動作モードの、読み書きの実行時の状態に近い順は、Activeモード、Idleモード、Standbyモード、Sleepモードの順である。なお、複数の動作モードの順番に関しては、リードコマンドとライトコマンドとに対する応答時間の短い順と、読み書きの実行時の状態に近い順とは、同じである。また、通常は、読み書きの実行時の状態から遠い動作モードほど、電力の供給が止められている構成要素(電子回路)の割合が高いので、電力消費量の大きい順と、読み書きの実行時の状態に近い順とは、同じである。
図3は、第1実施例における自己テストのタイミング制御処理の手順を示すフローチャートである。図3の例では、指示モジュール120は、ダウンタイミングモードに従って自己テストの実行タイミングを制御する。ダウンタイミングモードとは、タイミング制御処理のモード(以下「タイミングモード」とも呼ぶ)の一つである。このダウンタイミングモードでは、ディスクドライブ装置200の動作モードがActiveモードから非Activeモードに切り替えられる契機に応じて、その切り替え前に自己テストが実行される。なお、図3の例では、ディスクドライブ装置200の現行の動作モードがActiveモードであることとしている。
最初のステップS100では、稼働情報取得モジュール123は、ディスクドライブ装置200の動作状態(動作モード)がActiveから非Active(例えば、IdleモードやStandbyモード)へ移行するタイミングであるか否かを判断する。この判断は、動作状態の切り替えの契機に応じて行われる。
第1実施例では、ストレージディスクコントローラ110がディスクドライブ装置200への読み書き要求を受信しない状態が所定の一定時間続くという条件が満たされたことを契機に、データ中継モジュール122は、ドライブコントローラ210に、動作モードをActiveから非Activeに切り替えるコマンド(例えば、STANDBYコマンド)を送信する。データ中継モジュール122は、ストレージディスクコントローラ110のタイマ(図示せず)を用いることによって、このような制御を行う。また、このような制御は、他のディスクドライブ装置200a、200bに対しても行われる。その結果、アクセス頻度の少ないディスクドライブ装置の動作モードが非Activeに切り替えられるので、ストレージシステム300の消費電力を低下させることが可能となる。また、ストレージシステム300全体の発熱量も小さくなるので、ディスクドライブ装置の高密度実装が可能となり、ストレージシステム300の小型化を図ることもできる。また、単位時間(例えば、1週間)あたりの動作時間(Active状態の時間)が短くなるので、ディスクドライブ装置の寿命を延ばす効果も得られる。なお、このようなストレージシステムは、MAID(Massive Array of Inactive Disk)とも呼ばれる。なお、動作モードが非Activeに切り替えられるディスクドライブ装置としては、アクセス頻度の少ないディスクドライブ装置に限らず、任意のものを採用可能である。例えば、予め選択された所定のディスクドライブ装置の動作モードが、アクセスが無い場合に非Activeに切り替えられることとしてもよい。また、このように、アクセスの無いディスクドライブ装置の中の少なくとも一部の動作モードを、読み書きの実行時の状態に近い動作モードから遠い動作モードへ(例えば、Activeモードから非Activeへ)切り替える処理を実行するダウン制御部としては、データ中継モジュール122に限らず、任意の構成を採用可能である。また、ストレージシステムの構成としては、このようなダウン制御部を有する構成に限らず、アクセスの無いディスクドライブ装置の中の少なくとも一部の動作モードが、読み書きの実行時の状態に近い動作モードから遠い動作モードへ切り替えられるような任意の構成を採用可能である。
稼働情報取得モジュール123は、データ中継モジュール122の動作をモニタすることにより、データ中継モジュール122が動作モードを切り替えようとしていることを検知して、その旨を指示モジュール120に通知する。指示モジュール120は、この通知に応じて、動作モード切替コマンドの送信前に、現時点が移行タイミングであると判断する(S100:Yes)。
なお、モード制御モジュール222(図1)が自発的に動作モードをActiveから非Activeに切り替える構成を採用することもできる。この場合には、モード制御モジュール222が、動作状態を切り替える前に、切り替える旨の通知をストレージディスクコントローラ110に送信し、稼働情報取得モジュール123が、この通知を受信して、その旨を指示モジュール120に通知する。指示モジュール120は、この通知に応じてステップS100の判断を行う。この判断の後、ストレージディスクコントローラ110とドライブコントローラ210とは、図3の手順に従って、処理を進行させる。なお、動作状態の切り替えの契機としては、上述したものに限らず、任意のものを採用可能である。例えば、ユーザの指示を契機として用いてもよい。
現時点が移行タイミングではない場合には、ステップS105で、ストレージディスクコントローラ110は、通常の処理(例えば、ホストコンピュータ400からのリードコマンドとライトコマンドとに応じた読み書き処理)を継続する。
現時点が移行タイミングである場合には、次のステップS110で、指示モジュール120は、ディスクドライブ装置200に自己テストの実行指示を送信する。すると、自己テストモジュール220は、指示に応じて自己テストを開始する(ステップS115)。自己テストとは、ディスクドライブ装置200自身の機能を診断する処理である。自己テスト処理としては、種々の処理を採用可能である。例えば、データの読み書きを試行する処理や、ヘッド264やスピンドルモータ(図示せず)の駆動を試行する処理を採用可能である。また、種々の機能を診断するために、自己テストは、しばしば、リード処理やライト処理の実行時と同じ動作モード(図2の例では、Activeモード)で実行される。なお、自己テストの内容は、一般的には、ベンダ(製造者)が独自に定めることができる。また、ドライブコントローラ210に対する自己テスト実行指示の形式としては、種々の形式を採用可能である。例えば、ATAで規定されているSMART EXECUTE OFF-LINE IMMEDIATEコマンドを送信する形式を採用してもよい。
次に、結果取得モジュール121は、自己テストの進捗状況を繰り返しチェックし(ステップS120)、自己テストの終了を待つ(ステップS125)。結果取得モジュール121は、例えば、ATAで規定されているREAD DATAコマンドをドライブコントローラ210に送信することによって、ドライブコントローラ210(自己テストモジュール220)から進捗状況を取得できる。ただし、進捗状況の取得方法としては、他の種々の方法を採用可能である。
自己テストモジュール220は、自己テストが終了したことに応じて(ステップS130)、次のステップS135で、テスト結果をドライブコントローラ210のメモリ218に保存し、結果取得モジュール121に送信される進捗状況を「実行中」から「完了」に切り替える。
結果取得モジュール121は、「完了」であることを示す進捗状況を取得すると(ステップS125:Yes)、次のステップS140で、ドライブコントローラ210からテスト結果を取得し、取得したテスト結果をメモリ114に保存する。テスト結果の取得は、進捗状況の取得と同様に行われる。
ここで、正常な自己テスト結果が届かない場合(例えば、不具合のある旨のテスト結果が届いた場合や、テスト結果が届かない場合)には、結果取得モジュール121は、異常通知を行うことが好ましい。ここで、通知の相手と形式としては、任意のものを採用可能である。例えば、データ中継モジュール122に異常を通知してもよい。また、ホストコンピュータ400に異常を通知してもよい。また、ストレージシステム300に接続された管理端末のモニタ(図示せず)にエラーメッセージを表示させてもよく、管理端末のスピーカ(図示せず)に警告音を鳴らせても良い。これらは、後述する他の実施例についても同様である。
次のステップS145では、データ中継モジュール122は、動作状態を遷移させる指示(モード切替要求)をドライブコントローラ210に送信する。このような要求としては、例えば、STANDBYコマンドやIDLEコマンドが用いられ得る。次のステップS150では、モード制御モジュール222は、受信したモード切替要求に従って、動作モードを移行させる。
なお、自己テストモジュール220が、動作モードの移行前に自己テストを実行する方法としては、任意の方法を採用可能である。例えば、データ中継モジュール122が、自己テストの完了に応じて、モード切替要求を送信することとすればよい。
以後、ディスクドライブ装置200の動作モードが移行したことに応じて、ストレージディスクコントローラ110とドライブコントローラ210とは、タイミング制御処理を終了する。なお、図3のタイミング制御処理は、動作モードがActiveから非Activeに移行される毎に実行される。
図4は、自己テストデータ(自己テスト結果)の選択処理の手順を示すフローチャートである。結果取得モジュール121は、自己テスト結果の参照要求に応じて、図4の手順に従って、提供すべき自己テスト結果を選択する。選択肢としては、新たな自己テストによる自己テスト結果と、メモリ114に格納済みの自己テスト結果と、がある。結果取得モジュール121は、ディスクドライブ装置の現時点での動作モードと、ディスクドライブ装置の動作履歴を表すパラメータ値と、に従って選択を行う。
なお、自己テスト結果の参照要求としては、任意の要求を採用可能である。例えば、ストレージディスクコントローラ110が、不具合の生じる可能性が高いディスクドライブ装置を、自己テスト結果を用いて検知する処理を実行することとしてもよい。また、結果取得モジュール121が、ユーザの要求に応じて、自己テスト結果をユーザに提供することとしてもよい。例えば、結果取得モジュール121は、ストレージコントローラ100に接続された管理端末(図示せず)からユーザの指示を受信し、この管理端末のモニタ(図示せず)に、自己テスト結果を表示させてもよい。
図5は、閾値管理テーブル126の一例を示す説明図である。図5の例では、パラメータとして、「Spin-up」と、「Spin-down」と、「Power-on」と、「Power-off」と、「リード/ライト(R/W)」と、の各処理の回数と頻度とが用いられている。また、パラメータとして、連続稼働時間も用いられている。これらのパラメータは、いずれも、ディスクドライブ装置200の動作履歴を表すパラメータである。閾値管理テーブル126は、これらのパラメータの現在の値と閾値とを格納している。
「Spin-up」は、ディスクドライブ装置200の動作状態を、読み書きを行う状態により近い状態に移行させる処理を意味する。「Spin-up」の例としては、ディスク262(スピンドルモータ)の回転速度を、読み書きのための所定の回転速度に上げる処理や、退避位置に退避されたヘッド264を、ディスク262上に配置する処理がある。第1実施例では、動作状態を、非Active状態からActive状態へ移行することを「Spin-up」として扱うこととしている。例えば、Spin-up回数は、ディスクドライブ装置200の電源が投入されたときと、動作状態が非Active状態からActive状態へ移行したときに、「1」増える。
「Spin-down」は、上述した「Spin-up」とは逆の処理を意味する。「Spin-down」の例としては、ディスク262(スピンドルモータ)を停止させる処理や、ディスク262上に配置されたヘッド264を、退避位置に退避する処理がある。第1実施例では、動作状態を、Active状態から非Active状態へ移行することを「Spin-down」として扱うこととしている。
「Power-on」は、ディスクドライブ装置200の電源をONにする処理を意味する。第1実施例では、Power-on回数は、ディスクドライブ装置200の電源が投入されたときと、ディスクドライブ装置200の動作モードがSleepモードから非Sleepモード(例えば、StandbyやActive)に移行したときに、「1」増える。
「Power-off」は、「Power-on」とは逆の処理を意味する。第1実施例では、Power-off回数は、ディスクドライブ装置200の電源がOFFにされたときと、ディスクドライブ装置200の動作モードが非Sleepモード(例えば、ActiveやIdle)からSleepモードに移行したときに、「1」増える。
「R/W」とは、ディスクドライブ装置200に対するリードとライトとのそれぞれの処理を意味する。
なお、図5の閾値管理テーブル126において、「頻度」としては、現時点に至る所定の一定時間内における処理回数が用いられている。例えば、「Spin-up頻度」としては、最近の一定時間内にディスクドライブ装置200がスピンアップされた回数が用いられる。一定時間としては、種々の時間を採用可能であり、例えば、数時間から数日を採用可能である。なお、頻度のパラメータとしては、頻度に相関のある任意のパラメータを採用可能である。例えば、最後に処理を実行してからの経過時間を頻度のパラメータとして用いてもよい。
また、「連続稼働時間」は、ディスクドライブ装置200への電力供給が開始されてから現時点までの経過時間を意味している。単位は「分」である。
なお、上述した各パラメータの閾値は、予め設定された値である。また、上述した各パラメータの現在の値は、ストレージディスクコントローラ110の動作をモニタする稼働情報取得モジュール123によって、適宜更新される。
ところで、閾値管理テーブル126のパラメータとしては、各パラメータ毎に定められた処理が実行された回数と頻度と、連続稼働時間と、が用いられている。従って、各パラメータ値が大きいほど、近い将来にディスクドライブ装置200に不具合が生じる可能性が高いと推定される。換言すれば、各パラメータ値が大きいほど、ディスクドライブ装置200の余命が短いと推定される。そこで、結果取得モジュール121は、図4の選択処理において、各パラメータ値の大きさに応じて、提供する自己テスト結果、すなわち、自己テストを実行するか否かを選択する。
図4の最初のステップS170では、結果取得モジュール121は、ディスクドライブ装置200の動作状態が、Active状態であるか否かを判断する。指示モジュール120は、稼働情報取得モジュール123を介して、ドライブコントローラ210から、現行の動作状態を取得する。
動作状態がActive状態である場合には、結果取得モジュール121は、現時点が自己テストを指示すべきタイミングであると判断する。そして、次のステップS180で、結果取得モジュール121は、自己テストの実行指示をドライブコントローラ210に送信し、その自己テストの結果をドライブコントローラ210から取得する。ステップS180の処理は、図3のステップS110〜S140の処理と同様である。結果取得モジュール121は、こうして得られた自己テスト結果を採用し、選択処理を終了する。
動作状態がActive状態である場合には、自己テストモジュール220は、動作モードを切り替えることなく自己テストを実行できる。従って、結果取得モジュール121は、動作モードの切り替えに起因するディスクドライブ装置200の寿命の短縮を抑制しつつ、新しい自己テスト結果を得ることができる。
一方、動作状態がActive状態ではない場合には、結果取得モジュール121は、ステップS175に移行し、閾値管理テーブル126を参照して、閾値を超えているパラメータの有無を判断する。閾値を超えているパラメータがある場合には、結果取得モジュール121は、ステップS185に移行し、ディスクドライブ装置200に新たな自己テストを実行させることなく、メモリ114に保存済みの自己テスト結果を採用する。
閾値を超えているパラメータがある場合に、メモリ114に保存済みの自己テスト結果が採用される理由は以下の通りである。ディスクドライブ装置200の動作モードが非Activeモードである場合には、自己テストモジュール220が自己テストを実行すると、自己テストの実行に伴ってディスクドライブ装置200の動作モードが非ActiveモードからActiveモードに切り替えられる可能性がある。このような動作モードの切り替えは、ディスクドライブ装置200に対する負荷が特に高く、ディスクドライブ装置200の寿命を短縮させてしまう可能性が高い。そこで、結果取得モジュール121は、閾値を超えているパラメータがある場合には(図4:S175:Yes)、ディスクドライブ装置200に新たな自己テストを実行させることなく、メモリ114に格納済みの自己テスト結果を採用する。その結果、自己テストの実行に伴う動作モードの切り替えに起因するディスクドライブ装置200の寿命の短縮を抑えることができる。また、この場合には、自己テストの完了を待たずに迅速に自己テスト結果を提供することが可能となる。
なお、格納済みの結果は、動作モードが非Activeに切り替えられる直前に実行された自己テストの結果である(図3)。ここで、この自己テストの実行後には動作モードはActiveモードに切り替えられていないので、自己テストの実行時点と現時点との間のディスクドライブ装置200の劣化の度合いの差は十分に小さいと推定される。すなわち、自己テスト結果の利用時点での信頼性の低下を抑制しつつ、格納済みの自己テスト結果を、新たな自己テストの結果の代わりに利用することができる。
一方、閾値を超えているパラメータが無い場合には(図4:S175:No)、結果取得モジュール121は、現時点が自己テストを指示すべきタイミングであると判断し、ステップS180に移行する。ステップS180では、結果取得モジュール121は、自己テストモジュール220に自己テストを実行させ、得られた自己テスト結果を採用する。なお、モード制御モジュール222は、自己テストのために、動作モードをActiveモードに切り替える。この場合には、ディスクドライブ装置200の余命が長いと推定されるので、自己テストの実行による最新の自己テスト結果の取得が優先されている。
以上説明したように、ダウンタイミングモード(図3)では、指示モジュール120は、ディスクドライブ装置200の動作モードがActiveモードから非Activeモードに切り替えられる契機、すなわち、スピンダウンの契機に応じて、動作モードの切り替え前に、自己テストモジュール220に自己テストを実行させる。この自己テストの結果は、次に動作モードが非ActiveモードからActiveモードに切り替えられるまでの間は、すなわち、次のスピンアップまでの間は、現時点でのディスクドライブ装置200の状態を表すものとして、利用することが可能である。その結果、自己テストの結果の利用時点での信頼性と、自己テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
また、第1実施例では、図4に示すように、結果取得モジュール121は、テスト結果の参照要求に応じて、ディスクドライブ装置200の動作モードとパラメータとに基づいて自己テストを実行するか否かを選択する。従って、自己テストの結果の利用時点での信頼性と、自己テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。なお、ステップS175における、自己テストを実行すると判断するための条件としては、近い将来の不具合の可能性が比較的低いことを示す任意の条件を採用可能である。例えば、パラメータとして、図5に示すパラメータの任意の一部のみを用いることとしてもよい。
B.第2実施例:
図6は、第2実施例におけるタイミング制御処理の手順を示すフローチャートである。図3に示す第1実施例との差違は、指示モジュール120が、ダウンタイミングモードの代わりに、アップタイミングモードに従ってタイミング制御処理を実行する点である。アップタイミングモードでは、ディスクドライブ装置200の動作モードが非ActiveモードからActiveモードに切り替えられたことに応じて、自己テストが実行される。データ処理システムの構成は、図1に示すデータ処理システム10と同じである。
最初のステップS200では、データ中継モジュール122(図1)が、動作モードを非ActiveモードからActiveモードに遷移させる指示(モード切替要求)をドライブコントローラ210に送信する。第2実施例では、ディスクドライブ装置200の動作モードが非Activeモードである状態でストレージディスクコントローラ110がディスクドライブ装置200に対する読み書き要求を受信したことを契機に、データ中継モジュール122は、ドライブコントローラ210に、動作モードを非ActiveからActiveに切り替えるコマンドを送信する。
なお、動作モードの切り替えの契機としては、任意のものを採用可能である。例えば、ユーザの指示を契機として用いてもよい。
次のステップS205では、モード制御モジュール222は、受信したモード切替要求に従って、動作モードを移行させる。
稼働情報取得モジュール123は、ストレージディスクコントローラ110(データ中継モジュール122)の動作をモニタすることにより、データ中継モジュール122がモード切替要求を送信したことを検知して、その旨を指示モジュール120に通知する。指示モジュール120は、この通知に応じて、自己テストの実行指示をドライブコントローラ210に送信し、結果取得モジュール121は、その自己テストの結果をドライブコントローラ210から取得する(S210〜S240)。これらのステップS210〜S240の処理は、図3のステップS110〜S140の処理と、それぞれ同様である。結果取得モジュール121が自己テスト結果をメモリ114に保存したことに応じて、タイミング制御処理は終了する。図6に示すタイミング制御処理は、動作モードが非ActiveからActiveに移行される毎に実行される。
なお、自己テストの実行は、動作モードのActiveモードへの移行後の、読み書き処理の実行前に、行われることが好ましい。こうすれば、ディスクドライブ装置200に不具合のある状態で読み書き処理が実行されることを抑制できる。このようなタイミングで自己テストを実行する方法としては、任意の方法を採用可能である。例えば、データ中継モジュール122が、自己テストの完了に応じて、読み書き処理を実行することとすればよい。
ところで、結果取得モジュール121は、第1実施例と同様に、自己テスト結果の参照要求に応じて、図4の手順に従って、提供すべき自己テスト結果を選択する。ここで、ステップS185では、メモリ114に格納済みの自己テスト結果が用いられる。この格納済みの自己テスト結果は、最後に動作モードが非ActiveモードからActiveモードに切り替えられたときに実行された自己テストの結果である。ここで、この自己テストの実行後には動作モードはActiveモードに切り替えられていないので、自己テストの実行時点と現時点との間のディスクドライブ装置200の状態の差は十分に小さいと推定される。従って、自己テスト結果の利用時点での信頼性の低下を抑制しつつ、格納済みの自己テスト結果を、現時点でのディスクドライブ装置200の状態を表すものとして、利用することが可能である。
以上のように、アップタイミングモード(図6)では、指示モジュール120は、ディスクドライブ装置200の動作モードが非ActiveモードからActiveモードに切り替えられる契機、すなわち、スピンアップの契機に応じて、動作モードの切り替え後に、自己テストモジュール220に自己テスト実行の指示を送信する。従って、図4のステップS185では、結果取得モジュール121は、ドライブコントローラ210に自己テストを実行させることなく、適切な自己テスト結果を利用することができる。その結果、自己テストの結果の利用時点での信頼性と、自己テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
C.第3実施例:
図7は、第3実施例におけるタイミングモードを選択する処理の手順を示すフローチャートである。上述の第1と第2の実施例との差違は、指示モジュール120が、タイミングモードとして、一定間隔モードとアクセスタイミングモードとの2つのモードを有している点である。データ処理システムの構成は、図1に示すデータ処理システム10と同じである。
一定間隔モードでは、指示モジュール120は、所定の一定時間間隔毎にドライブコントローラ210に自己テストを実行させる。アクセスタイミングモードでは、指示モジュール120は、ディスクドライブ装置へのアクセス状況に応じて、自己テストを実行させるか否かを決定する。このように、2つのタイミングモード間では、自己テストの実行タイミング(チェックタイミング)が互いに異なっている。なお、各モードの詳細については後述する。また、以下、ディスクドライブ装置200が対象であることとして説明する。ただし、他のディスクドライブ装置200a、200bを対象とする場合についても処理内容は同様である。
指示モジュール120は、図7の手順に従って、タイミングモードを選択する。この選択処理は、自己テスト結果の参照要求の有無に拘わらずに実行される。選択処理を実行するタイミングとしては、任意のタイミングを採用可能である。例えば、指示モジュール120が、所定の一定時間毎に選択処理を実行することとしてもよい。また、ユーザの指示を契機として用いてもよい。なお、第3実施例では、指示モジュール120は、タイミングモードの初期値として一定間隔モードを採用する。ただし、他のモードを初期値として採用してもよい。
最初のステップS300、S304では、指示モジュール120は、現行のタイミングモードを確認し、アクセスタイミングモードであるか否かを判断する。現行のタイミングモードがアクセスタイミングモードである場合には、指示モジュール120は、選択処理を終了する。
現行のタイミングモードがアクセスタイミングモードではない場合、すなわち、一定間隔モードである場合には、次のステップS308で、指示モジュール120は、閾値管理テーブル126(図5)を参照して、閾値を超えているパラメータの有無を判断する。
閾値を超えているパラメータがない場合には、指示モジュール120は、ステップS312に移行し、一定間隔モードを選択(維持)して、選択処理を終了する。
閾値を超えているパラメータがある場合には、指示モジュール120は、ステップS316に移行し、アクセスタイミングモードを選択して、選択処理を終了する。
指示モジュール120は、タイミングモードの選択の契機がある毎に、上述の選択処理を実行する。
図8は、一定間隔モードにおけるタイミング制御処理の手順を示すフローチャートである。このタイミング制御処理は、自己テスト結果の参照要求の有無に拘わらずに実行される。最初のステップS350では、指示モジュール120は、チェック間隔設定テーブル128(図1)を参照することによって、現時点が自己テストの実行タイミングであるか否かを判断する。図9は、チェック間隔設定テーブル128の一例を示す説明図である。閾値は、ディスクドライブ装置の状態のチェック(自己テスト)を行う時間間隔を意味している。図9の例では、予め1440分(24時間)に設定されている。ただし、これとは異なる値に設定されていてもよい。現在の値は、最後の自己テストの実行時点から現時点までの経過時間である。以下、この現在の値(チェック間隔の現在の値)のことを「チェック経過時間」とも呼ぶ。指示モジュール120は、ストレージディスクコントローラ110のタイマ(図示せず)を用いることによって、このチェック経過時間を更新する。
チェック経過時間が閾値以下である場合には、指示モジュール120は、実行タイミングではないと判断し、チェック経過時間が閾値を超えることを待つ。
チェック経過時間が閾値を超えている場合には、指示モジュール120は、自己テストの実行指示をドライブコントローラ210に送信し、結果取得モジュール121は、その自己テストの結果をドライブコントローラ210から取得する(S355〜S365)。これらのステップS355、S360、S365のそれぞれの処理は、図3のステップS110、S120−S125、S140のそれぞれの処理と同じである(ステップS360の処理は、ステップS120、S125の処理と同じである)。なお、一定間隔モードでは、自己テストは、ディスクドライブ装置200の現行の動作モードに拘わらずに実行される。
指示モジュール120は、自己テスト結果が読み出されてメモリ114に保存されたことに応じて、チェック経過時間をゼロにリセットし、次の実行タイミングを待つ。なお、チェック経過時間のリセットのタイミングとしては、自己テストの実行に応じて定まる任意のタイミングを採用可能である。例えば、図8のステップS355でチェック経過時間がリセットされることとしてもよい。これは、後述する他の実施例についても同様である。
図10は、アクセスタイミングモードにおけるタイミング制御処理の手順を示すフローチャートである。図8に示す一定間隔モードとの差違は、チェック経過時間が閾値を超えている場合に、指示モジュール120が、さらに、ディスクドライブ装置200に対する読み書き要求を待って、ドライブコントローラ210に自己テストを実行させる点である。具体的には、ステップS350とステップS355との間に、読み書き要求を待つステップS352が設けられている。また、ステップS365の後に、読み書き要求に応じた読み書き処理を実行するステップS370が設けられている。他のステップS350、S355、S360、S365の処理は、図8の例と同じである。
チェック経過時間が閾値を超えている場合には(ステップS350:Yes)、指示モジュール120は、ステップS352に移行する。ステップS352では、稼働情報取得モジュール123は、データ中継モジュール122の動作をモニタすることにより、データ中継モジュール122(コントローラ110)がリードコマンドやライトコマンドを受信したことを検知して、その旨を指示モジュール120に通知する。指示モジュール120は、この通知に応じて、現時点が自己テストを指示すべきタイミングであると判断し、ステップS355に移行して、自己テストの実行指示をドライブコントローラ210に送信する。そして、結果取得モジュール121は、その自己テストの結果をドライブコントローラ210から取得して、メモリ114に保存する(S360、S365)。これらのステップS355、S360、S365の処理は、データ中継モジュール122がホストコンピュータ400からのリードコマンドやライトコマンドに応じたリード処理やライト処理を実行する前に、実行される。
自己テストの完了に応じて、次のステップS370で、データ中継モジュール122は、ディスクドライブ装置200にリードコマンドやライトコマンドを送信する。送信されるコマンドは、ホストコンピュータ400の要求に応じたものである。
以上のようにして、自己テスト結果がメモリ114に保存される。この自己テスト結果は、図4と同じ手順に従って利用される。
以上のように、アクセスタイミングモードでは、指示モジュール120は、ディスクドライブ装置200に対する読み書き要求に同期して、自己テストモジュール220に自己テストを実行させる。従って、アクセスタイミングモードでは、自己テスト実行のみのためにディスクドライブ装置200の動作モードが非ActiveモードからActiveモードに切り替えられることが抑制される。その結果、自己テストの実行に起因するディスクドライブ装置200の寿命の短縮を抑えることができる。
また、第3実施例では、指示モジュール120は、ディスクドライブ装置200の動作履歴を表すパラメータに基づいて自己テスト実行のタイミングを切り替えている(図7)。具体的には、指示モジュール120は、パラメータに基づいて、近い将来にディスクドライブ装置200に不具合が生じる可能性の高さを判断する。そして、指示モジュール120は、可能性が比較的高いと判断した場合には、アクセスタイミングモードを選択し、可能性が比較的低いと判断した場合には、一定間隔モードを選択する。その結果、自己テストの結果の利用時点での信頼性と、自己テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
なお、図7のステップS308における、アクセスタイミングモードを選択するための条件としては、近い将来の不具合の可能性が比較的高いことを示す任意の条件を採用可能である。例えば、パラメータとして、図5に示すパラメータの任意の一部のみを用いることとしてもよい。
また、アクセスタイミングモードの代わりに用いられるタイミングモードとしては、一定間隔モードに限らず、任意のタイミングモードを利用可能である。ただし、ディスクドライブ装置200の動作状況と動作履歴とに拘わらずに自己テストの実行を指示するモードを採用することが好ましい。こうすれば、自己テスト結果の利用時点での信頼性を高めることができる。例えば、所定のスケジュールに従って自己テストの実行を指示するモードを採用してもよい。ただし、一定間隔モードを採用すれば、定期的にテスト結果が更新されるので、テスト結果の利用時点での信頼性を効果的に高めることができる。
D.第4実施例:
図11は、タイミング制御処理の別の例の手順を示すフローチャートである。図8に示す一定間隔モードとの差違は、このアクセス頻度モードでは、チェック経過時間が閾値を超えている場合に、さらに、指示モジュール120が、ディスクドライブ装置への現時点でのアクセス頻度に応じて、自己テストを実行するか否かを判断する点である。なお、このタイミング制御処理は、自己テスト結果の参照要求の有無に拘わらずに実行される。また、以下、ディスクドライブ装置200が対象であることとして説明する。ただし、他のディスクドライブ装置200a、200bを対象とする場合についても処理内容は同様である。
最初のステップS400では、稼働情報取得モジュール123が、データ中継モジュール122の動作をモニタすることにより、閾値管理テーブル126の「R/W頻度」の現在の値を更新する。第4実施例では、「R/W頻度」として、最後のディスクドライブ装置200に対するリード処理あるいはライト処理の実行時点からの経過時間を採用している。以下、R/W頻度の現在の値を「アクセス経過時間」とも呼ぶ。
次のステップS410では、指示モジュール120は、チェック間隔設定テーブル128(図9)を参照することによって、チェック経過時間が閾値以下であるか否かを判断する。このステップS410の処理は、図8のステップS350の処理と同じである。
チェック経過時間が閾値以下である場合には(S410:No)、指示モジュール120は、実行タイミングではないと判断し、チェック経過時間が閾値を超えることを待つ。この間も、稼働情報取得モジュール123は、適切に、アクセス経過時間(「R/W頻度」の現在の値)を更新する。
チェック経過時間が閾値を超えている場合には(S410:Yes)、指示モジュール120は、ステップS420で閾値管理テーブル126(図5)を参照し、ステップS430で、アクセス経過時間が閾値を超えているか否かを判断する。ここで、アクセス経過時間が閾値を超えていることは、アクセスの頻度が閾値で表される頻度未満であることを意味している。
アクセス経過時間が閾値を超えていない場合には、指示モジュール120は、ディスクドライブ装置200に新たな自己テストを実行させることなく、チェック経過時間をゼロにリセットし、次の実行タイミングを待つ。
アクセス経過時間が閾値を超えている場合には、指示モジュール120は、現時点が自己テストを指示すべきタイミングであると判断して、自己テストの実行指示をドライブコントローラ210に送信する。結果取得モジュール121は、その自己テストの結果をドライブコントローラ210から取得する(S455〜S465)。これらのステップS455、S460、S465の処理は、図8のステップS355、S360、S365の処理と、それぞれ同じである。指示モジュール120は、自己テスト結果が読み出されてメモリ114に保存された後、チェック経過時間をゼロにリセットし、次の実行タイミングを待つ。
このように、自己テスト結果がメモリ114に保存される。この自己テスト結果は、図4と同じ手順に従って利用される。
以上のように、アクセス頻度モードでは、指示モジュール120は、現時点でのアクセス経過時間が閾値以下である場合、すなわち、現時点でのアクセス頻度が閾値によって表される頻度よりも高い場合には、ディスクドライブ装置200に自己テストを実行させない。この理由は、以下の通りである。現時点でのアクセス頻度が高いことは、ディスクドライブ装置200が頻繁な読み書き要求に応じて正常に動作していることを意味している。従って、近い将来にディスクドライブ装置200に不具合が生じる可能性の現時点までの変化は十分に小さいと推定される。換言すれば、格納済みの自己テスト結果を取得した時点と現時点との間のディスクドライブ装置200の劣化の度合いの差は十分に小さいと推定される。そこで、アクセス頻度モードでは、現時点でのアクセス頻度が比較的高い場合には自己テストは実行されず、格納済みの自己テスト結果が引き続き利用される。この場合でも、上述したように、自己テスト結果の利用時点での信頼性の低下が抑制される。また、自己テストの実行に起因するディスクドライブ装置200の寿命の短縮を抑えることができる。
なお、アクセス頻度モードに従った処理の実施形態としては、種々の形態を採用可能である。例えば、指示モジュール120が、アクセス頻度モードに従った処理を継続することとしてもよい。この代わりに、図7に示す手順において、アクセスタイミングモードの代わりにアクセス頻度モードを用いることとしてもよい。
E.第5実施例:
図12は、タイミング制御処理の別の例の手順を示すフローチャートである。図8に示す一定間隔モードとの差違は、この状況判定モードでは、チェック経過時間が閾値を超えている場合に、さらに、指示モジュール120が、ディスクドライブ装置の動作状態と、スピンアップとスピンダウンとのそれぞれの回数と、に応じて、自己テスト実行のタイミングを切り替える点である。なお、このタイミング制御処理は、自己テスト結果の参照要求の有無に拘わらずに実行される。また、以下、ディスクドライブ装置200が対象であることとして説明する。ただし、他のディスクドライブ装置200a、200bを対象とする場合についても処理内容は同様である。
最初のステップS500では、指示モジュール120は、チェック間隔設定テーブル128(図9)を参照することによって、チェック経過時間が閾値以下であるか否かを判断する。このステップS500の処理は、図8のステップS350の処理と同じである。
次のステップS510では、指示モジュール120は、稼働情報取得モジュール123を介して、ディスクドライブ装置200の動作モードが非Activeモードであるか否かを判断する。
動作モードがActiveモードである場合には、指示モジュール120は、現時点が自己テストを指示すべきタイミングであると判断して、自己テストの実行指示をドライブコントローラ210に送信する(S555)。結果取得モジュール121は、その自己テストの結果をドライブコントローラ210から取得する(S560〜S565)。これらのステップS555、S560、S565の処理は、図8のステップS355、S360、S365の処理と、それぞれ同様である。指示モジュール120は、自己テスト結果が読み出されてメモリ114に保存された後、チェック経過時間をゼロにリセットして、次の実行タイミングを待つ。
動作モードが非Activeモードである場合(Activeモードでない場合)には、指示モジュール120は、ステップS520に移行する。このステップS520では、指示モジュール120は、図4のS175や図7のS308と同様に、近い将来にディスクドライブ装置200に不具合が生じる可能性の高さを判断する。具体的には、指示モジュール120は、「Spin-up回数」と「Spin-down回数」とのそれぞれが、それぞれの閾値に基づく基準値以上か否かを判断する。ここで、基準値としては、閾値よりも小さい種々の値を採用可能である。例えば、閾値よりも所定値(例えば「1」)だけ小さい値を採用可能である。判断の基準値として閾値よりも小さい値が用いられる理由については後述する。
「Spin-up回数」と「Spin-down回数」と両方が、それぞれの判断基準値よりも小さい場合には、指示モジュール120が、現時点が自己テストを指示すべきタイミングであると判断する。そして、指示モジュール120と結果取得モジュール121とは、ステップS555、S560、S565の処理を実行することによって、新たな自己テストによる自己テスト結果をメモリ114に格納する。
「Spin-up回数」と「Spin-down回数」との少なくとも一方が、それぞれの判断基準値以上である場合には、指示モジュール120は、ステップS530に移行する。このステップS530の処理は、図10のステップS352の処理と同じである。ストレージディスクコントローラ110がリードコマンドやライトコマンドを受信したことに応じて、指示モジュール120は、現時点が自己テストを指示すべきタイミングであると判断する。そして、指示モジュール120は、ステップS555に移行し、自己テストの実行指示をドライブコントローラ210に送信する。そして、結果取得モジュール121は、その自己テストの結果をドライブコントローラ210から取得して、メモリ114に保存する(S560、S565)。これらのステップS555、S560、S565の処理は、図10の例と同様に、データ中継モジュール122がホストコンピュータ400からのリードコマンドやライトコマンドに応じたリード処理やライト処理を実行する前に、実行される。また、この場合には、データ中継モジュール122は、自己テストの完了に応じて、リード処理やライト処理を実行する(図示省略)。なお、データ中継モジュール122によるリード処理やライト処理の実行タイミングとしては、自己テストの完了後の任意のタイミングを採用可能である。例えば、ステップS560とステップS565との間でもよく、ステップS565の後でもよい。
以上のようにして、自己テスト結果がメモリ114に保存される。この自己テスト結果は、図4と同じ手順に従って利用される。
以上のように、状況判定モードでは、指示モジュール120は、ディスクドライブ装置200の現行の動作モードと、ディスクドライブ装置200の動作履歴を表すパラメータと、の両方に基づいて自己テスト実行のタイミングを切り替えている。具体的には、動作モードがActiveモードである場合には、チェック経過時間で決まるタイミングで自己テストが実行される。この場合には、図4のステップS170、S180と同様に、動作モードの切り替えに起因するディスクドライブ装置200の寿命の短縮を抑制しつつ、新しい自己テスト結果が取得される。
また、現行の動作モードが非Activeモードであっても、「Spin-up回数」と「Spin-down回数」と両方が、それぞれの判断基準値よりも小さい場合には、チェック経過時間で決まるタイミングで自己テストが実行される。この場合には、ディスクドライブ装置200の余命が長いと推定されるので、自己テストの実行による最新の自己テスト結果の取得が優先されている。
一方、現行の動作モードが非Activeモードであり、かつ、「Spin-up回数」と「Spin-down回数」との少なくとも一方が、それぞれの判断基準値以上である場合には、ディスクドライブ装置200に対する読み書き要求に同期して、自己テストが実行される。従って、この場合には、自己テスト実行のみのために動作モードが非ActiveモードからActiveモードに切り替えられることが抑制される。その結果、自己テストの実行に伴う動作モードの切り替えに起因するディスクドライブ装置200の寿命の短縮を抑えることができる。
なお、ステップS520の判断で用いるパラメータとしては、「Spin-up回数」と「Spin-down回数」とに限らず、他の種々のパラメータを採用可能である。例えば、図5に示す閾値管理テーブル126の全てのパラメータに関して、それぞれの判断基準値以上のパラメータが有る場合に、指示モジュール120がステップS530に移行することとしてもよい。なお、判断基準値として閾値よりも小さい値が用いられるのは、パラメータ値が自己テストの実行によって閾値を超えてしまうことを抑制するためである。ただし、判断基準値として閾値をそのまま用いてもよい。また、ステップS520における、読み書き要求の有無に拘わらずに自己テストを指示するための条件としては、近い将来の不具合の可能性が比較的低いことを示す任意の条件を採用可能である。
また、状況判定モードに従った処理の実施形態としては、種々の形態を採用可能である。例えば、指示モジュール120が、状況判定モードに従った処理を継続することとしてもよい。この代わりに、図7に示す手順において、アクセスタイミングモードの代わりに状況判定モードを用いることとしてもよい。
また、ステップS510とS520の間に、指示モジュール120が、ディスクドライブ装置200が非Active状態となる直前に自己テストが実行されたか否かを判断することとしてもよい。ここで、このような自己テストの結果が結果取得モジュール121によって取得されている場合には、指示モジュール120は、自己テスト指示をせずに、チェック経過時間をゼロにリセットして、次の実行タイミングを待つこととしてもよい。こうすれば、自己テストの実行に起因するディスクドライブ装置200の寿命の短縮を抑制できる。
F.第6実施例:
F1.装置構成:
図13は、第6実施例におけるストレージシステム300fの構成を示す説明図である。図1に示すストレージシステム300との差違は、タイミング制御処理、すなわち、自己テストの実行タイミングの決定が、ストレージディスクコントローラ110の代わりに、ドライブコントローラ210の指示モジュール120fによって行われる点である。そのために、ストレージシステム300fでは、指示モジュール120fと、稼働情報取得モジュール123fと、閾値管理テーブル126と、チェック間隔設定テーブル128とが、ストレージディスクコントローラ110の代わりに、ドライブコントローラ210のメモリ218に格納されている。他の構成は、図1のストレージシステム300と同じである。
なお、図13では、ストレージコントローラ100の構成要素として、ストレージディスクコントローラ110のメモリ114と、結果取得モジュール121fと、のみが示されており、他の構成要素は図示が省略されている。また、ディスクドライブ装置200の構成要素として、ドライブコントローラ210のメモリ218と、指示モジュール120fと、稼働情報取得モジュール123fと、閾値管理テーブル126と、チェック間隔設定テーブル128と、自己テストモジュール220fと、のみが示されており、他の構成要素は図示が省略されている。なお、図13には示されていない他のディスクドライブ装置200a、200b(図1)の構成も、図13のディスクドライブ装置200と同じである。
F2.タイミング制御処理:
図14は、第6実施例におけるタイミング制御処理の手順を示すフローチャートである。図14の例では、指示モジュール120fは、図8と同様の一定間隔モードに従ってタイミング制御処理を実行する。このタイミング制御処理は、自己テスト結果の参照要求の有無に拘わらずに実行される。また、以下、ディスクドライブ装置200が対象であることとして説明する。ただし、他のディスクドライブ装置200a、200bを対象とする場合についても処理内容は同様である。
最初のステップS600では、ストレージディスクコントローラ110が、チェック間隔設定テーブル128の閾値を、ドライブコントローラ210に送信する。すると、指示モジュール120fは、受信した閾値をチェック間隔設定テーブル128に格納する。以後、指示モジュール120fは、実行タイミングであるか否かを判断するために、この閾値と、チェック経過時間(チェック間隔の現在の値)とを用いる。なお、ストレージディスクコントローラ110は、予め設定された所定の閾値を送信する。また、このステップS600は、ディスクドライブ装置200がストレージコントローラ100に接続された後に1回だけ実行されればよい。なお、予め所定の閾値をチェック間隔設定テーブル128に格納しておくこととしてもよい。この場合には、このステップS600を省略してもよい。
次のステップS605では、指示モジュール120fが、現時点が自己テストの実行タイミングであるか否かを判断する。この処理は、図8のステップS350と同じである。また、指示モジュール120fは、ドライブコントローラ210のタイマ(図示せず)を用いることによって、チェック経過時間(チェック間隔の現在の値)を更新する。
チェック経過時間が閾値以下である場合には、指示モジュール120fは、実行タイミングではないと判断し、チェック経過時間が閾値を超えることを待つ。
チェック経過時間が閾値を超えている場合には、指示モジュール120fは、次のステップS615で、自己テストの実行を自己テストモジュール220fに指示する。自己テストモジュール220fは、自己テストが終了したことに応じて(ステップS630)、ステップS635に移行する。ステップS635では、自己テストモジュール220fは、テスト結果をドライブコントローラ210のRAM(図示せず)に保存し、さらに、ストレージディスクコントローラ110に、テスト完了の通知を送信する。
一方、結果取得モジュール121fは、ドライブコントローラ210からの通知の有無を確認する(S610)。通知が無い場合には、結果取得モジュール121fはステップS612に移行して通知を待つ。また、ストレージディスクコントローラ110は、通常の処理(例えば、ホストコンピュータ400からのリードコマンドとライトコマンドとに応じた読み書き処理)を継続する。
結果取得モジュール121fは、ドライブコントローラ210から自己テスト完了通知を受信することに応じて(S610:Yes)、次のステップS640に移行する。このステップS640では、結果取得モジュール121fは、ドライブコントローラ210に、テスト結果の読み出しコマンドを送信する。すると、ステップS645で、自己テストモジュール220fは、受信したコマンドに応じて、テスト結果をストレージディスクコントローラ110に送信する。結果取得モジュール121fは、次のステップS650で、受信したテスト結果をメモリ114に保存する。以後、指示モジュール120fと自己テストモジュール220fとは、図14の処理を繰り返し実行する。
以上、ディスクドライブ装置200に関するタイミング制御処理について説明したが、他のディスクドライブ装置200a、200bについても同様に処理が実行される。
以上のように、第6実施例では、ドライブコントローラ210(指示モジュール120fと自己テストモジュール220f)は、ストレージディスクコントローラ110からの指示を用いずに、自発的に、自己テストを実行している。従って、ストレージディスクコントローラ110とドライブコントローラ210との間で交換されるコマンドの量を低減し、これらのコントローラ110、210間の接続ラインの負荷を低減することができる。また、第6実施例では、自己テストの実行タイミング制御が、ストレージディスクコントローラ110の代わりにドライブコントローラ210によって行われるので、ストレージディスクコントローラ110の構成を簡略化することができる。これらの利点は、ストレージコントローラ100に接続されるディスクドライブ装置の数が多いほど顕著である。
なお、自己テストモジュール220fによって実行されるタイミング制御処理のモード(タイミングモード)としては、一定間隔モードに限らず、他の種々のタイミングモードを採用可能である。例えば、上述の各実施例で説明した各タイミングモードを採用可能である。この際、指示モジュール120fは、図14のステップS605の代わりに、上述の各タイミングモードにおいて自己テストの実行指示に至るまでに指示モジュール120によって実行された処理を実行すればよい。
例えば、図10に示すアクセスタイミングモードを採用してもよい。この場合には、指示モジュール120fは、図14のステップS605の代わりに、図10のステップS350、S352と同様の処理を実行すればよい。ステップS352では、指示モジュール120fは、ドライブコントローラ210の動作をモニタする稼働情報取得モジュール123fを介して、ドライブコントローラ210がストレージコントローラ100からリードコマンドやライトコマンドを受信したことを検知する。
また、図3に示すダウンタイミングモードを採用してもよい。この場合には、指示モジュール120fは、稼働情報取得モジュール123fを介して、モード制御モジュール222(図1)が動作モードをActiveから非Activeに切り替える旨を検知し、その切り替え前に、自己テストの実行を指示すればよい。
また、図6に示すアップタイミングモードを採用してもよい。この場合には、指示モジュール120fは、モード制御モジュール222(図1)が動作モードを非ActiveからActiveに切り替えたことに応じて、自己テストの実行を指示すればよい。
また、図11に示すアクセス頻度モードを採用してもよい。この場合には、指示モジュール120fと稼働情報取得モジュール123fとが、図14のステップS605の代わりに、図11のステップS400、S410、S420、S430と同様の処理を実行すればよい。
また、図12に示す状況判定モードを採用してもよい。この場合には、指示モジュール120fと稼働情報取得モジュール123fとは、図14のステップS605の代わりに、図12のステップS500、S510、S520、S530と同様の処理を実行すればよい。
また、自己テストモジュール220fが、図7に示す処理に従って、タイミングモードを選択することとしてもよい。この場合も、上述した各実施例と同様に、アクセスタイミングモードの代わりに、他のタイミングモードを採用可能である。
なお、自己テストモジュール220fが一定間隔モードのみを実行する場合には、メモリ218(図13)から閾値管理テーブル126を省略してもよい。また、結果取得モジュール121fが、図4の手順に従って、提供すべき自己テスト結果を選択することとしてもよい。この場合には、メモリ114にも稼働情報取得モジュール123(図1)と閾値管理テーブル126とが格納される。なお、この場合には、稼働情報取得モジュール123と稼働情報取得モジュール123fとの全体が、本発明における「稼働情報取得部」に相当する。
F3.自己テスト完了通知の無い状態が続いた場合の処理:
図15は、結果取得モジュール121f(図13)が自己テスト完了通知を受信しない状態が続いた場合に実行される処理の手順を示すフローチャートである。最初のステップS600は、図14のステップS600と同じである。その後、結果取得モジュール121fは、ドライブコントローラ210からの自己テスト完了通知を待つ。ここで、結果取得モジュール121fは、最後に自己テストの完了通知を受けてからの経過時間(以下、「通知経過時間」とも呼ぶ)をストレージディスクコントローラ110のタイマ(図示せず)を用いて計測する。
通知経過時間が、ステップS600で設定された閾値を越えるまでにテスト完了通知が届いた場合には(S610a:Yes)、結果取得モジュール121fは、通知経過時間をゼロにリセットするとともに図14のステップS640に移行し、図14と同じ処理を実行する。
テスト完了通知が届かない状態で通知経過時間が閾値を越えた場合には(S610a:No)、結果取得モジュール121fは、さらに閾値と同じ時間だけ、自己テスト完了通知を待つ。すなわち、結果取得モジュール121fは、閾値の2倍の時間、通知を待つ。この間にテスト完了通知が届いた場合には(S610b:Yes)、結果取得モジュール121fは、通知経過時間をゼロにリセットするとともに図14のステップS640に移行し、図14と同じ処理を実行する。
閾値の2倍の時間内にテスト完了通知が届かない場合には(S610b:No)、結果取得モジュール121fは、自己テストの実行指示をドライブコントローラ210に送信し、その自己テストの結果をドライブコントローラ210から取得する(S660〜S690)。これらのステップS660、S670、S675、S690の処理は、図3のステップS210、S220、S225、S240の処理と、それぞれ同様である。ここで、正常な自己テスト結果が届かない場合には、結果取得モジュール121fは、異常通知を行うことが好ましい。
以上のように、第6実施例では、ディスクドライブ装置200が自発的に自己テストを実行する場合であっても、自己テスト完了通知が届かない状態が続く場合には、結果取得モジュール121fは、ディスクドライブ装置200に自己テストの実行指示を送信する。その結果、ディスクドライブ装置200に不具合が生じているにも拘わらず、ストレージコントローラ100がその旨の情報を有していない状態が過剰に長く続くことを抑制できる。
なお、結果取得モジュール121fが最後に自己テストの完了通知を受けてから自己テスト実行指示を送信するまでの待ち時間としては、閾値の2倍の時間に限らず、任意の時間を採用可能である。ただし、この待ち時間が、通常時の自己テストの繰り返し時間間隔よりも長いことが好ましい。こうすれば、過剰な回数の自己テストの実行に起因するディスクドライブ装置200の寿命の短縮を抑制できる。このような待ち時間としては、所定の値を採用可能である。
G.第7実施例:
上記各実施例において、指示モジュールが、閾値設定要求に応じて各テーブル126、128の閾値を設定することとしてもよい。図16は、このようなストレージシステム300gの構成の一例を示す説明図である。図1に示すストレージシステム300との差違は、ストレージコントローラ100gが、管理インターフェース(I/F)170を有している点である。この管理I/F170には、管理端末500が接続されている。他の構成は、図1のストレージシステム300と同じである。なお、図16では、ストレージシステム300gの構成要素として、ストレージコントローラ100gの一部(管理I/F170と、スイッチ160と、ストレージディスクコントローラ110と、メモリ114と、指示モジュール120gと、閾値管理テーブル126と、チェック間隔設定テーブル128)のみが示されており、他の構成要素は図示が省略されている。
管理端末500は、キーボードや操作パネル等の入力部(図示せず)を有しており、ユーザは、この管理端末500(入力部)を操作することによって、各テーブル126、128の閾値Thを指定できる。ここで、閾値Thの指定方法としては、種々の方法を採用可能である。例えば、ユーザが直接に閾値Thを入力する方法や、ユーザが閾値Thを格納するデータファイルを指定する方法を採用可能である。管理端末500は、入力されたユーザの指示に従って、閾値を指定閾値Thに設定する旨の要求をストレージコントローラ100gに送信する。指示モジュール120gは、受信した要求に応じて、各テーブル126、128の閾値を、受信した指定閾値Thに設定する。
このように、第7実施例では、指示モジュール120gは、閾値設定要求に応じて閾値を設定することが可能である。従って、指示モジュール120gは、タイミング制御処理の実行に、ストレージシステム300gの利用状況に適した閾値を用いることができる。例えば、ディスクドライブ装置に適した閾値の利用が可能となる。この利点は、ストレージコントローラ100gに接続されるディスクドライブ装置が、仕様が異なる他の種類のディスクドライブ装置に交換される場合に、特に顕著となる。
同様に、指示モジュール120gが、図15の実施例で用いられる待ち時間を、設定要求に応じて設定することとしてもよい。なお、閾値管理テーブル126とチェック間隔設定テーブル128とのそれぞれの閾値の内の一部の閾値(例えば、チェック間隔設定テーブル128の閾値のみ)のみを設定可能としてもよい。
H.第8実施例:
上記各実施例において、指示モジュールが、閾値設定要求に応じて各テーブル126、128の閾値を設定することとしてもよい。図17は、このようなストレージシステム300hの構成の一例を示す説明図である。図13に示すストレージシステム300fとの差違は2点ある。1つ目の差違は、ストレージコントローラ100hが、管理インターフェース(I/F)170を有している点である。この管理I/F170には、管理端末500が接続されている。2つ目の差違は、メモリ114が閾値設定モジュール123hを格納している点である。他の構成は、図13のストレージシステム300fと同じである。なお、図17では、ストレージシステム300hの構成要素として、ストレージコントローラ100hの一部(管理I/F170と、スイッチ160と、ストレージディスクコントローラ110と、メモリ114と、閾値設定モジュール123h)と、ディスクドライブ装置200の一部(ドライブコントローラ210と、メモリ218と、指示モジュール120hと、閾値管理テーブル126と、チェック間隔設定テーブル128)と、のみが示されており、他の構成要素は図示が省略されている。
管理端末500の構成と機能とは、図16で説明した管理端末500と同じである。管理端末500は、入力されたユーザの指示に従って、閾値を指定閾値Thに設定する旨の要求をストレージコントローラ100に送信する。閾値設定モジュール123hは、受信した要求に応じて、各テーブル126、128の閾値を、受信した指定閾値Thに設定する旨の要求をドライブコントローラ210に送信する。すると、指示モジュール120hは、受信した要求に応じて、各テーブル126、128の閾値を、受信した指定閾値Thに設定する。
このように、第8実施例では、指示モジュール120hは、閾値設定要求に応じて閾値を設定することができる。また、閾値設定モジュール123hは、閾値設定要求に応じて、同じ閾値の設定要求をドライブコントローラ210(指示モジュール120h)に送信することができる。従って、指示モジュール120hは、タイミング制御処理の実行に、ストレージシステム300hの利用状況に適した閾値を用いることができる。例えば、ディスクドライブ装置に適した閾値の利用が可能となる。
I.第9実施例:
上記各実施例では、複数のディスクドライブ装置のそれぞれに対して、共通の閾値(各テーブル126、128の閾値)が用いられていたが、互いに独立な閾値が、それぞれ用いられてもよい。図18は、このようなストレージシステム300iの構成の一例を示す説明図である。図1に示すストレージシステム300との差違は、少なくとも一部のパラメータの閾値が互いに異なる、第1テーブルセット126i1、128i1と第2テーブルセット126i2、128i2とが、メモリ114に格納されている点である。またストレージコントローラ100には、2つのディスクドライブ装置200i1、200i2が接続されている。他の構成は、図1のストレージシステム300と同じである。なお、図18では、ストレージシステム300iの構成要素として、ストレージコントローラ100の一部(ストレージディスクコントローラ110と、メモリ114と、指示モジュール120iと、閾値管理テーブル126i1、126i2と、チェック間隔設定テーブル128i1、128i2)と、ディスクドライブ装置200i1、200i2と、のみが示されており、他の構成要素は図示が省略されている。
指示モジュール120iは、各ディスクドライブ装置200i1、200i2に対して、上述の各実施例と同様のタイミング制御処理を実行する。ここで、指示モジュール120iは、第1ディスクドライブ装置200i1の制御には、第1閾値管理テーブル126i1と第1チェック間隔設定テーブル128i1とを利用する。また、指示モジュール120iは、第2ディスクドライブ装置200i2の制御には、第2閾値管理テーブル126i2と第2チェック間隔設定テーブル128i2とを利用する。
以上のように、第9実施例では、指示モジュール120iは、2つのディスクドライブ装置200i1、200i2に対するタイミング制御処理を、互いに独立な閾値をそれぞれ用いることによって、実行する。従って、指示モジュール120iは、各ディスクドライブ装置200i1、200i2に適したタイミング制御処理を実行することができる。
以上、指示モジュール120iについて説明したが、結果取得モジュール(図示せず)も、同様に、2つのディスクドライブ装置200i1、200i2に対するテスト結果の選択処理を(図4)、互いに独立な閾値をそれぞれ用いることによって、実行してもよい。こうすれば、結果取得モジュールも、各ディスクドライブ装置200i1、200i2に適したテスト結果を取得することができる。
なお、ストレージコントローラ100に接続されるディスクドライブ装置の総数としては、2以上の任意の数を採用可能である。ここで、各ディスクドライブ装置毎に、独立な閾値が用いられることとしてもよい。また、複数のディスクドライブ装置を複数のグループに分割し、各グループ毎に、独立な閾値が用いられることとしてもよい。この場合には、1つのグループのディスクドライブ装置に対しては、共通の閾値が用いられる。なお、グループを構成する方法としては、種々の方法を採用可能である。例えば、仕様が同じである1以上のディスクドライブ装置を1つのグループにまとめる方法を採用できる。
また、図16に示す実施例と同様に、指示モジュール120iが、閾値設定要求に応じて閾値を設定することとしてもよい。
J.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
変形例1:
上記各実施例において、ディスクドライブ装置の動作モードが、アクセス頻度に応じて制御されないこととしてもよい。ただし、上記各実施例の利点は、MAIDのようにアクセスの無いディスクドライブ装置の少なくとも一部の動作モードを積極的に非Activeモードに切り替えるストレージシステムにおいて、特に顕著である。ここで、ストレージシステムに設けられたディスクドライブ装置の総数としては、「1」を採用してもよく、また、2以上の任意の数を採用してもよい。ただし、MAID技術の効果は、複数のディスクドライブ装置を利用する場合に、特に顕著である。
変形例2:
上述した第1と第2の実施例では、チェック間隔設定テーブル128(図1)は使用されていないので、チェック間隔設定テーブル128を省略してもよい。
変形例3:
上記各実施例において、ディスクドライブ装置の動作履歴を表すパラメータとしては、図5に示したパラメータに限らず、種々のパラメータを用いることができる。例えば、読み書きされたデータ量に正の相関のある種々のパラメータ(「データ量パラメータ」とも呼ぶ)を採用可能である。データ量パラメータとしては、例えば、上述した「R/W回数」や、リードコマンドとライトコマンドとで要求されたデータブロック(セクタ)の総数を採用可能である。
なお、「Spin-up」と、「Spin-down」と、「Power-on」と、「Power-off」と、のそれぞれの回数と、「データ量パラメータ」とは、ディスクドライブ装置200によって実行された処理の総量を表すパラメータであるので、ディスクドライブ装置200の寿命との関連性が特に強い。従って、近い将来にディスクドライブ装置200に不具合が生じる可能性の高さの判断(例えば、図4のS175、図7のS308、図12のS520)には、これらのパラメータの少なくとも一部を利用することが好ましい。
また、各パラメータの頻度としては、所定の一定時間内における回数に限らず、頻度に相関のある種々の値を採用可能である。例えば、最後に処理を実行してからの経過時間を採用してもよい。例えば、「Spin-up頻度」として、ディスクドライブ装置200が最後にスピンアップされてからの経過時間を採用してもよい。他のパラメータの頻度についても同様である。
変形例4:
上記各実施例において、メモリ114に格納済みの自己テスト結果を利用するための条件としては、図4に示す条件に限らず、種々の条件を採用可能である。例えば、常に、メモリ114に格納済みの自己テスト結果を利用することとしてもよい。ただし、図4に示す実施例のように、ディスクドライブ装置の動作履歴を表すパラメータに基づいて、近い将来にディスクドライブ装置に不具合が生じる可能性の高さを判断し、可能性が比較的高いと判断した場合には、自己テストを実行せずにメモリ114に格納済みの結果を利用し、可能性が比較的低いと判断した場合には、新たな自己テストの結果を利用することが好ましい。こうすれば、自己テストの実行時点と自己テスト結果の利用時点との時間差が過剰に大きくなることを抑制できる。その結果、自己テストの結果の利用時点での信頼性と、自己テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
また、図4に示す実施例のように、ディスクドライブ装置の動作モードが、動作モードを切り替えずに自己テストの実行が可能なモード(例えば、Activeモード)である場合には、新たな自己テストによる自己テスト結果を利用することが好ましい。こうすれば、動作モードの切り替えに起因するディスクドライブ装置200の寿命の短縮を抑制しつつ、新しい自己テスト結果を得ることができる。
変形例5:
図10、図11、図12に示す実施例において、自己テストの指示の要否を確認するタイミングとしては、一定時間間隔のタイミングに限らず、任意のタイミングを採用可能である。例えば、ユーザの指示を契機として、要否を確認することとしてもよい。また、所定のスケジュールに従って、要否を確認することとしてもよい。
変形例6:
図16、図17に示す実施例において、閾値設定要求を発行する装置としては、管理端末500に限らず、任意の装置を採用可能である。例えば、ホストコンピュータ400(図1)が、閾値の設定要求をストレージコントローラ100g、100hに送信することとしてもよい。また、ストレージコントローラ100g、100hに接続された外部の装置に限らず、ストレージディスクコントローラ110が、閾値設定要求を発行することとしてもよい。
変形例7:
上記各実施例では、指示モジュール120と結果取得モジュール121とが、共通の閾値(例えば、閾値管理テーブル126)を利用していたが、互いに異なる閾値を利用することとしてもよい。また、結果取得モジュール121が、図16に示す実施例の指示モジュール120gと同様に、閾値設定要求に応じて、図4のステップS175で利用する閾値(例えば、メモリ114の閾値管理テーブル126の閾値)を設定することとしてもよい。
変形例8:
上記各実施例において、ストレージコントローラとドライブコントローラとの接続形態としては、種々の形態を採用可能である。例えば、データの転送ラインと、コマンドやステータス情報(例えば、動作モード情報)の転送ラインとが、独立に設けられていてもよい。
変形例9:
上記各実施例において、自己テスト結果を格納するメモリとして、不揮発性メモリを採用することが好ましい。こうすれば、ストレージコントローラ100やディスクドライブ装置200の電源がOFFにされた場合にも、自己テスト結果が不揮発性メモリによって保持される。その結果、電源がONにされた後に、すぐに自己テスト結果を利用することが可能となる。
また、自己テスト結果を、メモリ150(図1)に格納することとしてもよい。こうすれば、1つのストレージコントローラ100に複数のストレージディスクコントローラ110が設けられる場合であっても、各コントローラ110によって取得された自己テスト結果のそれぞれが共通のメモリ150に格納される。その結果、各コントローラ110へのアクセスの代わりに、このメモリ150のみへのアクセスによって、各自己テストを参照することができるので、自己テストを参照する処理の簡素化を図ることができる。
変形例10:
上記各実施例では、各ディスクドライブ装置毎にタイミング制御処理が実行されているが、複数のディスクドライブ装置のグループ毎にタイミング制御処理が実行されることとしてもよい。この場合には、1つのグループの複数のディスクドライブ装置に対しては、同じタイミングで自己テストが実行されることとなる。このようなグループとしては、任意のグループを採用可能である。例えば、複数のディスクドライブ装置を用いることによって1つの論理的な記憶領域(論理ボリュームとも呼ばれる)が形成される場合がある。このような場合には、1つの論理ボリュームを形成する複数のディスクドライブ装置を1つのグループとして扱えばよい。
変形例11:
上記各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。例えば、データ中継モジュール122(図1)の機能を、論理回路を有するハードウェア回路によって実現することとしてもよい。
本発明の一実施例としてのデータ処理システムの構成を示す概略図である。 ディスクドライブ装置200の電力管理に関する動作状態(動作モード)の遷移を示す状態遷移図である。 第1実施例における自己テストのタイミング制御処理の手順を示すフローチャートである。 自己テストデータ(自己テスト結果)の選択処理の手順を示すフローチャートである。 閾値管理テーブル126の一例を示す説明図である。 第2実施例におけるタイミング制御処理の手順を示すフローチャートである。 第3実施例におけるタイミングモードを選択する処理の手順を示すフローチャートである。 一定間隔モードにおけるタイミング制御処理の手順を示すフローチャートである。 チェック間隔設定テーブル128の一例を示す説明図である。 アクセスタイミングモードにおけるタイミング制御処理の手順を示すフローチャートである。 タイミング制御処理の別の例の手順を示すフローチャートである。 タイミング制御処理の別の例の手順を示すフローチャートである。 第6実施例におけるストレージシステム300fの構成を示す説明図である。 第6実施例におけるタイミング制御処理の手順を示すフローチャートである。 結果取得モジュール121f(図13)が自己テスト完了通知を受信しない状態が続いた場合に実行される処理の手順を示すフローチャートである。 ストレージシステムの構成の一例を示す説明図である。 ストレージシステムの構成の一例を示す説明図である。 ストレージシステムの構成の一例を示す説明図である。
符号の説明
10…データ処理システム
100、100g、100h…ストレージコントローラ
110…ストレージディスクコントローラ
112…CPU
114…メモリ
120、120f、120g、120h、120i…指示モジュール
121、121f…結果取得モジュール
122…データ中継モジュール
123、123f…稼働情報取得モジュール
123h…閾値設定モジュール
126、126i1、126i2…閾値管理テーブル
128、128i1、128i2…チェック間隔設定テーブル
130…ホストI/F
140…キャッシュメモリ
150…メモリ
160…スイッチ
170…管理I/F
200、200a、200i1、200i2…ディスクドライブ装置
210…ドライブコントローラ
214…CPU
216…キャッシュメモリ
218…メモリ
220、220f…自己テストモジュール
222…モード制御モジュール
224…データ中継モジュール
250…ディスクドライブ機構コントローラ
260…ディスクドライブ機構
262…ディスク
264…ヘッド
300、300f、300g、300h、300i…ストレージシステム
400…ホストコンピュータ
500…管理端末

Claims (18)

  1. データの読み書きが可能な記憶領域をホストコンピュータに提供するストレージシステムであって、
    ディスクドライブ装置であって、前記記憶領域と、前記ディスクドライブ装置の動作のテスト処理を実行するテスト実行部と、を有するディスクドライブ装置と、
    前記テスト実行部に前記テスト処理の実行指示を送信するテスト指示部と、
    前記テスト処理の結果を取得する結果取得部と、
    前記ディスクドライブ装置の動作状況と、前記ディスクドライブ装置の動作履歴と、の少なくとも一方に関する稼働情報を取得する稼働情報取得部と、
    を備え、
    前記テスト指示部は、前記テスト処理実行指示のタイミング決定のモードであるタイミングモードとして、前記稼働情報の少なくとも一部の第1稼働情報に基づいて前記タイミングを決定する第1タイミングモードを有する、
    ストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記テスト指示部は、さらに、前記タイミングモードとして、
    前記第1タイミングモードとは異なるタイミングを決定する第2タイミングモードを有し、
    前記テスト指示部は、前記タイミングモードの選択の契機に応じて、前記稼働情報の少なくとも一部の第2稼働情報が、与えられた第1タイミング条件を満たしているか否かを判断し、
    (i)前記第1タイミング条件が満たされている場合には、前記第1タイミングモードに従って前記テスト処理の実行指示のタイミングを決定し、
    (ii)前記第1タイミング条件が満たされていない場合には、前記第2タイミングモードに従って前記テスト処理の実行指示のタイミングを決定する、
    ストレージシステム。
  3. 請求項1に記載のストレージシステムであって、さらに、
    前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
    前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
    前記稼働情報の少なくとも一部の第3稼働情報は、前記ディスクドライブ装置の現行の動作モードを含み、
    前記結果取得部は、前記テスト処理結果の参照要求に応じて前記ディスクドライブ装置の現行の動作モードが前記アップ動作モードであるか否かを判断するとともに、
    (A)前記動作モードが前記アップ動作モードである場合には、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供し、
    (B)前記動作モードが前記アップ動作モードでない場合には、さらに、前記第3稼働情報が、与えられた実行可能条件を満たしているか否かを判断し、
    (B1)前記実行可能条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供し、
    (B2)前記実行可能条件が満たされていない場合には、前記テスト処理の実行指示を前記テスト実行部に送信せずに、前記テスト指示部の指示に従って実行されたテスト処理の結果であって取得済みの結果を、提供する、
    ストレージシステム。
  4. 請求項1に記載のストレージシステムであって、
    前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
    前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
    前記第1稼働情報は、前記ディスクドライブ装置の動作モードの前記アップ動作モードから前記ダウン動作モードへの移行の契機であるダウン契機を含み、
    前記テスト指示部は、前記第1タイミングモードとして、ダウンタイミングモードを有し、
    前記テスト指示部は、前記ダウンタイミングモードにおいて、
    前記ダウン契機に応じて、前記テスト処理を実行する旨の指示を前記テスト実行部に送信することによって、前記テスト実行部に前記動作モードの移行前に前記テスト処理を実行させる、
    ストレージシステム。
  5. 請求項1に記載のストレージシステムであって、
    前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
    前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
    前記第1稼働情報は、前記ディスクドライブ装置の動作モードの前記ダウン動作モードから前記アップ動作モードへの移行の契機であるアップ契機を含み、
    前記テスト指示部は、前記第1タイミングモードとして、アップタイミングモードを有し、
    前記テスト指示部は、前記アップタイミングモードにおいて、
    前記アップ契機に応じて、前記テスト処理を実行する旨の指示を前記テスト実行部に送信することによって、前記テスト実行部に前記動作モードの移行後に前記テスト処理を実行させる、
    ストレージシステム。
  6. 請求項1に記載のストレージシステムであって、
    前記第1稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機を含み、
    前記テスト指示部は、前記第1タイミングモードとして、アクセスタイミングモードを有し、
    前記テスト指示部は、前記アクセスタイミングモードにおいて、
    前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置を対象とする読み書きの契機に応じて前記テスト処理の実行指示を前記テスト実行部に送信する、
    ストレージ制御装置。
  7. 請求項1に記載のストレージシステムであって、
    前記テスト指示部は、前記第1タイミングモードとして、状況実行タイミングモードを有し、
    前記テスト指示部は、前記状況実行タイミングモードにおいて、
    前記テスト処理の指示の要否確認の契機に応じて、前記第1稼働情報が、与えられた状況実行条件を満たしているか否かを判断し、
    (i)前記状況実行条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、
    (ii)前記状況実行条件が満たされていない場合には、前記テスト処理の実行指示を送信せずに、次の前記要否確認契機を待つ、
    ストレージシステム。
  8. 請求項1に記載のストレージシステムであって、
    前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
    前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
    前記第1稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機と、前記ディスクドライブ装置の現行の動作モードと、を含み、
    前記テスト指示部は、前記第1タイミングモードとして、状況判定モードを有し、
    前記テスト指示部は、前記状況判定モードにおいて、
    前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置の現行の動作モードが前記ダウン動作モードであるか否かを判断し、
    (A)前記動作モードが前記ダウン動作モードではない場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、
    (B)前記動作モードが前記ダウン動作モードである場合には、さらに、前記第1稼働情報が、与えられた状況判定条件を満たしているか否かを判断し、
    (B1)前記状況判定条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、
    (B2)前記状況判定条件が満たされていない場合には、前記テスト処理の実行指示の送信を保留し、前記ディスクドライブ装置を対象とする読み書きの契機に応じて前記テスト処理の実行指示を前記テスト実行部に送信する、
    ストレージ制御装置。
  9. 請求項1に記載のストレージシステムであって、
    前記ホストコンピュータと前記ディスクドライブ装置とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部を備え、
    前記結果取得部は前記ストレージ制御部に設けられており、
    前記テスト指示部と前記稼働情報取得部とは前記ディスクドライブ装置に設けられている、
    ストレージシステム。
  10. データの読み書きが可能な記憶領域を有するディスクドライブ装置と、前記ディスクドライブ装置を制御する制御部と、を有するとともに前記記憶領域をホストコンピュータに提供するストレージシステムの制御方法であって、
    前記ディスクドライブ装置は、前記ディスクドライブ装置の動作のテスト処理を実行するテスト実行部を有し、
    前記制御方法は、
    (A)前記制御部が、前記ディスクドライブ装置の動作状況と、前記ディスクドライブ装置の動作履歴と、の少なくとも一方に関する稼働情報を取得する工程と、
    (B)前記制御部が、前記テスト処理実行指示のタイミング決定処理を実行する工程と、
    (C)前記制御部が、前記決定されたタイミングに従って前記テスト実行部に前記テスト処理の実行指示を送信する工程と、
    (D)前記制御部が、前記テスト処理の結果を取得する工程と、
    を備え、
    前記タイミング決定処理は、前記稼働情報の少なくとも一部の第1稼働情報に基づいて前記タイミングを決定する第1タイミングモードを有し、
    前記工程(B)は、前記第1タイミングモードによるタイミング決定処理を実行する工程を含む、
    制御方法。
  11. 請求項10に記載の制御方法であって、
    前記タイミング決定処理は、さらに、前記第1タイミングモードとは異なるタイミングを決定する第2タイミングモードを有し、
    前記工程(B)は、
    前記制御部が、前記タイミングモードの選択の契機に応じて、前記稼働情報の少なくとも一部の第2稼働情報が、与えられた第1タイミング条件を満たしているか否かを判断する工程と、
    (i)前記第1タイミング条件が満たされている場合には、前記第1タイミングモードに従って前記タイミングを決定し、
    (ii)前記第1タイミング条件が満たされていない場合には、前記第2タイミングモードに従って前記タイミングを決定する工程と、を含む、
    制御方法。
  12. 請求項10に記載の制御方法であって、
    前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
    前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
    前記稼働情報の少なくとも一部の第3稼働情報は、前記ディスクドライブ装置の現行の動作モードを含み、
    前記制御方法は、さらに、
    (E)前記制御部が、前記テスト処理結果の参照要求に応じて前記ディスクドライブ装置の現行の動作モードが前記アップ動作モードであるか否かを判断する工程と、
    (F)前記動作モードが前記アップ動作モードである場合には、前記制御部が、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供する工程と、
    (G)前記動作モードが前記アップ動作モードでない場合には、前記制御部が、さらに、前記第3稼働情報が、与えられた実行可能条件を満たしているか否かを判断する工程と、
    (H)前記実行可能条件が満たされている場合には、前記制御部が、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供する工程と、
    (I)前記実行可能条件が満たされていない場合には、前記制御部が、前記テスト処理の実行指示を前記テスト実行部に送信せずに、前記テスト指示部の指示に従って実行されたテスト処理の結果であって取得済みの結果を、提供する工程と、
    を含む、制御方法。
  13. 請求項10に記載の制御方法であって、
    前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
    前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
    前記第1稼働情報は、前記ディスクドライブ装置の動作モードの前記アップ動作モードから前記ダウン動作モードへの移行の契機であるダウン契機を含み、
    前記タイミング決定処理は、前記第1タイミングモードとして、前記ダウン契機に応じたタイミングを決定することによって、前記テスト実行部に前記動作モードの移行前に前記テスト処理を実行させる工程を含むダウンタイミングモードを有し、
    前記工程(B)は、前記制御部が、前記ダウンタイミングモードによるタイミング決定処理を実行する工程を含む、
    制御方法。
  14. 請求項10に記載の制御方法であって、
    前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
    前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
    前記第1稼働情報は、前記ディスクドライブ装置の動作モードの前記ダウン動作モードから前記アップ動作モードへの移行の契機であるアップ契機を含み、
    前記タイミング決定処理は、前記第1タイミングモードとして、前記アップ契機に応じたタイミングを決定することによって、前記テスト実行部に前記動作モードの移行後に前記テスト処理を実行させる工程を含むアップタイミングモードを有し、
    前記工程(B)は、前記制御部が、前記アップタイミングモードによるタイミング決定処理を実行する工程を含む、
    制御方法。
  15. 請求項10に記載の制御方法であって、
    前記第1稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機を含み、
    前記タイミング決定処理は、前記第1タイミングモードとして、前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置を対象とする読み書きの契機に応じたタイミングを決定する工程を含むアクセスタイミングモードを有し、
    前記工程(B)は、前記制御部が、前記アクセスタイミングモードによるタイミング決定処理を実行する工程を含む、制御方法。
  16. 請求項10に記載の制御方法であって、
    前記タイミング決定処理は、前記第1タイミングモードとして、
    前記テスト処理の指示の要否確認の契機に応じて、前記第1稼働情報が、与えられた状況実行条件を満たしているか否かを判断する工程と、
    (i)前記状況実行条件が満たされている場合には、前記要否確認の契機に応じたタイミングを決定し、
    (ii)前記状況実行条件が満たされていない場合には、前記タイミングを決定せずに、次の前記要否確認契機を待つ工程と、を含む状況実行タイミングモードを有し、
    前記工程(B)は、前記制御部が、前記状況実行タイミングモードによるタイミング決定処理を実行する工程を含む、制御方法。
  17. 請求項10に記載の制御方法であって、
    前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
    前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
    前記第1稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機と、前記ディスクドライブ装置の現行の動作モードと、を含み、
    前記タイミング決定処理は、前記第1タイミングモードとして、
    前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置の現行の動作モードが前記ダウン動作モードであるか否かを判断する工程と、
    (E)前記動作モードが前記ダウン動作モードではない場合には、前記要否確認の契機に応じたタイミングを決定する工程と、
    (F)前記動作モードが前記ダウン動作モードである場合には、さらに、前記第1稼働情報が、与えられた状況判定条件を満たしているか否かを判断する工程と、
    (G)前記状況判定条件が満たされている場合には、前記要否確認の契機に応じたタイミングを決定する工程と、
    (H)前記状況判定条件が満たされていない場合には、前記タイミングの決定を保留し、前記ディスクドライブ装置を対象とする読み書きの契機に応じたタイミングを決定する工程と、を含む状況判定モードを有し、
    前記工程(B)は、前記制御部が、前記状況判定モードによるタイミング決定処理を実行する工程を含む、制御方法。
  18. 請求項10に記載の制御方法であって、
    前記制御部は、
    前記ディスクドライブ装置に設けられるとともに前記ディスクドライブ装置を制御するドライブ制御部と、
    前記ホストコンピュータと前記ドライブ制御部とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部と、を含み、
    前記工程(A)(B)(C)のそれぞれは、前記ドライブ制御部によって実行され、
    前記工程(D)は、前記ストレージ制御部によって実行される、制御方法。
JP2005309198A 2005-10-25 2005-10-25 セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御 Pending JP2007122108A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005309198A JP2007122108A (ja) 2005-10-25 2005-10-25 セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御
US11/296,319 US7519869B2 (en) 2005-10-25 2005-12-08 Control of storage system using disk drive device having self-check function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005309198A JP2007122108A (ja) 2005-10-25 2005-10-25 セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御

Publications (2)

Publication Number Publication Date
JP2007122108A true JP2007122108A (ja) 2007-05-17
JP2007122108A5 JP2007122108A5 (ja) 2008-03-06

Family

ID=37985095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005309198A Pending JP2007122108A (ja) 2005-10-25 2005-10-25 セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御

Country Status (2)

Country Link
US (1) US7519869B2 (ja)
JP (1) JP2007122108A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2009008084A1 (ja) * 2007-07-12 2010-09-02 富士通株式会社 ディスクアレイ装置、制御方法、および制御プログラム

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006100760A1 (ja) * 2005-03-22 2006-09-28 Fujitsu Limited 記憶装置、記憶装置管理システムおよび記憶装置管理方法
JP2008077794A (ja) * 2006-09-22 2008-04-03 Toshiba Corp 情報処理装置およびディスクドライブ制御方法
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US7502873B2 (en) * 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
JP2008134830A (ja) * 2006-11-28 2008-06-12 Hitachi Ltd 節電機能と診断機能の両方を備えたストレージシステム
JP4891811B2 (ja) * 2007-02-28 2012-03-07 東芝ストレージデバイス株式会社 制御装置および記憶装置
JP2009015584A (ja) * 2007-07-04 2009-01-22 Hitachi Ltd 記憶制御装置及び筐体単位の電源制御方法
US8140754B2 (en) * 2008-01-03 2012-03-20 Hitachi, Ltd. Methods and apparatus for managing HDD's spin-down and spin-up in tiered storage systems
US8108570B2 (en) * 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US8166206B2 (en) * 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8095847B2 (en) * 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US8176222B2 (en) 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
JP2009211510A (ja) * 2008-03-05 2009-09-17 Hitachi Ltd ディスクアレイ装置
US20090265377A1 (en) * 2008-04-16 2009-10-22 Theethut Mungronpet Method and system for identifying a unit to be tested in a multi-array test apparatus
JP5184206B2 (ja) * 2008-05-14 2013-04-17 株式会社バッファロー 複数の記憶装置を内蔵する外部記憶装置を制御する制御装置、制御方法、コンピュータプログラム、および、記録媒体
US8145932B2 (en) * 2008-06-30 2012-03-27 Dell Products L.P. Systems, methods and media for reducing power consumption in multiple controller information handling systems
US8055807B2 (en) 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
JP5215898B2 (ja) * 2009-02-10 2013-06-19 株式会社日立製作所 ファイルサーバ、ファイル管理システムおよびファイル再配置方法
JP2010211529A (ja) * 2009-03-10 2010-09-24 Fujitsu Ltd ストレージ装置、中継装置、及び、診断方法
CA2768709A1 (en) * 2009-07-20 2011-01-27 Caringo, Inc. Adaptive power conservation in storage clusters
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US10922225B2 (en) 2011-02-01 2021-02-16 Drobo, Inc. Fast cache reheat
US20120198152A1 (en) * 2011-02-01 2012-08-02 Drobo, Inc. System, apparatus, and method supporting asymmetrical block-level redundant storage
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
WO2014006701A1 (ja) * 2012-07-04 2014-01-09 富士通株式会社 情報処理装置、アクセス制御プログラム、およびアクセス制御方法
JP6126493B2 (ja) * 2012-09-27 2017-05-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America サーバ装置、端末装置、保守整備情報送信方法およびコンピュータプログラム
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
JP6872016B2 (ja) * 2017-06-22 2021-05-19 日立Astemo株式会社 車両制御装置
JP2022115179A (ja) * 2021-01-28 2022-08-09 キオクシア株式会社 半導体集積回路装置及びその動作方法
US11841396B1 (en) * 2021-03-22 2023-12-12 Marvell Asia Pte Ltd United states test controller for system-on-chip validation
CN113869561B (zh) * 2021-09-09 2025-02-11 摩拜(北京)信息技术有限公司 车锁的生产检测方法、装置和电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0574059A (ja) * 1991-03-18 1993-03-26 Hitachi Ltd デイスク装置の診断方式
JPH05334013A (ja) * 1992-06-01 1993-12-17 Hitachi Ltd 補助記憶装置
JPH0954742A (ja) * 1995-08-17 1997-02-25 Fujitsu Ltd ディスク装置
JPH11167610A (ja) * 1997-12-03 1999-06-22 Ntt Data Corp Icカードシステム及びその通信方法
JP2000293314A (ja) * 1999-04-05 2000-10-20 Hitachi Ltd ディスクアレイ装置
US6401214B1 (en) * 1999-03-04 2002-06-04 International Business Machines Corporation Preventive recovery action in hard disk drives
JP2002334003A (ja) * 2001-05-09 2002-11-22 Tsubasa System Co Ltd コンピュータのシステムチェック方法
JP2004005162A (ja) * 2002-05-31 2004-01-08 Toppan Printing Co Ltd 記憶装置、自動復旧方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481733A (en) * 1994-06-15 1996-01-02 Panasonic Technologies, Inc. Method for managing the power distributed to a disk drive in a laptop computer
US5761411A (en) * 1995-03-13 1998-06-02 Compaq Computer Corporation Method for performing disk fault prediction operations
US5717850A (en) * 1996-03-12 1998-02-10 International Business Machines Corporation Efficient system for predicting and processing storage subsystem failure
US5819100A (en) * 1996-11-19 1998-10-06 Dell Usa, L.P. Operating system independent method and system for preserving hard disk drive life span in power managed computers
US6198590B1 (en) * 1998-07-21 2001-03-06 Western Digital Corporation Disk drive employing method of spinning down its spindle motor to reduce the time required for subsequently spinning it up
JP3663302B2 (ja) * 1998-08-20 2005-06-22 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置
US6980381B2 (en) * 1998-09-21 2005-12-27 William F. Gray Apparatus and method for predicting failure of a disk drive
US6405329B1 (en) * 1999-07-27 2002-06-11 Dell Usa, L.P. Method and apparatus for HDD time stamp benchmark and installation identification
US6408406B1 (en) * 1999-08-31 2002-06-18 Western Digital Technologies, Inc. Hard disk drive infant mortality test
GB2382215A (en) * 2000-09-28 2003-05-21 Seagate Technology Llc Critical event log for a disc drive
US6771440B2 (en) * 2001-12-18 2004-08-03 International Business Machines Corporation Adaptive event-based predictive failure analysis measurements in a hard disk drive
JP3966459B2 (ja) * 2002-05-23 2007-08-29 株式会社日立製作所 ストレージ機器管理方法、システム、およびプログラム
US7434097B2 (en) * 2003-06-05 2008-10-07 Copan System, Inc. Method and apparatus for efficient fault-tolerant disk drive replacement in raid storage systems
US20060090098A1 (en) * 2003-09-11 2006-04-27 Copan Systems, Inc. Proactive data reliability in a power-managed storage system
US7373559B2 (en) * 2003-09-11 2008-05-13 Copan Systems, Inc. Method and system for proactive drive replacement for high availability storage systems
US7136247B2 (en) * 2003-09-30 2006-11-14 Hitachi Global Storage Technologies Netherlands B.V. Drive temperature self-adjustment for temperature-sensitive measurements
US7409582B2 (en) * 2004-05-06 2008-08-05 International Business Machines Corporation Low cost raid with seamless disk failure recovery
JP2006048789A (ja) * 2004-08-02 2006-02-16 Hitachi Global Storage Technologies Netherlands Bv 磁気ディスク装置の故障予測方法及びこれを用いた磁気ディスク装置
JP4824374B2 (ja) * 2005-09-20 2011-11-30 株式会社日立製作所 ディスクの回転を制御するシステム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0574059A (ja) * 1991-03-18 1993-03-26 Hitachi Ltd デイスク装置の診断方式
JPH05334013A (ja) * 1992-06-01 1993-12-17 Hitachi Ltd 補助記憶装置
JPH0954742A (ja) * 1995-08-17 1997-02-25 Fujitsu Ltd ディスク装置
JPH11167610A (ja) * 1997-12-03 1999-06-22 Ntt Data Corp Icカードシステム及びその通信方法
US6401214B1 (en) * 1999-03-04 2002-06-04 International Business Machines Corporation Preventive recovery action in hard disk drives
JP2000293314A (ja) * 1999-04-05 2000-10-20 Hitachi Ltd ディスクアレイ装置
JP2002334003A (ja) * 2001-05-09 2002-11-22 Tsubasa System Co Ltd コンピュータのシステムチェック方法
JP2004005162A (ja) * 2002-05-31 2004-01-08 Toppan Printing Co Ltd 記憶装置、自動復旧方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2009008084A1 (ja) * 2007-07-12 2010-09-02 富士通株式会社 ディスクアレイ装置、制御方法、および制御プログラム

Also Published As

Publication number Publication date
US7519869B2 (en) 2009-04-14
US20070091497A1 (en) 2007-04-26

Similar Documents

Publication Publication Date Title
JP2007122108A (ja) セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御
JP5068086B2 (ja) 記憶制御装置
JP4794370B2 (ja) 省電力とパフォーマンスを両立したストレージシステム及び記憶制御方法
US7328356B2 (en) Apparatus and method for saving power in a disk drive with a serial ATA interface connected to a host via a serial ATA bus
US8156381B2 (en) Storage management apparatus and storage system
US20140254343A1 (en) Peer to peer vibration mitigation
US8219748B2 (en) Storage system comprising both power saving and diagnostic functions
JP2008287644A (ja) 計算機システムの電力制御方法、プログラム、及び計算機システム
US20080005461A1 (en) Power-saving control apparatus, power-saving control method, and computer product
EP1965385A1 (en) Storage device control apparatus, storage device, and data storage control method
JP2001290697A (ja) 情報処理システム
JP2009294802A (ja) ストレージ装置およびストレージ装置の起動制御方法
JP4814982B2 (ja) ストレージ制御装置及びストレージ装置の動作制御方法
US20110119686A1 (en) External data storage assembly including a hard disk drive and method of monitoring the operational status of the hard disk drive
JP2009015584A (ja) 記憶制御装置及び筐体単位の電源制御方法
JP2010003149A (ja) ストレージ装置及びディスク装置制御方法
JP2010015518A (ja) ストレージシステム
JP2012022562A (ja) 通信監視装置及び方法、プログラム
JP6996602B1 (ja) Bmc、サーバシステム、装置安定度判定方法及びプログラム
JP6179101B2 (ja) 管理装置、管理方法、および管理プログラム
US9141172B1 (en) Method and apparatus to manage and control a power state of a device set based on availability requirements of corresponding logical addresses
US10690368B2 (en) Information processing apparatus and information processing system
JP2008027240A (ja) ディスクアレイ装置及びパトロール診断方法及びパトロール診断制御プログラム
JP4798037B2 (ja) ハードディスクドライブ状態監視装置およびハードディスクドライブ状態監視方法
JP2008198322A5 (ja)

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110105