JP6287613B2 - 制御装置、および診断制御プログラム - Google Patents

制御装置、および診断制御プログラム Download PDF

Info

Publication number
JP6287613B2
JP6287613B2 JP2014124111A JP2014124111A JP6287613B2 JP 6287613 B2 JP6287613 B2 JP 6287613B2 JP 2014124111 A JP2014124111 A JP 2014124111A JP 2014124111 A JP2014124111 A JP 2014124111A JP 6287613 B2 JP6287613 B2 JP 6287613B2
Authority
JP
Japan
Prior art keywords
write
diagnosis
area
storage device
data
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.)
Expired - Fee Related
Application number
JP2014124111A
Other languages
English (en)
Other versions
JP2016004592A (ja
Inventor
篤 遠藤
篤 遠藤
光輝 佐藤
光輝 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2014124111A priority Critical patent/JP6287613B2/ja
Priority to US14/722,308 priority patent/US9343113B2/en
Publication of JP2016004592A publication Critical patent/JP2016004592A/ja
Application granted granted Critical
Publication of JP6287613B2 publication Critical patent/JP6287613B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Recording Or Reproducing By Magnetic Means (AREA)

Description

本発明は、制御装置、および診断制御プログラムに関する。
データセンタは、信頼性を確保しながら大規模なデータを扱うことが求められ、一般に、多数のHDD(Hard Disk Drive:ハード ディスク ドライブ)を使用したRAID(Redundant Arrays of Inexpensive Disks)方式を採用している。
そのため、HDDの信頼性を確保するために、HDDは、ライトヘッドや、記録媒体(ディスク)の診断をおこなっている。たとえば、HDDは、ディスクの所定領域を診断領域として、診断領域に検査データを書き込み、書き込んだ検査データを読み出すことでライトヘッダの動作を確認するライトパトロールがおこなわれている。
特開2001−35096号公報 特開2003−228925号公報 国際公開第2009/040929号
一方、一層の大容量化がすすんだHDD(記憶装置)は、診断領域がユーザ領域に対して相対的に小さくなり、ヘッドが定点浮上状態となるおそれがある。HDDは、診断領域を拡大してヘッドの定点浮上を避けることができるが、ユーザ領域として使用できない領域が拡大するという新たな問題を生じる。
また、HDDの診断動作は、I/O(Input/Output)要求とタイミングが重なった場合に、I/O性能に影響する。
1つの側面では、本発明は、I/O性能の低下を抑制しながら、ユーザ領域を制約することなく記憶装置の診断をおこなうことができる制御装置、および診断制御プログラムを提供することを目的とする。
上記目的を達成するために、以下に示すような、制御装置が提供される。制御装置は、記憶部と、制御部とを備える。記憶部は、記憶装置の診断に関する診断情報を記憶する。制御部は、情報処理装置から受け付けた書込要求にもとづく書込データの書込対象となる記憶装置が診断対象であるか否かを診断情報にもとづいて判定し、記憶装置が診断対象である場合に、書込要求にしたがう書込位置と書込データとを用いたライトベリファイ処理を、書込要求による書込処理に代えて記憶装置に対して実行させ、情報処理装置から書込要求を所定時間受け付けていない場合に、記憶装置のユーザ領域からユーザデータを読み出して、ユーザ領域にしたがう書込位置とユーザデータとを用いたライトベリファイ処理を記憶装置に対して実行させる。
1態様によれば、制御装置、および診断制御プログラムにおいて、I/O性能の低下を抑制しながら、ユーザ領域を制約することなく記憶装置の診断をおこなうことができる。
第1の実施形態の制御装置の構成の一例を示す図である。 第2の実施形態のストレージシステムの構成の一例を示す図である。 第2の実施形態のRAID装置の構成の一例を示す図である。 第2の実施形態のCMのハードウェア構成の一例を示す図である。 第2の実施形態のアクセス先領域リストの一例を示す図である。 第2の実施形態のアクセス先チェックリストの一例を示す図である。 第2の実施形態のアクセス先領域リスト取得処理のフローチャートを示す図である。 第2の実施形態の診断契機判定処理のフローチャートを示す図である。 第2の実施形態の第1診断処理のフローチャートを示す図である。 第2の実施形態の第2診断処理のフローチャートを示す図である。
以下、実施の形態について、図面を参照しながら詳細に説明する。
[第1の実施形態]
まず、第1の実施形態の制御装置について図1を用いて説明する。図1は、第1の実施形態の制御装置の構成の一例を示す図である。
制御装置1は、記憶装置5を制御対象とする。制御装置1は、情報処理装置4から書込要求7を受け付けて書込要求7に対応するデータを記憶装置5に書き込む。情報処理装置4は、制御装置1と通信可能に接続し、所要の指令(たとえば、書込要求や読出要求などのI/O要求)を制御装置1に発行する。情報処理装置4は、たとえば、制御装置1の上位装置に相当するホストやサーバなどである。
記憶装置5は、情報処理装置4からの書込要求7に応じたデータを書込可能であり、情報処理装置4からの読出要求に応じたデータを読出可能である。記憶装置5は、制御装置1の制御対象であり、かつ診断対象である。記憶装置5は、たとえば、1または2以上のHDDである。
制御装置1は、記憶部2と、制御部3とを備える。記憶部2は、診断情報6を記憶する。診断情報6は、記憶装置5の診断に関する情報である。記憶装置5の診断は、記憶装置5の状態を確認することである。たとえば、記憶装置5の診断は、記憶装置5に正常にデータを書き込むことができることの確認や、記憶装置5から正常にデータを読み出すことができることの確認や、記憶装置5が正常にデータを保持していることの確認を含む。
制御部3は、情報処理装置4からの各種要求を受け付けて対応するコマンドを出力することができる。また、制御部3は、情報処理装置4から受け付けた書込要求7にもとづく書込データの書込対象となる記憶装置5が診断対象であるか否かを診断情報6にもとづいて判定する。
制御部3は、記憶装置5が診断対象ではない場合に、書込要求7に対応するライトコマンドを発行し、記憶装置5にデータの書き込みを実行させる。制御部3は、記憶装置5が診断対象である場合に、書込要求7に対応するライトコマンドに代えてライトベリファイコマンドを発行する。ライトベリファイコマンドは、書込要求7に対応するライトコマンドが指定する書込位置と書込データに代えて、ライト&ベリファイ(ライトベリファイ処理8)を記憶装置5に対して実行させる。ライトベリファイ処理8は、記憶装置5にデータを書き込む書込処理と、記憶装置5からデータを正しく読みだすことができるか否かを確認するベリファイリード(確認)処理の2つの処理を記憶装置5に対して同時に実行させるものである。
このように、制御装置1は、情報処理装置4からの書込要求7を利用して診断をおこなうので記憶装置5のユーザ領域を診断領域として扱うことができる。これにより、制御装置1は、ユーザ領域の他に診断領域を記憶装置5に設けることを要しない。したがって、制御装置1は、診断領域を拡大することなく、記憶装置5の診断対象をユーザ領域に拡大することができる。このような記憶装置5は、記憶領域の有効利用を図ることができる。
また、制御装置1は、情報処理装置4からの書込要求7を利用して診断をおこなうので、診断処理のタイミングと書込要求7に対応するライトコマンドの発行タイミングとが重なることによるI/O性能への影響を抑制できる。
したがって、制御装置1は、I/O性能の低下を抑制しながら、ユーザ領域を制約することなく記憶装置5の診断をおこなうことができる。
[第2の実施形態]
次に、第2の実施形態のストレージシステムについて図2を用いて説明する。図2は、第2の実施形態のストレージシステムの構成の一例を示す図である。
ストレージシステム10は、ホスト11と、ネットワーク12を介してホスト11と接続するRAID装置13を備える。ストレージシステム10は、ホスト11が要求するI/O要求に応じて、RAID装置13にデータを書き込み、あるいはRAID装置13からデータを読み出す。
次に、第2の実施形態のRAID装置13の構成について図3を用いて説明する。図3は、第2の実施形態のRAID装置の構成の一例を示す図である。
RAID装置13は、CM100と複数のHDD20(20a,20b,・・・,20c)を含む。RAID装置13は、複数のHDD20を用いてRAIDを実装する。CM100は、RAID装置13のコントローラモジュールであり、ホスト11からホストI/O(ホスト11からのI/O要求)を受け付けてHDD20を制御する。したがって、RAID装置13(CM100)は、HDD20を制御対象とする制御装置に相当する。
なお、RAID装置13は、HDD20を内蔵するものであってもよいし、外部接続するものであってもよい。
次に、第2の実施形態のCM100のハードウェア構成について図4を用いて説明する。図4は、第2の実施形態のCMのハードウェア構成の一例を示す図である。
CM100は、ホストインタフェース101と、プロセッサ102と、RAM(Random Access Memory)103と、HDD104と、機器接続インタフェース105と、ディスクインタフェース106を含む。
CM100は、プロセッサ102によって装置全体が制御されている。プロセッサ102には、バスを介してRAM103と複数の周辺機器が接続されている。プロセッサ102は、2以上のプロセッサからなるマルチコアプロセッサであってもよい。
プロセッサ102は、たとえばCPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。
RAM103は、CM100の主記憶装置として使用される。RAM103には、プロセッサ102に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時格納される。また、RAM103には、プロセッサ102による処理に必要な各種データが格納される。また、RAM103は、プロセッサ102のキャッシュメモリとして機能する。
バスに接続されている周辺機器としては、ホストインタフェース101、HDD104、機器接続インタフェース105、およびディスクインタフェース106がある。
ホストインタフェース101は、ネットワーク12を介してホスト11との間でデータの送受信をおこなう。
HDD104は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しをおこなう。HDD104は、CM100の補助記憶装置として使用される。HDD104には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
機器接続インタフェース105は、CM100に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース105には、図示しないメモリ装置やメモリリーダライタを接続することができる。メモリ装置は、機器接続インタフェース105との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなう装置である。メモリカードは、たとえば、カード型の記録媒体である。
また、機器接続インタフェース105には、図示しないモニタを接続してもよい。その場合、機器接続インタフェース105は、プロセッサ102からの命令にしたがって、画像をモニタの画面に表示させるグラフィック処理機能を有する。
また、機器接続インタフェース105は、図示しないキーボードやマウスを接続してもよい。その場合、機器接続インタフェース105は、キーボードやマウスから送られてくる信号をプロセッサ102に送信する。なお、マウスは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
また、機器接続インタフェース105は、図示しない光学ドライブ装置を接続してもよい。光学ドライブ装置は、レーザ光などを利用して、光ディスクに記録されたデータの読み取りをおこなう。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
ディスクインタフェース106は、1または2以上のHDD20との間でデータの送受信をおこなう。
以上のようなハードウェア構成によって、第2の実施形態のCM100の処理機能を実現することができる。なお、ホスト11、および第1の実施形態に示した制御装置1も、図4に示したCM100と同様のハードウェアにより実現することができる。
CM100は、たとえば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施形態の処理機能を実現する。CM100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、CM100に実行させるプログラムをHDD104に格納しておくことができる。プロセッサ102は、HDD104内のプログラムの少なくとも一部をRAM103にロードし、プログラムを実行する。また、CM100に実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ102からの制御により、HDD104にインストールされた後、実行可能となる。またプロセッサ102が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に、アクセス先領域リストについて図5を用いて説明する。CM100は、CM100が制御対象とするHDD20ごとにアクセス先領域リストをRAM103に記憶する。アクセス先領域リストは、第1の実施形態の診断情報6に対応する情報の1つである。図5は、第2の実施形態のアクセス先領域リストの一例を示す図である。
アクセス先領域リスト500は、項目「領域No」と、項目「ヘッド」と、項目「シリンダ」と、項目「セクタ」と、項目「アドレス」とを含む。項目「領域No」は、HDD20の診断に用いる領域を特定可能な識別情報である。項目「領域No」は、項目「領域No」に対応付けられた項目「ヘッド」と項目「シリンダ」と項目「セクタ」と項目「アドレス」とにより、具体的な記憶領域を特定可能にする。項目「領域No」によって特定される記憶領域は、HDD20の特性に応じて設定される診断領域であり、アクセス先領域リスト500は、項目「領域No」によって特定される診断領域のリストである。すなわち、診断領域のリストは、診断領域を特定可能な領域特定情報である。
なお、診断領域は、ホストI/Oがない場合におこなわれる診断(後述する第2診断処理)に用いられる記憶領域である。
項目「ヘッド」は、HDD20が備えるヘッドを特定可能な情報である。ヘッドは、ディスク面と1対1に対応することから、換言すれば、項目「ヘッド」は、データが格納されているディスク面を特定可能な情報であり、記憶領域の特定に用いられる情報の1つである。
項目「シリンダ」は、各ディスク面上の同一半径のトラックを特定可能な情報であり、換言すれば、項目「シリンダ」は、記憶領域の特定に用いられる情報の1つである。項目「セクタ」は、トラックを区分した領域であり、換言すれば、項目「セクタ」は、記憶領域の特定に用いられる情報の1つである。
項目「アドレス」は、セクタを一意に特定可能な識別情報であり、たとえば、論理セクタであり、より具体的には、LBA(Logical Block Addressing)である。CM100は、ホスト11からのI/O要求において、LBAでデータのアドレス指定をおこなうが、HDD20は、LBAに対応するCHSパラメータでデータの格納位置を特定する。
たとえば、アクセス先領域リスト500は、HDD20aに対応し、領域No「1」、領域No「2」、領域No「3」、・・・、領域No「m」を含む。すなわち、HDD20aは、領域No「1」から領域No「m」までのm(たとえば、10000)個の診断領域が設定される。領域No「1」は、論理アドレスであるアドレス「0x000122」に対応し、ヘッド「0」、シリンダ「124」、セクタ「0」によって物理アドレスが特定される。
CM100は、RAID装置13にHDD20を搭載した際に、HDD20からアクセス先領域リストを取得し、RAM103に記憶する。ここで、HDD20があらかじめ保持するアクセス先領域リストについて説明する。アクセス先領域リストは、HDD20の製造工程において、HDD20の特性に応じた診断領域が選択されて、HDD20が備えるメモリに格納される。たとえば、アクセス先領域リストは、次のようなアクセス先領域リスト作成処理によって生成される。
アクセス先領域リスト作成処理は、たとえば、HDD20の量産試験装置の制御部で実行される処理である。量産試験装置の制御部は、HDD20が備えるヘッドの本数情報を取得する。量産試験装置の制御部は、HDD20の最小アドレスのヘッド、シリンダ、セクタの情報を取得する。また、量産試験装置の制御部は、HDDの最大アドレスのヘッド、シリンダ、セクタの情報を取得する。
量産試験装置の制御部は、最大アドレスのシリンダ値から領域を等分に分割する。たとえば、制御部は、領域を10等分に分割する。量産試験装置の制御部は、分割した領域からアドレス順に、ランダムなシリンダのセクタ0相当のアドレスを取得する。量産試験装置の制御部は、取得した「アドレス−1」の領域をアクセス先領域リストに登録する。
量産試験装置の制御部は、アドレスを取得する対象となるヘッドを変更しながら、各ディスク面からアドレス情報を取得する。
このようにして、量産試験装置の制御部は、HDD20の全領域について診断領域を選択してアクセス先領域リストを生成する。
なお、量産試験装置の制御部に代えて、CM100が所要の情報を取得してアクセス先領域リストを生成するようにしてもよい。
なお、CM100が制御対象とするHDD20ごとにアクセス先領域リストを設けるとしたが、アクセス先領域リストにHDD20を特定可能な項目「HDD」を設けて、CM100が1つのアクセス先領域リストを保持するようにしてもよい。
次に、アクセス先チェックリストについて図6を用いて説明する。CM100は、CM100が制御対象とするHDD20ごとの診断の進行状態をアクセス先チェックリストとしてRAM103に記憶する。アクセス先チェックリストは、第1の実施形態の診断情報6に対応する情報の1つである。図6は、第2の実施形態のアクセス先チェックリストの一例を示す図である。
アクセス先チェックリスト510は、項目「HDD No」と、項目「領域No」とを含む。項目「HDD No」は、HDD20を特定可能な識別情報である。項目「領域No」は、HDD20の診断に用いる領域を特定可能な識別情報である。項目「HDD No」と項目「領域No」は、項目「HDD No」で特定されるHDD20について、項目「領域No」で特定される診断領域が次の診断対象となることを示す。
たとえば、アクセス先チェックリスト510は、HDD No「1」に対応するHDD20の次の診断対象となる診断領域が領域No「28」であることを示し、HDD No「2」に対応するHDD20の次の診断対象となる診断領域が領域No「7434」であることを示す。このように、アクセス先チェックリスト510は、HDD No「1」からHDD No「n」までのn個のHDD20について、それぞれの次の診断対象となる診断領域を保持する。
次に、第2の実施形態のアクセス先領域リスト取得処理について図7を用いて説明する。図7は、第2の実施形態のアクセス先領域リスト取得処理のフローチャートを示す図である。
アクセス先領域リスト取得処理は、HDD20からアクセス先領域リストを取得して、アクセス先チェックリストを生成する処理である。アクセス先領域リスト取得処理は、RAID装置13へのHDD20の搭載を検出してCM100が実行する処理である。
[ステップS11]CM100は、HDD20の認識処理を実行し、制御対象となるHDD20を検出する。
[ステップS12]CM100は、制御対象として検出したHDD20の診断に用いるメモリエリアをRAM103上に設ける。
[ステップS13]CM100は、制御対象として検出したHDD20からアクセス先領域リストを取得する。CM100は、取得したアクセス先領域リストをRAM103に格納する。
[ステップS14]CM100は、制御対象として検出したHDD20にHDD Noを付与する。
[ステップS15]CM100は、制御対象として検出したHDD20のすべてからアクセス先領域リストを取得したか否かを判定する。CM100は、制御対象として検出したHDD20のすべてからアクセス先領域リストを取得した場合にステップS16にすすみ、制御対象として検出したHDD20のすべてからアクセス先領域リストを取得していない場合にステップS12にすすむ。
[ステップS16]CM100は、HDD20から取得したアクセス先領域リストにもとづいてアクセス先チェックリストを生成する。CM100は、生成したアクセス先チェックリストをRAM103に格納して、アクセス先領域リスト取得処理を終了する。
なお、アクセス先領域リスト取得処理は、RAID装置13の起動時に実行されるものであってもよいし、その他必要に応じて実行されるものであってもよい。
次に、第2の実施形態の診断契機判定処理について図8を用いて説明する。図8は、第2の実施形態の診断契機判定処理のフローチャートを示す図である。
診断契機判定処理は、第1診断処理と第2診断処理を含む診断処理の実行契機を判定する処理である。診断契機判定処理は、アクセス先領域リスト取得処理の実行後に、CM100が実行する処理である。
[ステップS21]CM100は、所定時間内にホスト11から書込要求を受信したか否かの判定に用いるタイマを起動する。たとえば、タイマ値は、あらかじめ5秒を設定するが、RAID13の環境に応じて設定変更可能であってもよいし、RAID13やHDD20の負荷に応じて可変であってもよい。
[ステップS22]CM100は、書込要求の受信の有無を判定する。CM100は、書込要求の受信がある場合にステップS23にすすみ、書込要求の受信がない場合にステップS25にすすむ。
[ステップS23]CM100は、第1診断処理を実行する。第1診断処理は、書込要求の受信がある場合におこなうHDD20の診断処理である。第1診断処理の詳細は、図9を用いて後で説明する。
[ステップS24]CM100は、タイマをリセットしてステップS22にすすむ。なお、CM100は、第1診断処理の実行後である場合にタイムアップ時間を第1の時間(たとえば、5秒)にセットし、第2診断処理の実行後である場合にタイムアップ時間を第2の時間(たとえば、500ミリ秒)にセットする。これにより、CM100は、書込要求の受信がない場合により多くの第2診断処理を実行することができ、ヘッドの異常を速やかに検出することができる。
[ステップS25]CM100は、タイマのタイムアップを監視する。CM100は、タイマがタイムアップした場合にステップS26にすすみ、タイマがタイムアップしていない場合にステップS22にすすみ、書込要求の受信を待つ。
[ステップS26]CM100は、第2診断処理を実行する。第2診断処理は、書込要求の受信がない場合におこなうHDD20の診断処理である。第2診断処理の詳細は、図10を用いて後で説明する。CM100は、第2診断処理の実行後にステップS24にすすむ。
このように、CM100は、タイマ監視時間内にホスト11から書込要求を受信する場合に第1診断処理を実行し、タイマ監視時間内にホスト11から書込要求を受信しない場合に第2診断処理を実行する。
次に、第2の実施形態の第1診断処理について図9を用いて説明する。図9は、第2の実施形態の第1診断処理のフローチャートを示す図である。
第1診断処理は、書込要求の受信がある場合におこなうHDD20の診断処理である。第1診断処理は、診断契機判定処理のステップS23においてCM100が実行する処理である。
[ステップS31]CM100は、書込要求の対象となったRAIDグループのうちから診断対象となるHDD20を選択する。CM100は、書込要求の対象となったRAIDグループのうち、診断対象とならないHDD20についてステップS32を実行し、診断対象となるHDD20についてステップS33を実行する。
CM100は、RAIDグループを構成するHDD20についてローテーションで1台ずつを診断対象として選択する。なお、CM100は、RAIDグループを構成するHDD20について診断機会の均等化を図ることができるものであればローテーション以外の方法を用いてHDD20を選択してもよい。また、CM100は、書込要求の対象となったRAIDグループのうちから2以上のHDD20を選択対象としてもよい。
[ステップS32]CM100は、診断対象とならないHDD20に、ホストI/Oデータ(書込要求の対象となるデータ、およびパリティデータを含む)を書き込む。なお、CM100は、ホストI/Oデータを一旦キャッシュメモリに書き込むライトバックにより、ホストI/Oデータの書き込みをおこなう。この場合、CM100は、キャッシュメモリの記憶領域のうちライトバック用領域にホストI/Oデータを書き込む。
[ステップS33]CM100は、キャッシュメモリの記憶領域に、ホストI/Oデータを診断用データとして格納するためのキャッシュ書込領域を設定する。
[ステップS34]CM100は、ホストI/Oデータをキャッシュ書込領域に退避する。CM100は、ホストI/Oデータをキャッシュ書込領域に退避したことでホスト11にホストI/Oの完了応答をおこなうようにしてもよい。これにより、RAID装置13は、ホスト11に対してホストI/Oの速やかな完了応答をおこなうことができる。
[ステップS35]CM100は、キャッシュ書込領域に格納したホストI/Oデータを用いて、ホストI/Oに対応する記憶領域でHDD20にライト&ベリファイを実行させる。これにより、CM100は、ホストI/Oに対応する記憶領域にホストI/Oデータを書き込むことができる。このように、HDD20が実行するライト&ベリファイは、診断対象として選択したHDD20の診断と、ホストI/Oに対するデータの書き込みを兼ねることができる。ライト&ベリファイは、ライトパトロール、すなわちヘッド診断として機能する。
[ステップS36]CM100は、ライト&ベリファイによる診断結果が正常であるか否かを判定する。CM100は、ライト&ベリファイによる診断結果が正常である場合にステップS37にすすみ、診断結果が正常でない場合にステップS38にすすむ。
[ステップS37]CM100は、キャッシュ書込領域に格納したホストI/Oデータをクリアする。
[ステップS38]CM100は、正常でない診断結果がコンペアエラーであるか否かを判定する。CM100は、診断結果がコンペアエラーである場合にステップS39にすすみ、診断結果がコンペアエラーでない場合にステップS42にすすむ。コンペアエラーは、ライト&ベリファイにおいて書き込みをおこなったデータと、読出しをおこなったデータとを比較して、両者の不一致を検出したエラーである。
[ステップS39]CM100は、データリカバリをおこなう。たとえば、CM100は、キャッシュ書込領域に格納したホストI/Oデータを用いたリトライや、RAIDグループのデータとパリティデータとを用いたデータの再構築をおこなう。
[ステップS40]CM100は、データリカバリが正常に終了したか否かを判定する。CM100は、データリカバリが正常に終了した場合にステップS37にすすみ、データリカバリが正常に終了していない場合にステップS41にすすむ。
[ステップS41]CM100は、診断対象HDDの切り離しをおこなう。たとえば、CM100は、切り離し対象のHDD20に格納されているデータを、他のHDD20に退避させたり、各種管理情報を更新したり、保守端末に報知をおこなったりする。
[ステップS42]CM100は、診断結果を記録した後、第1診断処理を終了する。
このように、RAID装置13は、診断領域を別途用意することなく、HDD20の診断をおこなうことができる。RAID装置13は、診断領域を別途用意することがないことから、ユーザ領域を制約することもない。また、近時のHDDの大容量化にともない相対的に縮小する診断領域で、ヘッドが定点浮上するという問題をも解消することができる。また、RAID装置13は、ホストI/Oと独立して診断処理をおこなうものでないことから、診断処理にもとづくI/O性能の低下を抑制することができる。
次に、第2の実施形態の第2診断処理について図10を用いて説明する。図10は、第2の実施形態の第2診断処理のフローチャートを示す図である。
第2診断処理は、書込要求の受信がない場合におこなうHDD20の診断処理である。第2診断処理は、診断契機判定処理のステップS24においてCM100が実行する処理である。
[ステップS51]CM100は、RAIDグループを構成するHDD20についてローテーションで1台ずつを診断対象として選択する。CM100は、各領域をシーケンシャルに選択するなど、所定の診断スケジュールにしたがい診断対象となる領域(アクセス先)を決定する。また、CM100は、アクセス先チェックリストを参照してアクセス先となる領域を決定する。CM100は、アクセス先となる領域を決定した後、アクセス先領域リストを参照して具体的な領域を特定する。
なお、CM100は、アクセス先となる領域を決定した後、アクセス先チェックリストを更新する。たとえば、CM100は、アクセス先チェックリスト510を参照して、HDD No「1」、領域No「28」の領域をアクセス先として決定した場合、HDD No「1」の領域No「28」を「1」インクリメントして領域No「29」とする。
なお、CM100は、診断対象として選択したHDD20について、HDD20が備えるヘッドごとにアクセス先となる領域を決定してもよい。
[ステップS52]CM100は、アクセス先がアクセス先領域リストに記載されているか否かを判定する。CM100は、アクセス先がアクセス先領域リストに記載されている場合にステップS54以降の処理を実行する。一方、CM100は、アクセス先がアクセス先領域リストに記載されていない場合にステップS53の処理を実行する。すなわち、RAID装置13は、アクセス先領域リストに記載されているアクセス先についてライト&ベリファイをおこない、アクセス先領域リストに記載されていないアクセス先についてリードパトロールをおこなう。
[ステップS53]CM100は、リードパトロールによる媒体診断をおこなう。たとえば、CM100は、アクセス先からブロック単位のデータを読み出して、データに含まれるチェックコードを用いてデータを検証することにより媒体診断をおこなう。
なお、CM100は、アクセス先をユーザ領域に限定することで、アクセス先から読み出すデータをユーザデータとすることができる。これにより、CM100は、別途診断用データを用意することを要しない。
[ステップS54]CM100は、キャッシュメモリの記憶領域に、診断用データを格納するためのキャッシュ書込領域を設定する。
[ステップS55]CM100は、アクセス先から読み出したデータ(媒体データ)をキャッシュ書込領域に退避する。
[ステップS56]CM100は、キャッシュ書込領域に格納した媒体データを用いて、アクセス先となる領域でHDD20にライト&ベリファイを実行させる。これにより、CM100は、アクセス先となる領域に媒体データを書き戻すことができる。このように、HDD20が実行するライト&ベリファイは、ユーザデータを壊すことなく、また診断領域を別途設けることなく、診断対象として選択したHDD20の診断をおこなうことができる。ライト&ベリファイは、ライトパトロール、すなわちヘッド診断として機能する。
[ステップS57]CM100は、ライト&ベリファイによる診断結果が正常であるか否かを判定する。CM100は、ライト&ベリファイによる診断結果が正常である場合にステップS58にすすみ、診断結果が正常でない場合にステップS59にすすむ。
[ステップS58]CM100は、キャッシュ書込領域に格納した媒体データをクリアする。
[ステップS59]CM100は、正常でない診断結果がコンペアエラーであるか否かを判定する。CM100は、診断結果がコンペアエラーである場合にステップS60にすすみ、診断結果がコンペアエラーでない場合にステップS63にすすむ。コンペアエラーは、ライト&ベリファイにおいて書き込みをおこなったデータと、読出しをおこなったデータとを比較して、両者の不一致を検出したエラーである。
[ステップS60]CM100は、データリカバリをおこなう。たとえば、CM100は、キャッシュ書込領域に格納した媒体データを用いたリトライや、RAIDグループのデータとパリティデータとを用いたデータの再構築をおこなう。
[ステップS61]CM100は、データリカバリが正常に終了したか否かを判定する。CM100は、データリカバリが正常に終了した場合にステップS58にすすみ、データリカバリが正常に終了していない場合にステップS62にすすむ。
[ステップS62]CM100は、診断対象HDDの切り離しをおこなう。たとえば、CM100は、切り離し対象のHDD20に格納されているデータを、他のHDD20に退避させたり、各種管理情報を更新したり、保守端末に報知をおこなったりする。
[ステップS63]CM100は、診断結果を記録した後、第2診断処理を終了する。
このように、RAID装置13は、診断領域を別途用意することなく、HDD20の診断をおこなうことができる。RAID装置13は、診断領域を別途用意することがないことから、ユーザ領域を制約することもない。また、近時のHDDの大容量化にともない相対的に縮小する診断領域で、ヘッドが定点浮上するという問題をも解消することができる。また、RAID装置13は、ホストI/Oがない場合に第2診断処理をおこなうことから、診断処理にもとづくI/O性能の低下を抑制することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、制御装置1、RAID装置13が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
1 制御装置
2 記憶部
3 制御部
4 情報処理装置
5 記憶装置
6 診断情報
7 書込要求
8 ライトベリファイ処理
10 ストレージシステム
11 ホスト
12 ネットワーク
13 RAID装置
20,104 HDD
100 CM
101 ホストインタフェース
102 プロセッサ
103 RAM
105 機器接続インタフェース
106 ディスクインタフェース
500 アクセス先領域リスト
510 アクセス先チェックリスト

Claims (4)

  1. 記憶装置の診断に関する診断情報を記憶する記憶部と、
    情報処理装置から受け付けた書込要求にもとづく書込データの書込対象となる前記記憶装置が診断対象であるか否かを前記診断情報にもとづいて判定し、前記記憶装置が診断対象である場合に、前記書込要求にしたがう書込位置と書込データとを用いたライトベリファイ処理を、前記書込要求による書込処理に代えて前記記憶装置に対して実行させ、前記情報処理装置から前記書込要求を所定時間受け付けていない場合に、前記記憶装置のユーザ領域からユーザデータを読み出して、前記ユーザ領域にしたがう書込位置と前記ユーザデータとを用いた前記ライトベリファイ処理を前記記憶装置に対して実行させる制御部と、
    を備える制御装置。
  2. 前記診断情報は、前記ユーザ領域を特定可能な領域特定情報を含み、
    前記制御部は、前記領域特定情報に基づいて決定した前記ユーザ領域を対象として前記ユーザデータを用いた前記ライトベリファイ処理を前記記憶装置に対して実行させる請求項記載の制御装置。
  3. 前記制御装置は、冗長構成を有する2以上の前記記憶装置を制御対象とし、
    前記制御部は、前記書込要求にもとづく書込データの書込対象となる2以上の前記記憶装置のうちのいくつかについて、前記ライトベリファイ処理を前記記憶装置に対して実行させる請求項1記載の制御装置。
  4. コンピュータに、
    記憶部が記憶する記憶装置の診断に関する診断情報にもとづいて、情報処理装置から受け付けた書込要求にもとづく書込データの書込対象となる前記記憶装置が診断対象であるか否かを判定し、前記記憶装置が診断対象である場合に、前記書込要求にしたがう書込位置と書込データとを用いたライトベリファイ処理を、前記書込要求による書込処理に代えて前記記憶装置に対して実行させ、前記情報処理装置から前記書込要求を所定時間受け付けていない場合に、前記記憶装置のユーザ領域からユーザデータを読み出して、前記ユーザ領域にしたがう書込位置と前記ユーザデータとを用いた前記ライトベリファイ処理を前記記憶装置に対して実行させる、
    処理を実行させる診断制御プログラム。
JP2014124111A 2014-06-17 2014-06-17 制御装置、および診断制御プログラム Expired - Fee Related JP6287613B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014124111A JP6287613B2 (ja) 2014-06-17 2014-06-17 制御装置、および診断制御プログラム
US14/722,308 US9343113B2 (en) 2014-06-17 2015-05-27 Control apparatus and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014124111A JP6287613B2 (ja) 2014-06-17 2014-06-17 制御装置、および診断制御プログラム

Publications (2)

Publication Number Publication Date
JP2016004592A JP2016004592A (ja) 2016-01-12
JP6287613B2 true JP6287613B2 (ja) 2018-03-07

Family

ID=54836674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014124111A Expired - Fee Related JP6287613B2 (ja) 2014-06-17 2014-06-17 制御装置、および診断制御プログラム

Country Status (2)

Country Link
US (1) US9343113B2 (ja)
JP (1) JP6287613B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6993579B2 (ja) * 2018-05-24 2022-01-13 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
JP7182936B2 (ja) * 2018-07-31 2022-12-05 キヤノン株式会社 情報処理装置
KR102227189B1 (ko) * 2020-04-03 2021-03-15 주식회사엔클라우드 서버에 장착되어 블록레벨 스토리지 및 리소스를 공유하는 모듈

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5406425A (en) * 1991-08-06 1995-04-11 R-Byte, Inc. ISO/IEC compatible digital audio tape digital data storage system with increased data transfer rate
JP2793928B2 (ja) * 1992-03-03 1998-09-03 株式会社日立製作所 記録再生装置
JPH096426A (ja) * 1995-06-20 1997-01-10 Hitachi Ltd 光ディスク装置及びその診断方法並びに診断用光ディスク媒体
US5894376A (en) * 1996-06-25 1999-04-13 Spectra Logic Corporation Apparatus and method for monitoring read/write reliability of data storage device
JP2001035096A (ja) 1999-07-19 2001-02-09 Hitachi Ltd 書き込みデータのチェック方法及びこれを用いたデータ記憶装置
JP2003228925A (ja) 2002-02-06 2003-08-15 Hitachi Ltd 磁気ディスク装置の書き込みデータ保証方法
JP4012420B2 (ja) * 2002-03-12 2007-11-21 株式会社日立製作所 磁気ディスク装置及びディスク制御装置
JP2003297025A (ja) * 2002-03-29 2003-10-17 Hitachi Ltd ディスク装置
JPWO2009040929A1 (ja) 2007-09-28 2011-01-13 東芝ストレージデバイス株式会社 記憶装置、制御方法及び制御装置
JP5821445B2 (ja) * 2011-09-09 2015-11-24 富士通株式会社 ディスクアレイ装置及びディスクアレイ装置制御方法

Also Published As

Publication number Publication date
US20150364160A1 (en) 2015-12-17
JP2016004592A (ja) 2016-01-12
US9343113B2 (en) 2016-05-17

Similar Documents

Publication Publication Date Title
JP5521794B2 (ja) 記憶装置及びその制御プログラム
US7577897B2 (en) Data integrity inspection support method for disk devices, and data integrity inspection method for disk devices
US9015434B2 (en) Storage system, and apparatus and method for controlling storage
US8756454B2 (en) Method, apparatus, and system for a redundant and fault tolerant solid state disk
CN112181298B (zh) 阵列访问方法、装置、存储设备及机器可读存储介质
US20140254343A1 (en) Peer to peer vibration mitigation
JP5488709B2 (ja) ストレージ制御装置における基準時間設定方法
US10346051B2 (en) Storage media performance management
JP6287613B2 (ja) 制御装置、および診断制御プログラム
US20200264946A1 (en) Failure sign detection device, failure sign detection method, and recording medium in which failure sign detection program is stored
US11437071B2 (en) Multi-session concurrent testing for multi-actuator drive
US20160196064A1 (en) Storage control device, control method and storage system
JP2019159437A (ja) 情報処理装置、転送制御方法および転送制御プログラム
JP6015752B2 (ja) 情報処理装置、情報処理プログラム、およびアクセス制御方法
JP4775843B2 (ja) ストレージシステム及び記憶制御方法
JP2009020703A (ja) ストレージ装置、ストレージ管理装置、ストレージ管理方法、およびストレージ管理プログラム
JPWO2008126169A1 (ja) ストレージ管理プログラム、ストレージ管理方法およびストレージ管理装置
JP5729043B2 (ja) ストレージ装置および制御装置
JP4605374B2 (ja) 記憶装置の試験方法及び装置
JP6318769B2 (ja) ストレージ制御装置、制御プログラム、および制御方法
US12282689B2 (en) Dynamic redundant array of independent disks (RAID) transformation
JP2010287019A (ja) Raid、及びこれを備えるコンピュータシステム
JP2018190192A (ja) ストレージ装置およびストレージ制御プログラム
JP2018018193A (ja) 情報処理装置および制御プログラム
CN100363903C (zh) 硬盘阵列验证方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180122

R150 Certificate of patent or registration of utility model

Ref document number: 6287613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees