JPWO2012029114A1 - 記憶媒体診断装置、記憶媒体診断方法及び記憶媒体診断プログラム - Google Patents

記憶媒体診断装置、記憶媒体診断方法及び記憶媒体診断プログラム Download PDF

Info

Publication number
JPWO2012029114A1
JPWO2012029114A1 JP2012531594A JP2012531594A JPWO2012029114A1 JP WO2012029114 A1 JPWO2012029114 A1 JP WO2012029114A1 JP 2012531594 A JP2012531594 A JP 2012531594A JP 2012531594 A JP2012531594 A JP 2012531594A JP WO2012029114 A1 JPWO2012029114 A1 JP WO2012029114A1
Authority
JP
Japan
Prior art keywords
access
diagnosis
unit
storage medium
request
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.)
Granted
Application number
JP2012531594A
Other languages
English (en)
Other versions
JP5418687B2 (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
Publication of JPWO2012029114A1 publication Critical patent/JPWO2012029114A1/ja
Application granted granted Critical
Publication of JP5418687B2 publication Critical patent/JP5418687B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

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)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

記憶媒体診断装置(1)が、記憶媒体の記憶領域に関して部分領域毎の診断結果を記憶する記憶部(11)と、上位装置からのアクセス要求に対応する領域をアクセスし、該アクセス結果を診断結果として記憶部(11)に格納する上位アクセス実行部(12)と、記憶部(11)に記憶された部分領域毎の診断結果に基づいて、次に診断すべき診断領域を特定する診断領域特定部(13)と、診断領域特定部(13)によって特定された診断領域をアクセスして診断し、該診断結果を記憶部(11)に格納する診断実行部(14)とを備えることとしたので、記憶媒体の診断時間の短縮化を図り、運用中であってもパフォーマンスの低下を抑制できる。

Description

本発明は、記憶媒体診断装置、記憶媒体診断方法及び記憶媒体診断プログラムに関する。
従来から、サーバに搭載される記憶媒体の信頼性を確保するために、定期的または不定期的に当該記憶媒体の診断が運用外に行われている。これら記憶媒体の容量は、近年、顕著に増加しているので、記憶媒体の診断がサーバの運用外に完了せず、サーバの運用中にかかる場合が多くなっている。
特開2000−339107号公報
しかしながら、記憶媒体の診断がサーバの運用中に行われると、診断時間が長時間化し、サーバにおける運用のパフォーマンスが低下するという問題があった。
開示の技術は、上記に鑑みてなされたものであって、記憶媒体の診断時間の短縮化を図り、記憶媒体を搭載するサーバの運用中であってもパフォーマンスの低下を抑制する記憶媒体診断装置などを提供することを目的とする。
本願の開示する記憶媒体診断装置は、一つの態様において、記憶媒体の記憶領域に関して部分領域毎の診断結果を記憶する記憶部と、上位装置からのアクセス要求に対応する領域をアクセスし、該アクセス結果を診断結果として前記記憶部に格納する上位アクセス実行部と、前記記憶部に記憶された部分領域毎の診断結果に基づいて、次に診断すべき診断領域を特定する診断領域特定部と、前記診断領域特定部によって特定された診断領域をアクセスして診断し、該診断結果を前記記憶部に格納する診断実行部とを備える。
本願の開示する記憶媒体診断装置の一つの態様によれば、記憶媒体の診断時間の短縮化を図り、記憶媒体を搭載するサーバの運用中であってもパフォーマンスの低下を抑制することができるという効果を奏する。
図1は、実施例1に係る記憶媒体診断装置の構成を示す機能ブロック図である。 図2は、実施例2に係る記憶媒体診断装置を搭載するサーバ装置の構成を示す機能ブロック図である。 図3は、実施例2に係るHDDカードの構成を示す機能ブロック図である。 図4は、診断条件テーブルのデータ構造の一例を示す図である。 図5は、診断領域管理テーブルのデータ構造の一例を示す図である。 図6は、実施例2に係る記憶媒体診断処理のうちメイン処理の手順を示すフローチャートである。 図7は、記憶媒体診断処理のうちアクセス異常判定処理の手順を示すフローチャートである。 図8は、記憶媒体診断処理の具体例を説明する図である。 図9は、診断アクセス単位を変更した場合の診断条件テーブルのデータ構造を示した図である。 図10は、RAID構成である場合の診断条件テーブルのデータ構造を示した図である。 図11は、診断経過期間を監視する場合の診断条件テーブルのデータ構造を示した図である。 図12は、記憶媒体診断プログラムを実行するコンピュータを示す図である。
以下に、本願の開示する記憶媒体診断装置、記憶媒体診断方法及び記憶媒体診断プログラムの実施例を図面に基づいて詳細に説明する。なお、本実施例によりこの発明が限定されるものではない。
図1は、本実施例1に係る記憶媒体診断装置1の構成を示す機能ブロック図である。図1に示すように、記憶媒体診断装置1は、記憶部11、上位アクセス実行部12、診断領域特定部13及び診断実行部14を有する。
記憶部11は、記憶媒体の記憶領域に関して部分領域毎の診断結果を記憶する。上位アクセス実行部12は、上位装置からのアクセス要求に対応する領域をアクセスし、該アクセス結果を診断結果として記憶部11に格納する。診断領域特定部13は、記憶部11に記憶された部分領域毎の診断結果に基づいて、次に診断すべき診断領域を特定する。そして、診断実行部14は、診断領域特定部13によって特定された診断領域をアクセスして診断し、該診断結果を記憶部11に格納する。
このようにして、記憶媒体診断監装置1は、上位装置からのアクセス要求に対する領域のアクセス結果を診断結果として記憶部11に格納することとした。このため、記憶媒体診断装置1は、この領域について、診断実行部14によって改めて診断することを不要とするので、運用時における診断効率を上げることができ、運用時における記憶媒体の診断時間を短縮できる。さらに、記憶媒体診断装置1は、運用時であっても記憶媒体の診断によるパフォーマンスの低下を抑制できる。
[実施例2に係るサーバ装置の構成]
図2は、本実施例2に係る記憶媒体診断装置を搭載するサーバ装置2の構成を示す機能ブロック図である。図2に示すように、サーバ装置2は、CPU(Central Processing Unit)21、メモリ22、PCI−Express(以降、PCIe)コントローラ23、PCIe−HUB24及び記憶媒体診断装置に相当するHDDカード1Aを有する。さらに、サーバ装置2は、診断すべき記憶媒体を備えるHDD(Hard Disk)25、USBコントローラ26、DISPLAYコントローラ27、LANコントローラ28及び電源29を有する。なお、サーバ装置2は、バスにPCI−Expressを採用した場合を説明したが、これに限定されるものではない。
CPU21は、種々のプログラム及び各種データを記憶するメモリ22と接続され、当該プログラムを実行する。PCIeコントローラ23は、CPU21及びメモリ22とPCIe−HUB24とを接続し、PCI−Expressインタフェースを有するバスを制御する。PCIe−HUB24は、PCI−Expressインタフェース規格のハブである。PCIe−HUB24は、HDDカード1A、USBコントローラ26、DISPLAYコントローラ27及びLANコントローラ28と、それぞれPCI−Expressインタフェースを用いて接続する。
HDDカード1Aは、HDD25に備えられた記憶媒体の記憶領域を診断し、診断期間に上位装置からLANを通じてHDD25へのアクセス要求があったとき、アクセス要求に対応する記憶領域をアクセスし、アクセス結果を診断結果とする。例えば、HDDカード1Aは、HDD25に備えられた記憶媒体の記憶領域について、予め定められた診断間隔で所定のアクセス単位ずつ診断する。そして、HDDカード1Aは、HDD25に関する診断を予め定められた診断制限期間に完了させる。HDDカード1Aは、この診断制限期間の診断期間に上位装置からアクセス要求があったとき、HDD25からアクセス要求に対応する記憶領域をアクセスしながら、このアクセスした記憶領域のアクセス結果を診断結果とする。なお、HDDカード1Aの構成及び動作については、後に詳述する。
USBコントローラ26は、USB規格のCD装置及びキーボードを制御する。DISPLAYコントローラ27は、ディスプレイを制御する。LANコントローラ28は、LANを制御する。電源29は、サーバ装置2を動作させる主電源または主電源をバックアップするバックアップ電源を指す。
[実施例2に係るHDDカードの構成]
図3は、本実施例2に係るHDDカード1Aの構成を示す機能ブロック図である。図3に示すように、HDDカード1Aは、PCIe−BUSコントローラ31、HDDコントローラ32、不揮発性メモリ33及び制御部34を有する。PCIe−BUSコントローラ31は、PCI−Expressインタフェースのバスを制御する。HDDコントローラ32は、HDD25を制御する。
不揮発性メモリ33は、電源29から給電されなくても保持されたデータを失わないメモリであり、例えば、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置を含む。さらに、不揮発性メモリ33は、診断条件テーブル41及び診断領域管理テーブル42を有する。診断条件テーブル41は、HDD25に備えられた記憶媒体を診断する際の診断条件を記憶する。診断領域管理テーブル42は、HDD25の記憶領域の最小アクセス単位で診断対象のアクセス位置を1ビットで表し、アクセス位置毎に診断済みであるか否かを記憶する。また、診断条件テーブル41及び診断領域管理テーブル42は、各HDD25に持ち、各HDD25から定期的に不揮発性メモリ33に展開される。また、診断条件テーブル41及び診断領域管理テーブル42の各内容は、上位装置からのアクセスに影響のないタイミングで、各HDD25の同一のテーブルに書き込まれる。なお、診断条件テーブル41及び診断領域管理テーブル42の詳細については、後述する。
制御部34は、HDD25における最小アクセス単位の記憶領域を順次診断し、上位装置からアクセス要求があったとき、アクセス要求に対応する記憶領域をアクセスし、アクセス結果を診断結果として診断領域管理テーブル42に格納する。さらに、制御部34は、管理テーブル初期化部50、要求取得部51、上位アクセス要求実行部52、診断要求実行部53、アクセス異常判定部54及び次診断箇所特定部55を有する。なお、制御部34は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路又はCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
管理テーブル初期化部50は、診断領域管理テーブル42を初期化する。具体的には、管理テーブル初期化部50は、診断領域管理テーブル42の全てのビット位置に、診断済みでないことを表す値を格納する。
要求取得部51は、診断要求または上位装置からのアクセス要求を取得する。例えば、要求取得部51は、予めタイマーに設定された診断間隔毎に、タイマーから診断要求を取得する。また、要求取得部51は、非同期に上位装置からのアクセス要求を取得する。
上位アクセス要求実行部52は、アクセス動作決定部52a及びアクセス実行部52bを有し、上位装置からのアクセス要求を診断として実行する。アクセス動作決定部52aは、上位装置からのアクセス要求の直前に実行されたアクセス位置から当該アクセス要求のアクセス位置までのヘッダの移動量に基づいて、当該アクセス要求に関わるアクセスの動作を決定する。具体的には、アクセス動作決定部52aは、上位装置からのアクセス要求に対して直前のアクセスが上位装置からのアクセス要求のアクセスであるか否かを判定する。そして、アクセス動作決定部52aは、直前のアクセスが上位装置からのアクセスでない、すなわち診断要求のアクセスである場合、診断要求のアクセス位置からアクセス要求のアクセス位置までのヘッダの移動量が近傍であるか否かを判定する。そして、アクセス動作決定部52aは、診断要求のアクセス位置からアクセス要求のアクセス位置までのヘッダの移動量が近傍である場合、診断要求のアクセス位置に後続するアクセス位置の診断を優先する旨を決定する。すなわち、アクセス動作決定部52aは、直前のアクセス位置からアクセス要求のアクセス位置までが近傍であれば、診断を優先しても上位装置からのアクセス要求に影響がないと判断し、アクセス要求の実行前に診断を実行するように決定する。
また、アクセス動作決定部52aは、診断要求のアクセス位置からアクセス要求のアクセス位置までのヘッダの移動量が近傍でない場合、診断を優先しない旨を決定する。すなわち、アクセス動作決定部52aは、直前のアクセス位置からアクセス要求のアクセス位置までが近傍でなければ、診断を優先すると上位装置からのアクセス要求に影響があると判断し、アクセス要求の実行前に診断を実行しないように決定する。なお、近傍である移動量とは、例えば100LBA(Logical Block Addressing)であるが、診断を優先しても上位装置からのアクセス要求に影響がない移動量であれば良く、HDD25の種類やヘッダの性能に応じて決定される。
また、アクセス動作決定部52aは、直前のアクセスが上位装置からのアクセスである場合、直前のアクセス位置から今回のアクセス要求のアクセス位置までのヘッダの移動量が平均値以上であるか否かを判定する。そして、アクセス動作決定部52aは、直前のアクセス位置から今回のアクセス要求のアクセス位置までのヘッダの移動量が平均値以上である場合、直前のアクセス位置に後続するアクセス位置をプリフェッチする旨を決定する。ここで、「プリフェッチ」とは、上位装置からのアクセス要求のタイミングで当該アクセス要求に対するアクセスをしながら、未だ診断されていないアクセス位置を予め診断することをいう。すなわち、直前のアクセス位置からアクセス要求のアクセス位置までの移動量が平均値以上であれば、シーク時間が平均より長期となるので、アクセス要求のアクセス時間におけるプリフェッチのアクセス時間の割合が比較的小さくなる。このため、アクセス動作決定部52aは、アクセス要求に影響が小さいと判断し、アクセス要求の実行前にプリフェッチを実行するように決定する。
また、アクセス動作決定部52aは、直前のアクセス位置から今回のアクセス要求のアクセス位置までのヘッダの移動量が平均値未満である場合、プリフェッチしない旨を決定する。すなわち、直前のアクセス位置からアクセス要求のアクセス位置までの移動量が平均値未満であれば、シーク時間が平均より短期となるので、アクセス要求のアクセス時間におけるプリフェッチのアクセス時間の割合が比較的大きくなる。このため、アクセス動作決定部52aは、アクセス要求に影響が大きいと判断し、アクセス要求の実行前にプリフェッチを実行しないように決定する。なお、平均値である移動量とは、例えば1000LBAであるが、プリフェッチをしても上位装置からのアクセス要求に影響がない移動量であれば良く、HDD25の種類やヘッダの性能に応じて決定される。
アクセス実行部52bは、アクセス動作決定部52aによって決定された、上位装置からのアクセス要求に対するアクセス動作に基づき、HDD25へアクセスする。具体的には、アクセス実行部52bは、直前のアクセスが診断要求のアクセスであって、診断を優先する旨の決定である場合、診断要求のアクセス位置に後続するアクセス位置の診断を実行する。さらに、アクセス実行部52bは、診断実行後、上位装置からのアクセス要求のアクセス位置をアクセスする。このアクセスのアクセス結果は、診断結果として用いられる。また、アクセス実行部52bは、直前のアクセスが診断要求のアクセスであって、診断を優先しない旨の決定である場合、上位装置からのアクセス要求のアクセス位置をアクセスする。このアクセスのアクセス結果は、診断結果として用いられる。
また、アクセス実行部52bは、直前のアクセスが上位装置からのアクセスであって、プリフェッチする旨の決定である場合、直前のアクセス位置に後続するアクセス位置のプリフェッチを実行する。そして、アクセス実行部52bは、プリフェッチ実行後、上位装置からのアクセス要求のアクセス位置をアクセスする。これらプリフェッチ及びアクセスの結果は、診断結果として用いられる。また、アクセス実行部52bは、直前のアクセスが上位装置からのアクセスであって、プリフェッチしない旨の決定である場合、上位装置からのアクセス要求のアクセス位置をアクセスする。このアクセスのアクセス結果は、診断結果として用いられる。
診断要求実行部53は、診断条件テーブル41を用いて、診断対象であるアクセス位置を診断する。ここで、診断条件テーブル41のデータ構造について、図4を参照して説明する。図4は、診断条件テーブルのデータ構造の一例を示す図である。図4に示すように、診断条件テーブル41は、HDD25の識別番号41a毎に、診断制限期間41b、診断周期41c、診断アドレスカウンタ41d、診断間隔41eを対応付けて記憶する。さらに、診断条件テーブル41は、HDD25の識別番号41a毎に、診断アクセス単位41f、診断優先範囲41g、プリフェッチ数41h及びプリフェッチ起動シーク距離41iを対応付けて記憶する。
HDD25の識別番号41aは、HDDコントローラ32と接続する、診断対象のHDD25毎に一意に付された番号を示す。診断制限期間41bは、HDD25における診断対象の記憶領域を診断する制限期間を示す。診断周期41cは、HDD25における診断周期を示す。診断アドレスカウンタ41dは、次に診断すべきHDD25のアクセス位置に対応させたカウンタを示す。診断アドレスカウンタ41dのカウンタ値は、診断領域管理テーブル42のビット位置に対応する。診断間隔41eは、診断制限期間41bに1回に実施される診断の診断間隔を示す。1回に実施される診断箇所は、診断アドレスカウンタ41dに示されるカウンタに対応したHDD25のアクセス位置となる。
診断アクセス単位41fは、1回に実施される診断のアクセス単位を示す。診断優先範囲41gは、上位装置からのアクセス要求の前に優先して診断できるシーク距離の範囲を示す。例えば、診断優先範囲41gは、近傍と認められる移動量を示す。プリフェッチ数41hは、1回にプリフェッチする際のアクセス単位を示す。プリフェッチ数41hは、診断アクセス単位41fと同一となることが望ましい。プリフェッチ起動シーク距離41iは、上位装置からのアクセス要求の前にプリフェッチできるシーク距離の範囲を示す。例えば、プリフェッチ起動シーク距離41iは、ヘッダの平均移動量を示す。
例えば、診断制限期間41bには、2週間を示す「2week」が記憶される。診断周期41cには、3週間を示す「3week」が記憶される。診断アドレスカウンタ41dには、次に診断が実施されるアクセス位置に対応する、診断領域管理テーブル42のビット位置「2」が記憶される。診断間隔41eには、「5分」が記憶される。診断アクセス単位41fには、「10LBA」が記憶される。診断優先範囲41gには、「100LBA以内」が記憶される。プリフェッチ数41hには、「10LBA」が記憶される。プリフェッチ起動シーク距離41iには、「1000LBA以上」が記憶される。
図3に戻って、具体的には、診断要求実行部53は、要求取得部51によって取得された要求が診断要求である場合、診断アドレスカウンタ41dに示されるカウンタに対応したHDD25のアクセス位置を診断する。
アクセス異常判定部54は、HDD25へのアクセスが異常であるか否かを判定し、異常であると判定される場合には、異常がある箇所を修復する。具体的には、アクセス異常判定部54は、アクセス実行部52bまたは診断要求実行部53によってアクセスされたアクセス位置のアクセスに異常があるか否かを判定する。そして、アクセス異常判定部54は、アクセスに異常がない場合には、アクセスが正常であるアクセス位置に対応する、診断領域管理テーブル42のビット位置に、診断済みであることを表す値を格納する。そして、アクセス異常判定部54は、アクセスに異常がある場合には、訂正可能な異常であるか否かを判定する。アクセス異常判定部54は、訂正可能な異常である場合には、予め埋め込まれたECCコードを用いて、読み出したデータを訂正し、訂正後のデータを同一箇所に書き込む。また、アクセス異常判定部54は、訂正不能な異常である場合には、予め定めたリトライ数を限度として、異常箇所が正常となるまで読み出しを繰り返す。そして、アクセス異常判定部54は、異常箇所が正常となった場合には、異常箇所が正常となったアクセス位置に対応する、診断領域管理テーブル42のビット位置に、診断済みであることを表す値を格納する。また、アクセス異常判定部54は、異常箇所が正常とならなかった場合には、異常に対応するエラー処理を実行する。なお、訂正可能な異常とは、例えばソフトエラー、記憶媒体の劣化、環境温度、振動やノイズによってビット化けが発生するような異常を指す。
次診断箇所特定部55は、次に診断要求によって診断される診断箇所を特定する。具体的には、次診断箇所特定部55は、診断アドレスカウンタ41dに対応したアクセス位置を診断した場合には、診断領域管理テーブル42に基づいて診断アドレスカウンタ41dに示されるカウンタをカウントアップする。すなわち、次診断箇所特定部55は、カウントアップされたカウンタが指す、診断領域管理テーブル42のビット位置が診断済みであるとき、診断済みでないビット位置までカウンタをカウンタアップする。
また、次診断箇所特定部55は、上位装置からのアクセス要求に対応したアクセスまたはプリフェッチによるアクセスをした場合には、診断領域管理テーブル42に基づいて診断アドレスカウンタ41dに示されるカウンタを調整する。すなわち、次診断箇所特定部55は、アクセス位置が診断アドレスカウンタ41dに示されるカウンタに相当する場合、診断済みと判断し、診断済みでないビット位置までカウンタをカウントアップする。
次に、診断領域管理テーブル42のデータ構造について、図5を参照して説明する。図5は、診断領域管理テーブルのデータ構造の一例を示す図である。図5に示すように、診断領域管理テーブル42は、1ビット毎に、診断済みであるか否かを表す値を対応付けて記憶する。ここでは、診断済みである場合には、「0」が記憶され、診断済みでない場合には、「1」が記憶される。
また、各ビットは、HDD25の診断対象のアクセス位置を対応させたビットとなる。そして、診断アドレスカウンタ41dに示されるカウンタは、診断領域管理テーブル42のビット位置を表すこととなる。
[実施例2に係る記憶媒体診断処理の手順]
次に、記憶媒体診断処理の手順を、図6および図7を参照して説明する。図6は、記憶媒体診断処理のうちメイン処理の手順を示し、図7は、記憶媒体診断処理のうちアクセス異常判定処理の手順を示す。図6は、実施例2に係る記憶媒体診断処理のうちメイン処理の手順を示すフローチャートである。
まず、管理テーブル初期部50は、診断領域管理テーブル42を初期化する(ステップS11)。具体的には、管理テーブル初期化部50は、診断領域管理テーブル42の全てのビット位置に、診断済みでないことを表す値(例えば「1」)を格納する。そして、要求取得部51は、上位装置からのアクセス要求または診断要求が有るか否かを判定する(ステップS12)。なお、上位装置からのアクセス要求は、上位装置から非同期に取得される。診断要求は、予めタイマーに設定された診断間隔毎に、タイマーから取得される。
要求取得部51によって上位装置からのアクセス要求または診断要求が無いと判定された場合(ステップS12;No)、要求取得部51は、判定処理を繰り返すためにステップS12に移行する。一方、要求取得部51によって上位装置からのアクセス要求または診断要求が有ると判定された場合(ステップS12;Yes)、要求取得部51は、上位装置からのアクセス要求であるか否かを判定する(ステップS13)。
要求取得部51によって上位装置からのアクセス要求でないと判定された場合(ステップS13;No)、診断要求実行部53は、HDD25について、診断アドレスカウンタ41dに対応したアクセス位置を診断する(ステップS14)。そして、診断要求実行部53は、ステップS31に移行する。
一方、要求取得部51によって上位装置からのアクセス要求であると判定された場合(ステップS13;Yes)、アクセス動作決定部52aは、直前のアクセスが上位装置からのアクセス要求のアクセスであるか否かを判定する(ステップS15)。直前のアクセスが上位装置からのアクセス要求のアクセスでない場合(ステップS15;No)、アクセス動作決定部52aは、上位装置からのアクセス要求のアクセス位置が診断アドレスカウンタ41dに対して100LBA以内か否かを判定する(ステップS16)。すなわち、アクセス動作決定部52aは、直前の診断要求のアクセス位置からアクセス要求のアクセス位置までのヘッダの移動量が近傍であるか否かを判定する。
上位装置からのアクセス要求のアクセス位置が診断アドレスカウンタ41dに対して100LBA以内である場合(ステップS16;Yes)、アクセス動作決定部52aは、診断要求のアクセス位置に後続するアクセス位置の診断を優先する旨を決定する。すなわち、アクセス動作決定部52aは、診断を優先しても上位装置からのアクセス要求に影響がないと判断する。そして、アクセス実行部52bは、診断アドレスカウンタ41dに対応したアクセス位置を診断し(ステップS17)、その後、上位装置からのアクセス要求のアクセス位置をアクセスする(ステップS18)。
上位装置からのアクセス要求のアクセス位置が診断アドレスカウンタ41dに対して100LBAを超える場合(ステップS16;No)、アクセス動作決定部52aは、診断を優先しない旨を決定する。すなわち、アクセス動作決定部52aは、診断を優先すると上位装置からのアクセス要求に影響があると判断する。そして、アクセス実行部52bは、上位装置からのアクセス要求のアクセス位置をアクセスすべく、ステップS18に移行する。
そして、直前のアクセスが上位装置からのアクセス要求のアクセスである場合(ステップS15;Yes)、アクセス動作決定部52aは、上位装置からのアクセス要求が直前のアクセスに対して1000LBA以上か否かを判定する(ステップS19)。すなわち、アクセス動作決定部52aは、直前のアクセス位置から今回のアクセス要求のアクセス位置までのヘッダの移動量が平均値以上であるか否かを判定する。
上位装置からのアクセス要求が直前のアクセスに対して1000LBA以上である場合(ステップS19;Yes)、アクセス動作決定部52aは、直前のアクセス位置に後続するアクセス位置をプリフェッチする旨を決定する。すなわち、アクセス動作決定部52aは、プリフェッチしても上位装置からのアクセス要求に影響がないと判断する。そして、アクセス実行部52bは、直前のアクセス位置に後続するアクセス位置のプリフェッチを実行する(ステップS20)。その後、アクセス実行部52bは、上位装置からのアクセス要求のアクセス位置をアクセスする(ステップS21)。
上位装置からのアクセス要求が直前のアクセスに対して1000LBA未満である場合(ステップS19;No)、アクセス動作決定部52aは、プリフェッチしない旨を決定する。すなわち、アクセス動作決定部52aは、プリフェッチすると上位装置からのアクセス要求に影響があると判断する。そして、アクセス実行部52bは、上位装置からのアクセス要求のアクセス位置をアクセスすべく、ステップS21に移行する。
次に、図7は、実施例2に係る記憶媒体診断処理のうちアクセス異常判定処理の手順を示すフローチャートである。
まず、アクセス異常判定部54は、アクセス実行部52bまたは診断要求実行部53によるアクセス位置のアクセスが正常に完了したか否かを判定する(ステップS31)。アクセス異常判定部54によってアクセスが正常に完了したと判定される場合(ステップS31;Yes)、アクセス異常判定部54は、正常に完了したアクセス位置の診断完了指示を通知する(ステップS32)。そして、アクセス異常判定部54は、診断完了指示があったアクセス位置に対応する、診断領域管理テーブル42のビット位置に、診断済みであることを表す値(例えば「0」)を格納する。
アクセス異常判定部54によってアクセスが正常に完了しなかったと判定される場合(ステップS31;No)、アクセス異常判定部54は、訂正可能な異常であるか否かを判定する(ステップS33)。アクセス異常判定部54によって訂正可能な異常であると判定された場合(ステップS33;Yes)、アクセス異常判定部54は、例えばECCコードを用いて読み出したデータを訂正し、訂正後のデータを対象箇所に再び書き込む(ステップS34)。そして、アクセス異常判定部54は、ステップS39に移行する。
アクセス異常判定部54によって訂正可能な異常でないと判定された場合(ステップS33;No)、アクセス異常判定部54は、訂正不能な異常であるか否かを判定する(ステップS35)。アクセス異常判定部54によって訂正不能な異常でないと判定された場合(ステップS35;No)、アクセス異常判定部54は、異常原因に対応するエラー処理を行い、処理を終了する。
一方、アクセス異常判定部54によって訂正不能な異常であると判定された場合(ステップS35;Yes)、アクセス異常判定部54は、対象箇所を再び読み出す(ステップS36)。そして、アクセス異常判定部54は、予め定められたリトライ数を超えているか否かを判定する(ステップS37)。アクセス異常判定部54によってリトライ数を超えていない場合(ステップS37;No)、ステップS31に移行する。一方、アクセス異常判定部54によってリトライ数を超えている場合(ステップS37;Yes)、アクセス異常判定部54は、対象箇所を診断異常LBAとして登録する(ステップS38)。
続いて、次診断箇所特定部55は、診断領域管理テーブル42上、全ての診断が完了したか否かを判定する(ステップS39)。具体的には、次診断箇所特定部55は、診断領域管理テーブル42の全てのビットが診断済みであることを表す値(例えば「0」)であるか否かを判定する。
全ての診断が完了したと判定された場合(ステップS39;Yes)、次診断箇所特定部55は、タイマーに次の診断周期まで休止する旨を通知する(ステップS40)。一方、全ての診断が完了していないと判定された場合(ステップS39;No)、次診断箇所特定部55は、診断領域管理テーブル42に基づいて診断アドレスカウンタ41dの値を特定する。
すなわち、次診断箇所特定部55は、診断アドレスカウンタ41dに対応したアクセス位置が診断された場合には、診断領域管理テーブル42に基づいて診断アドレスカウンタ41dに示されるカウンタをカウントアップする(ステップS41)。なお、次診断箇所特定部55は、カウンタアップされたカウンタが指す、診断領域管理テーブル42のビット位置が診断済みであるとき、診断済みでないビット位置までカウンタをカウンタアップする。
そして、次診断箇所特定部55は、アクセス要求に対応したアクセスまたはプリフェッチによるアクセスがされた場合には、診断領域管理テーブル42に基づいて診断アドレスカウンタ41dに示されるカウンタを調整する(ステップS42)。なお、次診断箇所特定部55は、アクセス位置が診断アドレスカウンタ41dに示されるカウンタに相当するとき、診断済みと判断し、診断済みでないビット位置までカウンタをカウントアップする。
続いて、アクセス異常判定部54は、診断領域管理テーブル42を更新する(ステップS43)。そして、アクセス異常判定部54は、診断を終了した期間が診断制限期間41bである2週間を超えた場合、診断超過であることを上位装置に通知する(ステップS44)。そして、アクセス異常判定部54は、次の診断要求または上位装置からのアクセス要求を取得すべく、ステップS12に移行する。
次に、診断領域管理テーブル42及び診断アドレスカウンタ41dに着目して、記憶媒体診断処理の具体例を、図8を参照して説明する。図8は、記憶媒体診断処理の具体例を説明する図である。なお、説明の便宜上、診断領域管理テーブル42のビットには、診断済みでないことを表す値(例えば「1」)に代えて、「未診断ビット」として白抜きで表すものとする。また、診断済みであることを表す値(例えば「0」)に代えて、「診断要求による診断済みビット」として黒抜き、「上位装置からのアクセス要求による診断済みビット」として斜め線、「プリフェッチによる診断済みビット」として縦線で表すものとする。
まず、管理テーブル初期部50は、診断領域管理テーブル42及び診断アドレスカウンタ41dを初期化する。ここでは、管理テーブル初期部50は、診断領域管理テーブル42に未診断ビットを格納し、診断アドレスカウンタ41dに「0」を格納する。
タイマーから診断間隔で診断要求が起動されると(J1)、診断要求実行部53は、診断アドレスカウンタ41dに示される「0」に対応したHDD25のアクセス位置を診断する。そして、アクセス異常判定部54は、アクセスが正常である場合、診断領域管理テーブル42について、診断アドレスカウンタ41dに示される「0」に対応したビット位置に、「診断要求による診断済みビット」を格納する。そして、次診断箇所特定部55は、診断アドレスカウンタ41dの値をカウントアップし、この値を「1」に設定する。
続いて、タイマーから診断間隔で診断要求が起動されると(J2)、診断要求実行部53は、診断アドレスカウンタ41dに示される「1」に対応したHDD25のアクセス位置を診断する。そして、アクセス異常判定部54は、アクセスが正常である場合、診断領域管理テーブル42について、診断アドレスカウンタ41dに示される「1」に対応したビット位置に、「診断要求による診断済みビット」を格納する。そして、次診断箇所特定部55は、診断アドレスカウンタ41dの値をカウントアップし、この値を「2」に設定する。
ここで、タイマーから診断間隔で診断要求が起動されると(J3)、診断要求実行部53は、診断アドレスカウンタ41dに示される「2」に対応したHDD25のアクセス位置を診断する。そして、アクセス異常判定部54は、アクセスが正常である場合、診断領域管理テーブル42について、診断アドレスカウンタ41dに示される「2」に対応したビット位置に、「診断要求による診断済みビット」を格納する。そして、次診断箇所特定部55は、診断アドレスカウンタ41dの値をカウントアップし、この値を「3」に設定する。
また、診断アドレスカウンタ41dの値が「2」であるとき、診断間隔以内に上位装置からアクセス要求がされたものとする。このとき、上位装置からのアクセス要求のアクセス位置が、診断アドレスカウンタ41dに示される「2」に対応したアクセス位置に対して100LBA以内であるとする(J4)。アクセス動作決定部52aは、診断要求のアクセス位置に後続するアクセス位置の診断を優先する旨を決定する。そして、アクセス実行部52bは、診断アドレスカウンタ41dに示される「2」に対応したアクセス位置を診断し、その後、上位装置からのアクセス要求のアクセス位置をアクセスする。そして、アクセス異常判定部54は、アクセスが正常である場合、診断領域管理テーブル42について、診断アドレスカウンタ41dに示される「2」に対応したビット位置に、「診断要求による診断済みビット」を格納する。さらに、アクセス異常判定部54は、上位装置からのアクセス要求に対応したビット位置に、「上位装置からのアクセス要求による診断済みビット」を格納する。そして、次診断箇所特定部55は、診断アドレスカウンタ41dの値をカウントアップし、この値を「3」に設定する。
一方、診断アドレスカウンタ41dの値が「2」であるとき、診断間隔以内に上位装置からアクセス要求がされたものとする。このとき、上位装置からのアクセス要求のアクセス位置が、診断アドレスカウンタ41dに示される「2」に対応したアクセス位置に対して100LBAを超えるとする(J5)。アクセス動作決定部52aは、診断を優先しない旨を決定する。そして、アクセス実行部52bは、上位装置からのアクセス要求のアクセス位置をアクセスする。そして、アクセス異常判定部54は、アクセスが正常である場合、診断領域管理テーブル42について、上位装置からのアクセス要求に対応したビット位置に、「上位装置からのアクセス要求による診断済みビット」を格納する。
続いて、診断間隔以内に上位装置からアクセス要求が連続してされたものとする。このとき、上位装置からのアクセス要求のアクセス位置が、直前のアクセス位置に対して1000LBA以上であるとする(J6)。アクセス動作決定部52aは、直前のアクセス位置に後続するアクセス位置をプリフェッチする旨を決定する。そして、アクセス実行部52bは、直前のアクセス位置に後続するアクセス位置のプリフェッチを実行し、その後、上位装置からのアクセス要求のアクセス位置をアクセスする。そして、アクセス異常判定部54は、アクセスが正常である場合、診断領域管理テーブル42について、プリフェッチを実行したアクセス位置に対応したビット位置に、「プリフェッチによる診断済みビット」を格納する。そして、アクセス異常判定部54は、診断領域管理テーブル42について、上位装置からのアクセス要求に対応したビット位置に、「上位装置からのアクセス要求による診断済みビット」を格納する。
一方、上位装置からのアクセス要求のアクセス位置が、直前のアクセス位置に対して1000LBA未満であるとする(J7)。アクセス動作決定部52aは、プリフェッチしない旨を決定する。そして、アクセス実行部52bは、上位装置からのアクセス要求のアクセス位置をアクセスする。そして、アクセス異常判定部54は、アクセスが正常である場合、診断領域管理テーブル42について、上位装置からのアクセス要求に対応したビット位置に、「上位装置からのアクセス要求による診断済みビット」を格納する。
[実施例2の効果]
上記実施例2によれば、診断領域管理テーブル42は、HDD25の記憶領域の最小アクセス単位毎の診断結果を記憶する。そして、上位アクセス要求実行部52は、上位装置からのアクセス要求が取得されると、当該アクセス要求を診断として実行し、アクセス異常判定部54に、診断済みであることを診断領域管理テーブル42に格納させる。そして、次診断箇所特定部55は、診断領域管理テーブル42に記憶された診断結果に基づいて、次に診断すべき診断領域を特定する。そして、診断要求実行部53は、次診断特定部55によって特定された診断領域をアクセスして診断し、アクセス異常判定部54に、診断済みであることを診断領域管理テーブル42に格納させる。かかる構成によれば、上位アクセス要求実行部52は、上位装置からのアクセス要求を診断として実行し、診断済みであることを診断領域管理テーブル42に格納させることとした。このため、上位アクセス要求実行部52は、このアクセス要求に関する記憶領域について改めて診断することを不要とするので、運用時における診断効率を上げることができる。また、上位アクセス要求実行部52は、運用時における記憶媒体の診断時間を短縮できる。さらに、記憶媒体診断装置1は、運用時であっても記憶媒体の診断によるパフォーマンスの低下を抑制できる。
また、上記実施例2によれば、アクセス動作決定部52aは、上位装置からのアクセス要求の直前に実行されたアクセス位置から当該アクセス要求のアクセス位置までのヘッダの移動量に基づいて、当該アクセス要求に関わるアクセスの動作を決定する。そして、アクセス実行部52bは、アクセス動作決定部52aによって決定されたアクセスの動作に基づいて、HDD25へアクセスする。かかる構成によれば、アクセス動作決定部52aは、上位装置からのアクセス要求のアクセス位置までのヘッダの移動量に基づいて、当該アクセス要求に関わるアクセスの動作を決定することとした。このため、アクセス動作決定部52aは、上位装置からのアクセス性能の低下を抑制するようなアクセスの動作を決定することが可能となる。
また、上記実施例2によれば、アクセス動作決定部52aは、アクセス要求の直前の診断要求のアクセス位置からアクセス要求のアクセス位置までのヘッダの移動量が近傍である場合、診断要求のアクセス位置の後続を優先して診断する旨を決定する。かかる構成によれば、アクセス動作決定部52aは、ヘッダの移動量が近傍であれば、診断要求のアクセス位置の後続を優先して診断しても上位装置からのアクセス性能に影響が小さいので、運用時における診断効率を上げることができる。そして、アクセス動作決定部52aは、HDD25の診断時間を短縮できることとなる。
また、上記実施例2によれば、アクセス動作決定部52aは、今回のアクセス要求の直前のアクセス要求のアクセス位置から今回のアクセス要求のアクセス位置までのヘッダの移動量が平均値以上の場合、直前のアクセス位置の後続を予め診断する旨を決定する。かかる構成によれば、アクセス動作決定部52aは、ヘッダの移動量が平均値以上であれば、直前のアクセス位置の後続を予め診断しても上位装置からのアクセス性能に影響が小さいので、運用時における診断効率を上げることができる。また、アクセス動作決定部52aは、HDD25の診断時間を短縮できる。
ところで、実施例2では、診断領域管理テーブル42は、HDD25の記憶領域の最小アクセス単位を1ビットで表すものとした。しかしながら、診断領域管理テーブル42は、これに限定されず、HDD25の記憶領域の最小アクセス単位の整数倍のアクセス単位を1ビットで表すものとしても良い。この場合、診断要求実行部53は、診断条件テーブル41を用いて、HDD25の記憶領域のうち最小アクセス単位の整数倍の診断アクセス単位41fの領域をアクセスして診断するようにする。
図9は、診断アクセス単位を変更した場合の診断条件テーブル41のデータ構造を示した図である。図9に示すように、診断アクセス単位41fには、最小アクセス単位である10LBAの2倍の「20LBA」が記憶されている。
そして、アクセス異常判定部54は、当該領域が診断済みであることを診断領域管理テーブル42に格納する。これにより、診断領域管理テーブル42は、記憶容量を削減できるとともに、HDD25の記憶領域の診断時間を短縮できる。また、アクセス実行部52bは、上位装置からのアクセス要求に対応する領域が診断アクセス単位41fより小さい場合、当該領域を含んだ診断アクセス単位41f分の記憶領域をアクセスするようにする。これにより、アクセス実行部52bは、上位装置からのアクセス要求に対応する領域を超えて記憶領域を予め診断できることとなるので、HDD25の記憶領域の診断時間を短縮できる。
また、実施例2では、診断要求実行部53は、HDD25に備えられた記憶媒体の記憶領域を診断するものとした。しかしながら、診断要求実行部53は、HDD25がRAID構成であっても良く、RAID構成の記憶媒体の記憶領域を診断するものとしても良い。この場合、診断要求実行部53は、RAID構成の特性により規定される冗長部分の記憶媒体を優先的に診断するようにする。これにより、診断要求実行部53は、冗長部分の記憶媒体を用いて診断するので、記憶媒体の記憶領域の診断を効率化することができる。
図10は、RAID構成である場合の診断条件テーブル41のデータ構造を示した図である。図10に示すように、診断アクセス単位41f及びプリフェッチ数41hには、ストライプ長の10倍のアクセス単位が記憶されている。
また、実施例2では、次診断箇所特定部55は、診断を終了した期間が診断制限期間41bである2週間を超えた場合、診断超過であることを上位装置に通知するものとした。しかしながら、次診断箇所特定部55は、診断経過期間及び記憶領域の診断残容量を監視するようにし、診断経過期間に記憶領域の診断が完了するように診断アクセス単位を調整するようにしても良い。
図11は、診断経過期間を監視する場合の診断条件テーブル41のデータ構造を示した図である。図11に示すように、診断経過期間41k及び診断残容量41lが追加された。次診断箇所特定部55は、診断経過期間41kが診断制限期間41bに近くなってきたら、診断残容量41lに応じて、診断アクセス単位41f及びプリフェッチ数41hを調整する。さらに、次診断箇所特定部55は、診断間隔41eを調整するようにしても良い。
また、実施例2では、要求取得部51は、診断要求及び上位装置からのアクセス要求を同時に取得する場合がある。かかる場合であっても、アクセス動作決定部52aは、上位装置からのアクセス要求の直前に実行されたアクセス位置から当該アクセス要求のアクセス位置までのヘッダの移動量に基づいて、当該アクセス要求に関わるアクセスの動作を決定すれば良い。そして、アクセス実行部52bは、アクセス動作決定部52aによって決定されたアクセスの動作に基づいて、直前のアクセス位置に後続するアクセス位置の診断やプリフェッチを実行し、アクセス要求に対するアクセスを実行するようにする。かかる構成によれば、アクセス実行部52bは、上位装置からのアクセス要求に対するアクセスを実行しつつ、さらに診断も実行することができることとなり、診断効率の向上を図ることができる。
[プログラムなど]
なお、HDDカード1Aは、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した要求取得部51、上位アクセス要求実行部52及び診断要求実行部53などの各機能を搭載することによって実現することができる。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、上位アクセス要求実行部52とアクセス異常判定部54、診断要求実行部53とアクセス異常判定部54をそれぞれ1個の部として統合しても良い。一方、アクセス異常判定部54を、アクセス異常を判定する判定部とアクセス異常と判定された場合にアクセスされたデータを修復する修復部とに分散しても良い。また、不揮発性メモリ33をHDDカード1Aの外部装置としてPCI−Expressバスまたはネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図12を用いて、図3に示したHDDカード1Aと同様の機能を有する記憶媒体診断プログラムを実行するコンピュータの一例を説明する。
図12は、記憶媒体診断プログラムを実行するコンピュータを示す図である。図12に示すように、コンピュータ1000は、RAM(Random Access Memory)1010と、キャッシュ1020と、HDD1030と、CPU(Central Processing Unit)1040及びバス1050とを有する。RAM1010、キャッシュ1020、HDD1030、CPU1040は、バス1050によって接続されている。
そして、HDD1030には、図3に示したHDDカード1Aと同様の機能を有する記憶媒体診断プログラム1031が記憶される。また、HDD1030には、図3に示した不揮発性メモリ33内の情報(診断条件テーブル41、診断領域管理テーブル42)に対応する診断関連情報1032が記憶される。
そして、CPU1040が記憶媒体診断プログラム1031をHDD1030から読み出してRAM1010に展開することにより、記憶媒体診断プログラム1031は、記憶媒体診断プロセス1011として機能するようになる。そして、記憶媒体診断プロセス1011は、診断関連情報1032から読み出した情報等を適宜RAM1010上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
なお、上記の記憶媒体診断プログラム1031は、必ずしもHDD1030に記憶されている必要はなく、CD−ROM等の記憶媒体に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておいても良い。この場合には、コンピュータ1000がこれらからプログラムを読み出して実行する。
1 記憶媒体診断装置
1A HDDカード
2 サーバ装置
11 記憶部
12 上位アクセス実行部
13 診断領域特定部
14 診断実行部
21 CPU
22 メモリ
23 PCIeコントローラ
24 PCIe−HUB
25 HDD
26 USBコントローラ
27 DISPLAYコントローラ
28 LANコントローラ
29 電源
31 PCIe−BUSコントローラ
32 HDDコントローラ
33 不揮発性メモリ
34 制御部
41 診断条件テーブル
42 診断領域管理テーブル
51 要求取得部
52 上位アクセス要求実行部
52a アクセス動作決定部
52b アクセス実行部
53 診断要求実行部
54 アクセス異常判定部
55 次診断箇所特定部

Claims (9)

  1. 記憶媒体の記憶領域に関して部分領域毎の診断結果を記憶する記憶部と、
    上位装置からのアクセス要求に対応する領域をアクセスし、該アクセス結果を診断結果として前記記憶部に格納する上位アクセス実行部と、
    前記記憶部に記憶された部分領域毎の診断結果に基づいて、次に診断すべき診断領域を特定する診断領域特定部と、
    前記診断領域特定部によって特定された診断領域をアクセスして診断し、該診断結果を前記記憶部に格納する診断実行部と
    を有することを特徴とする記憶媒体診断装置。
  2. 前記上位アクセス実行部は、
    前記アクセス要求の直前に実行されたアクセス位置から前記アクセス要求のアクセス位置までのヘッダの移動量に基づいて、前記アクセス要求に関わるアクセスの動作を決定するアクセス動作決定部を有し、
    前記アクセス動作決定部によって決定されたアクセスの動作に基づいて、前記アクセス要求に対応する領域をアクセスすることを有することを特徴とする請求項1に記載の記憶媒体診断装置。
  3. 前記アクセス動作決定部は、
    前記アクセス要求の直前に実行されたアクセス位置が前記診断領域特定部によって特定された診断領域のアクセス位置であって、前記ヘッダ移動量が近傍である場合には、該直前に実行されたアクセス位置に後続するアクセス位置の診断を優先する旨を決定することを特徴とする請求項2に記載の記憶媒体診断装置。
  4. 前記アクセス動作決定部は、
    前記アクセス要求の直前に実行されたアクセス位置が前記アクセス要求に関わるアクセス位置であって、前記ヘッダ移動量が平均値より大きい場合には、該直前に実行されたアクセス位置に後続するアクセス位置をあらかじめ診断する旨を決定することを特徴とする請求項2に記載の記憶媒体診断装置。
  5. 前記診断実行部は、
    前記記憶領域のうち最小アクセス単位の整数倍のアクセス単位の部分領域をアクセスして診断し、当該部分領域の診断結果を前記記憶部に格納することを特徴とする請求項1に記載の記憶媒体診断装置。
  6. 前記上位アクセス実行部は、
    前記アクセス要求に対応する領域が前記アクセス単位より小さい場合、当該領域を含んだ前記アクセス単位分の記憶領域をアクセスすることを特徴とする請求項5に記載の記憶媒体診断装置。
  7. 前記診断実行部は、
    前記記憶媒体がRAID構成である場合に、前記RAID構成の特性により規定される冗長部分の記憶媒体を優先的に診断することを特徴とする請求項1に記載の記憶媒体診断装置。
  8. 記憶媒体診断装置が記憶媒体の記憶領域を診断する記憶媒体診断方法であって、
    上位装置からのアクセス要求に対応する領域をアクセスし、該アクセス結果を診断結果として、部分領域毎の診断結果を記憶する記憶部に格納する上位アクセス実行工程と、
    前記記憶部に記憶された部分領域毎の診断結果に基づいて、次に診断すべき診断領域を特定する診断領域特定工程と、
    前記診断領域特定工程によって特定された診断領域をアクセスして診断し、該診断結果を前記記憶部に格納する診断実行工程と
    を含むことを特徴とする記憶媒体診断方法。
  9. 上位装置からのアクセス要求に対応する領域をアクセスし、該アクセス結果を診断結果として、記憶媒体の記憶領域に関して部分領域毎の診断結果を記憶する記憶部に格納する上位アクセス実行手順と、
    前記記憶部に記憶された部分領域毎の診断結果に基づいて、次に診断すべき診断領域を特定する診断領域特定手順と、
    前記診断領域特定手順によって特定された診断領域をアクセスして診断し、該診断結果を前記記憶部に格納する診断実行手順と
    をコンピュータに実行させることを特徴とする記憶媒体診断プログラム。
JP2012531594A 2010-08-30 2010-08-30 記憶媒体診断装置、記憶媒体診断方法及び記憶媒体診断プログラム Active JP5418687B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/064749 WO2012029114A1 (ja) 2010-08-30 2010-08-30 記憶媒体診断装置、記憶媒体診断方法及び記憶媒体診断プログラム

Publications (2)

Publication Number Publication Date
JPWO2012029114A1 true JPWO2012029114A1 (ja) 2013-10-28
JP5418687B2 JP5418687B2 (ja) 2014-02-19

Family

ID=45772253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012531594A Active JP5418687B2 (ja) 2010-08-30 2010-08-30 記憶媒体診断装置、記憶媒体診断方法及び記憶媒体診断プログラム

Country Status (3)

Country Link
US (1) US9177669B2 (ja)
JP (1) JP5418687B2 (ja)
WO (1) WO2012029114A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8958273B1 (en) * 2013-01-24 2015-02-17 Marvell International Ltd. Disc read retry devices and methods
WO2014147816A1 (ja) * 2013-03-22 2014-09-25 株式会社 日立製作所 ストレージ装置及び記憶領域検証方法
US11264056B1 (en) * 2020-10-01 2022-03-01 Seagate Technology Llc System and method for write-retry management

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02253323A (ja) * 1989-03-28 1990-10-12 Nec Corp 磁気ディスク制御装置
JP2000339107A (ja) * 1999-05-26 2000-12-08 Nec Eng Ltd ディスクアレイ装置の媒体検査制御方法
JP2005309077A (ja) * 2004-04-21 2005-11-04 Fuji Xerox Co Ltd 故障診断方法および故障診断装置、並びに搬送装置および画像形成装置、並びにプログラムおよび記憶媒体
US8209409B2 (en) * 2007-04-09 2012-06-26 Hewlett-Packard Development Company, L.P. Diagnosis of a storage area network
WO2009001413A1 (ja) * 2007-06-22 2008-12-31 Fujitsu Limited コントローラ、ディスクパトロール方法
CN104887258B (zh) * 2010-08-27 2018-04-03 柯尼卡美能达医疗印刷器材株式会社 诊断支援系统
JP5724549B2 (ja) * 2011-03-31 2015-05-27 富士通株式会社 携帯端末装置及び自己診断方法

Also Published As

Publication number Publication date
JP5418687B2 (ja) 2014-02-19
WO2012029114A1 (ja) 2012-03-08
US9177669B2 (en) 2015-11-03
US20130166973A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
US8719531B2 (en) System and method for performing data retention that incorporates environmental conditions
US9396059B2 (en) Exchange error information from platform firmware to operating system
US9305663B2 (en) Techniques for assessing pass/fail status of non-volatile memory
WO2005066782A1 (en) Methods and apparatuses for reducing burn in within semiconductor devices utilizing static random access memory (sram)
US10339053B2 (en) Variable cache flushing
TW201626398A (zh) 測試及識別記憶體裝置之系統及方法
JP5418687B2 (ja) 記憶媒体診断装置、記憶媒体診断方法及び記憶媒体診断プログラム
JP7043598B2 (ja) ハードディスクドライブの寿命予測
JP5488709B2 (ja) ストレージ制御装置における基準時間設定方法
US11977754B2 (en) External indicators for adaptive in-field recalibration
CN113179665A (zh) 使用基于纠错的度量来识别性能不佳的数据存储设备
US8667325B2 (en) Method, apparatus and system for providing memory sparing information
JP5504604B2 (ja) Ram診断装置
JP2007293846A (ja) メモリに関する保守および調整操作を行う方法およびシステム
JP6287613B2 (ja) 制御装置、および診断制御プログラム
KR20140041408A (ko) 저장 위치 속성 및 데이터 사용량 통계에 기초하여 데이터 저장을 위한 저장 위치 선택
US11645184B2 (en) Systems and methods for predicting hard drive performance
JP7413908B2 (ja) ストレージ制御装置およびバックアップ制御プログラム
US11593209B2 (en) Targeted repair of hardware components in a computing device
US11593242B2 (en) Method of operating storage device for improving reliability, storage device performing the same and method of operating storage using the same
JP4837121B1 (ja) データ記憶装置及びデータ書き込み方法
JP5703968B2 (ja) プログラム開発支援装置およびそのプログラム
JP5678628B2 (ja) 半導体ディスク装置
JP2016126656A (ja) ストレージ制御装置,制御プログラム及び制御方法
US10943621B1 (en) Systems and methods for generating hard drive vibration thresholds

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130926

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: 20131022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131104

R150 Certificate of patent or registration of utility model

Ref document number: 5418687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150