JP4978259B2 - データ整合性チェック方法およびデータ整合性チェックシステム - Google Patents

データ整合性チェック方法およびデータ整合性チェックシステム Download PDF

Info

Publication number
JP4978259B2
JP4978259B2 JP2007075044A JP2007075044A JP4978259B2 JP 4978259 B2 JP4978259 B2 JP 4978259B2 JP 2007075044 A JP2007075044 A JP 2007075044A JP 2007075044 A JP2007075044 A JP 2007075044A JP 4978259 B2 JP4978259 B2 JP 4978259B2
Authority
JP
Japan
Prior art keywords
data
error
hard disk
consistency check
location
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
JP2007075044A
Other languages
English (en)
Other versions
JP2008234446A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007075044A priority Critical patent/JP4978259B2/ja
Publication of JP2008234446A publication Critical patent/JP2008234446A/ja
Application granted granted Critical
Publication of JP4978259B2 publication Critical patent/JP4978259B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データ整合性チェック方法およびデータ整合性チェックシステムに関し、特に、SATA(Serial ATA:Serial Advanced Technology Attachment)仕様のHDDにおけるデータ整合性チェック方法およびデータ整合性チェックシステムに関する。
HDDアレイシステムとしてのデータ整合性を常に維持するように、定期的なデータ整合性チェックを行うことが効果的であり、チェック頻度が高い程、高い効果が期待できる。このため、特許文献1にも記載されているように、従来より、HDDの全面に亘る読み出し動作つまり読み取り(Read)動作を行い、読み取り(Read)結果のチェックを実施している。現在のSerial ATA RAID(Redundant Array of Independent Disks)を構成する各HDDにおいても、データ整合性をチェックするために、定期的に、全面に亘る読み取り(Read)動作と読み出しデータの比較動作を行う機能を備えている。
特開2001−100939号公報(第2頁)
しかしながら、HDDの全面に亘る読み取り(Read)チェックは、HDDの大容量化に伴い、チェック時間が増加し続けており、また、全面に亘る読み取り(Read)チェックの実施中は、IOP(Input Output Processor)を読み取り(Read)チェック動作に振り向ける必要があるため、通常時よりも性能が低下してしまうことから、実施頻度を上昇させることができないという問題があった。
一方、HDD仕様をSATA(Serial ATA)とした場合には、SATA仕様のSMART(Self-Monitoring,Analysis,and Reporting Technology)機能としてError Logging機能を備えている。つまり、SMART機能を用いることにより、HDD側においてRead/Write動作時におけるエラー発生状況を履歴情報(SMARTエラーロギングデータ)として保存するとともに、エラー発生頻度があらかじめ定めた閾値を超えた場合には、不良セクタとして特定することができる。
しかし、SATA仕様のHDDにおいては、Reassignコマンドを搭載していないために、不良セクタを代替セクタ処理することができず、過去に発生した不良セクタが、そのまま、内在し、不良セクタへのファイルの書き込み(Write)動作が実施されてしまい、データ不整合の原因となっている。
本発明は、かかる事情に鑑みてなされたものであり、SATA仕様のHDDシステムにおけるSMART機能を活用して、SMART Error Loggingデータ(SMARTエラーロギングデータ)から過去に発生した不良セクタの記録を読み出して、不良セクタへの上書き処理を行うことによって記憶データの修復を行うとともに、書き込み(Write)動作以外ではデータ不整合が発生し得ないことから、ファイル更新つまり書き込み(Write)動作の履歴を記録して、書き込み(Write)動作の記録をトレースすることによって、HDD全面に亘る読み取り(Read)チェックやデータ照合チェックを実施することなく、書き込み(Write)動作が実施された領域に限定した読み取り(Read)チェック動作やデータの照合チェック動作を実施することにより、効果的かつ短時間に実施することが可能なデータ整合性チェック方法およびデータ整合性チェックシステムを提供することを、その目的としている。
前述の課題を解決するため、本発明によるデータ整合性チェック方法およびデータ整合性チェックシステムは、次のような特徴的な構成を採用している。
(1)SATA(Serial ATA) RAIDを構成する各ハードディスクのデータ不整合を修復するためのデータ整合性チェック方法において、RAID構成の各ハードディスクの動作を制御するSATAコントローラが、過去の書き込み動作の履歴を記録するアクセス・ログを備え、データ整合性チェック時に、前記アクセス・ログに記録された過去の書き込み動作の実施箇所に対するデータ整合性の確認を行い、不良を検出した際に、エラーのない正しいデータを生成して上書きするデータ整合性チェック方法。
(2)前記SATAコントローラは、過去の読み書き動作において発生した不良セクタの記録を前記各ハードディスクのSMART(Self-Monitoring,Analysis,and Reporting Technology)エラーロギングデータを読み取ることによって取得し、取得した前記不良セクタにエラーのない正しいデータを生成して上書きする上記(1)のデータ整合性チェック方法。
(3)各ハードディスクのRAID構成として、エラーの修復が可能なパリティ情報を付加したRAID構成からなっている場合、エラーのない正しいデータを生成する際に、付加された前記パリティ情報を用いて正しいデータを生成する上記(1)または(2)のデータ整合性チェック方法。
(4)各ハードディスクのRAID構成として、ミラーリングにより同一データを複数のハードディスクに格納するRAID構成からなっている場合、エラーのない正しいデータを生成する際に、一方のハードディスクにて発生したエラー箇所と相対する他方のハードディスクの同一箇所に格納されているデータを用いて正しいデータを生成する上記(1)または(2)のデータ整合性チェック方法。
(5)データ整合性チェックを終了した際に、前記アクセス・ログおよび/または前記SMARTエラーロギングデータを初期状態に復帰させる上記(1)ないし(4)のいずれかのデータ整合性チェック方法。
(6)SATA(Serial ATA) RAIDを構成する各ハードディスクのデータ不整合を修復するためのデータ整合性チェックシステムにおいて、RAID構成の各ハードディスクの動作を制御するSATAコントローラが、過去の書き込み動作の履歴を記録するアクセス・ログを備え、データ整合性チェック時に、前記アクセス・ログに記録された過去の書き込み動作の実施箇所に対するデータ整合性の確認を行い、不良を検出した際に、エラーのない正しいデータを生成して上書きする手段を備えているデータ整合性チェックシステム。
(7)前記SATAコントローラは、過去の読み書き動作において発生した不良セクタの記録を前記各ハードディスクのSMART(Self-Monitoring,Analysis,and Reporting Technology)エラーロギングデータを読み取ることによって取得し、取得した前記不良セクタにエラーのない正しいデータを生成して上書きする上記(6)のデータ整合性チェックシステム。
本発明のデータ整合性チェック方法およびデータ整合性チェックシステムによれば、SATA仕様のHDDシステムにおけるSMART機能を活用して、SMART Error Loggingデータ(SMARTエラーロギングデータ)から過去に発生した不良セクタの記録を読み出して、不良セクタへの上書き処理を行うことによって記憶データの修復を行うとともに、過去の書き込み(Write)動作の記録をトレースすることによって、HDD全面に亘る読み取り(Read)チェックやデータ照合チェックを実施することなく、書き込み(Write)動作が実施された領域に限定した読み取り(Read)チェック動作やデータの照合チェック動作を実施するので、以下のような効果を得ることができる。
データ整合性チェックの実施時間が、HDD容量とともに増加することはなく、システムの使用量つまり書き込み(Write)動作の実施範囲に限定され、データ整合性のチェックを効果的かつ短時間に実施することが可能となる。その結果、HDDアレイシステムとしてのデータ整合性を常に維持するために、データ整合性チェックを頻繁に実施することが可能となる。なお、データ不整合が生じる要因は、HDD内部に発生するエラーによるところが大きいことから、エラーの発生要因である稼動中の振動/衝撃や内部塵埃、媒体突起によるヘッドとの接触など、書き込み(Write)動作の実行後に生じたエラー発生箇所をトレースすることによって、特定することが可能となる。
また、稼働中に発生したエラーは、通常のエラーについては、検出され次第、修復処理されるが、ホスト000によるリトライ等の処理やHDDから応答されるエラー・ステータス(Error Status)の種類如何によっては、修復処理がなされない場合があり、データ不整合の要因の一つになってしまう。本発明においては、各HDDのシステム領域(SN=‘01’h、SC=‘01’h)に記録されているSMARTのエラー情報つまりSMART Error Loggingデータ(SMARTエラーロギングデータ)を確認することによって、過去に発生したエラー箇所を修復することが可能となる。
以下、本発明によるデータ整合性チェック方法およびデータ整合性チェックシステムの好適な実施例について添付図を参照して説明する。
(本発明の特徴)
本発明の実施例の説明に先立って、本発明の特徴について、まず、説明する。本発明は、例えばサーバシステムにおけるSerial ATA(以降SATAと呼ぶ)RAIDを構成する各ハードディスク(以降HDDと呼ぶ)の運用中に発生するデータ不整合を修復するためのデータ整合性チェックについて、その所要時間を、HDDの容量増加に比例して長時間化させることなく、HDDの使用サイズ(書き込み(Write)動作範囲)に比例させるようにし、データ整合性チェック時間を大幅に短縮することを可能とし、もって、データ整合性チェックの実施間隔の短縮化を実現可能とするものである。
(実施例の構成)
図1は、本発明のデータ整合性チェック方法を適用するHDDアレイシステムのシステム構成の一例を示すシステム構成図であり、SATA仕様のHDDを3台使用した場合のHDDアレイシステムの構成例を示している。図1のHDDアレイシステムは、少なくとも、ホスト000であるコンピュータ、および、SATA仕様のHDDの動作を制御するSATAコントローラ010と複数のHDD群からなるアレイディスク100とにより構成される。
ここで、アレイディスク100は、HDD101〜103の3台によりパリティディスク分散型の独立Read/Writeアクセス方式のRAID5が構成されていて、HDD101のC−data、HDD102のD−data、HDD103のE−dataのいずれかがParityデータとして順次入れ替わって記憶されるものとする。HDDアレイシステムの稼動中においては、SATAコントローラ010は、アレイディスク100へのWrite Access(書き込み動作)を、アクセス・ログとしてAccess Log011に常時記録を残しながら、動作している。
ホスト000よりデータ整合性チェックの開始命令をSATAコントローラ010が受領した場合、SATAコントローラ010は、アレイディスク100のHDD101〜103に対して、SMARTコマンドを発行し、SMART Error Loggingデータ(SMARTエラーロギングデータ)つまりSMART Summary Error Logを参照することによって、稼働中におけるエラーの発生履歴の有無を確認し、エラー発生履歴がある場合には、SMART Summary Error Log中の論理ブロックアドレスLBA(Logical Block Address)情報からエラー修正のためのデータをアレイディスク100のParityを使用して生成し、生成した修復データを再書き込みすることによって修復を実施する。この結果、Read/Write動作で生じたエラーおよびホスト000のリトライによって成功したエラー箇所をそのまま残すことなく除去することができる。
しかる後、SATAコントローラ010は、アクセス・ログAccess Log011を参照して、Access Log011に記録された論理ブロックアドレスLBAに対してのみ、つまり、書き込み(Write)動作によりデータの更新が過去に実施されている領域に対してのみ、データ整合性のチェックを行う。このデータ整合性チェックによって、書き込み(Write)動作により生成され、その後、アクセスすることがなく、エラーが検出されていない状態のエラー箇所、あるいは、生成されてしまったデータ不整合箇所のすべてをチェックすることができる。つまり、データ整合性チェックのチェック範囲について、HDD101〜103の全容量に亘る読み取り(Read)動作やデータ照合動作を行うデータ整合性チェックから、HDD101〜103の全容量のうち、書き込み(Write)動作が過去に実施されている箇所のみについて読み取り(Read)動作やデータ照合動作を行うデータ整合性チェックに絞ることができることから、ユーザの使用環境における書き込み(Write)発生頻度にほぼ比例した処理時間で、データ整合性チェックを完了することができる。
(実施例の動作の説明)
図1において、SATAコントローラ010は、ホスト000により発行されるアプリケーションレベルのIO命令をアレイディスク100のHDD101〜103に対して、コマンドレベルに分解し、シャドウ・ブロック・レジスタ(Shadow Block Register)を生成することによって、読み取り(Read)動作や書き込み(Write)動作を実行している。
SATAコントローラ010の動作中において、シャドウ・ブロック・レジスタ(Shadow Block Register)中のコマンドを示すコマンド・レジスタ(Command Register)の値が、SATAコントローラ010の仕様における書き込み(Write)動作に分類されるコマンドであった場合には、SATAコントローラ010が生成するアクセス・ログAccess Log011に、シャドウ・ブロック・レジスタ(Shadow Block Register)の各値のうち、書き込み(Write)動作の実施箇所であるアドレス情報を記録する。
つまり、シャドウ・ブロック・レジスタ(Shadow Block Register)のうち、アドレス情報が格納されている各レジスタ(Register)、つまり、セクタ数を示すSector Count Register(SC)、拡張用セクタ数を示すSector Count Ext Register(SCE)、セクタ番号を示すSector Number Register(SN)、拡張セクタ番号を示すSector Number Ext Register(SNE)、シリンダ下位番号を示すCylinder Low Register(CL)、拡張シリンダ下位番号を示すCylinder Low Ext Register(CLE)、シリンダ上位番号を示すCylinder High Register(CH)、拡張シリンダ上位番号を示すCylinder High Ext Register(CHE)の各値を記録する。
なお、論理ブロックアドレス(LBA:Logical Block Address)によってアドレス情報を与える場合は、各レジスタに設定されている情報は、セクタ、シリンダ、ヘッドなどの物理的な情報ではなく、それぞれで、下位から上位に至る8ビットずつの論理アドレスを意味している。すなわち、前述の場合の論理ブロックアドレスLBAとしては、Extに示す拡張情報を用いて、合計48ビットのブロックアドレス空間を論理的に指定する情報となっている。
データ整合性チェックの開始は、ホスト000からの手動起動あるいはあらかじめ定めた時刻ごとにスケジューリングされた定期起動のいずれでも可能であり、データ整合性チェックの開始後は、図2における第1ステップ、第2ステップを順次実施する。図2は、本発明のデータ整合性チェック方法の流れの概略を一例として示す概略フローチャートである。
図2において、まず、ホスト000からのデータ整合性チェックの開始命令を受領したSATAコントローラ010は、アレイディスク100のHDD101〜103に対して、SMARTコマンドを発行し、SMARTエラーロギング(Error Logging)データを取得し、取得したSMART エラーロギング(Error Logging)データを参照することにより、Read/Write動作のデータ不良箇所として記録されている部分のParityを生成し直して上書きすることによって、不良セクタの修復を実施する(第1ステップ)。
次に、SATAコントローラ010は、アクセス・ログAccess Log011を参照して、書き込み(Write)動作を実施したアクセスブロック(Access Block)についてデータ整合性チェックを行うことにより、HDD101〜103の全領域のうち、過去に書き込み(Write)動作により記録内容が更新された領域に絞って、データ整合性にチェックが実施される(第2ステップ)。
次に、図2の第1ステップ、第2ステップの処理内容について、図3、図4のフローチャートを用いてさらに詳細に説明する。図3は、本発明のデータ整合性チェック方法のうち、過去の読み書き(Read/Write)動作で発生したエラーを修復する流れの一例として示す詳細フローチャートであり、図2の第1ステップの詳細な処理内容を示すフローチャートである。図4は、本発明のデータ整合性チェック方法のうち、過去の書き込み(Write)動作の実施箇所に対するデータ整合性をチェックする流れの一例として示す詳細フローチャートであり、図2の第2ステップの詳細な処理内容を示すフローチャートである。
まず、図3を用いて、図2の第1ステップのSMARTエラーロギング(Error Logging)データ参照による不良セクタの修復に関する処理内容について、図1のシステム構成のように、アレイディスク100としてHDD101〜103の3台のHDDがある場合を例にとって説明する。まず、SATAコントローラ010は、SMARTエラーロギング(Error Logging)データを読み取るために、HDD101に対して、SMART Read Logコマンドを、パラメータSN(Sector Number Register)=‘01’h,SC(Sector Count Register)=‘01’hに設定して発行する(ステップS11)。SMART Read Log コマンドを受信したHDD101は、SMARTエラーロギング(Error Logging)データつまりSMART Summary Error Logを返送する。
HDD101から返送されてきたSMARTエラーロギング(Error Logging)データを受領したSATAコントローラ010は、その中にエラーセクタ情報(Error Sector Information)つまりエラーを示す情報が含まれているか否かを確認する(ステップS12)。含まれていた場合には(ステップS12の“有”の場合)、エラー情報が含まれているエラー箇所に対するデータ修復を行うために、パリティディスク分散型の独立Read/Writeアクセス方式のRAID5構成の場合には、エラー箇所のブロックデータに対してアレイディスク100のParityによって正常なブロックデータを生成し、生成した正常なブロックデータを用いて、当該エラー箇所に上書き書き込み(Write)を実施することにより、修復を行う(ステップS13)。ここで、SMARTエラーロギング(Error Logging)データには、前述の通り、読み書き(Read/Write)動作で発生したエラー情報の有無が記録されている。したがって、以上の手順により、HDD101の不良セクタを修復させることができる。
次に、SATAコントローラ010は、HDD101からHDD102に切り替えて、ステップS11〜S13までと全く同様の動作をHDD102に対して実行する(ステップS14〜S16)。さらに、SATAコントローラ010は、HDD102からHDD103に切り替えて、ステップS11〜S13までと全く同様の動作をHDD103に対して実行する(ステップS17〜S19)。この結果、アレイディスク100を構成するHDD101〜103のすべてのHDDについて、過去の読み書き(Read/Write)動作でエラーが発生した箇所すべてに正常なデータが再度書き込まれて、不良セクタの修復が実施されたことになる。このエラー修復処理の終了時点では、各HDD101〜103のSMARTエラーロギング(Error Logging)データはイニシャライズされて初期状態に復帰する。
次に、図4を用いて、図2の第2ステップのアクセス・ログAccess Log011の参照による書き込みアクセスブロック(Write Access Block)に対するデータ整合性チェックに関する処理内容について説明する。SATAコントローラ010は、稼働中の状態にある場合、常時、書き込み(Write)動作の発生の有無を採取して、アクセス・ログAccess Log011に書き込み(Write)動作の履歴として記録している。図3の動作に引き続いて、図4の動作が起動されると、SATAコントローラ010は、まず、過去の書き込み(Write)動作の履歴を記録しているアクセス・ログAccess Log011を参照する(ステップS21)。
アクセス・ログAccess Log011に過去の書き込み(Write)動作に関する情報が含まれていた場合は、アクセス・ログAccess Log011に記録されている論理ブロックアドレスLBAの領域のみについてデータ整合性のチェックを行う(ステップS22)。データ整合性のチェック結果が不良であった場合は(ステップS23のNGの場合)、パリティディスク分散型の独立Read/Writeアクセス方式のRAID5構成の場合には、エラー発生箇所のエラーセクタ(Error Sector)をアレイディスク100のParityによって正常なデータとして再度生成し、生成した正常なデータを用いて、当該エラー箇所に再書き込み(Re−Write)を実施することにより、修復を行う(ステップS24)。
この結果、アレイディスク100を構成するHDD101〜103のすべてのHDDについて、データ整合性が得られなかった箇所すべてに正常なデータが再度書き込まれて、データの整合性が得られることになる。なお、データ整合性チェックが終了した時点で、アクセス・ログAccess Log011はイニシャライズされて、初期状態に復帰する。
(実施例の効果の説明)
以上に説明したように、実際にデータの不整合が発生する書き込み(Write)動作が過去に実施された箇所のみに絞って、データ整合性のチェックを行うこととしているので、データ整合性チェックに要する所要時間を、データ整合性に関する効果を落とすことなく、大幅に短縮することを可能としている。なお、データ不整合が生じる要因は、HDD内部に発生するエラーによるところが大きいことから、エラーの発生要因である稼動中の振動/衝撃や内部塵埃、媒体突起によるヘッドとの接触など、書き込み(Write)動作の実行後に生じたエラー発生箇所をトレースすることによって、特定することが可能となる。
また、稼働中に発生したエラーは、通常のエラーについては、検出され次第、修復処理されるが、ホスト000によるリトライ等の処理やHDDから応答されるエラー・ステータス(Error Status)の種類如何によっては、修復処理がなされない場合があり、データ不整合の要因の一つになってしまう。本実施例においては、各HDDのシステム領域(SN=‘01’h、SC=‘01’h)に記録されているSMARTのエラー情報つまりSMARTエラーロギング(Error Logging)データを確認することによって、過去に発生したエラー箇所を修復することが可能となる。
(他の実施例)
本発明の他の実施例について、前述した実施例におけるデータ整合性チェックとほぼ同様の方法を、ディスクミラーリング方式のRAID1構成のアレイディスクに対して適用する場合について、図5を参照しながら説明する。図5は、本発明のデータ整合性チェック方法を適用するHDDアレイシステムのシステム構成の他の例を示すシステム構成図であり、アレイディスク300が、ディスクミラーリング方式のRAID1によって構成されている場合を示している。
図5のHDDアレイシステムにおいても、図1の場合と同様、少なくとも、ホスト200であるコンピュータ、および、SATA仕様のHDDの動作を制御するSATAコントローラ210と複数のHDD群からなるアレイディスク300とにより構成される。
ここで、アレイディスク300は、図1の場合とは異なり、HDD301、302の2台によりミラーリング方式のRAID1が構成されていて、HDD301のC−data、HDD302のD−dataとが同一情報として2重化されて記憶されるものとする。また、HDDアレイシステムの稼動中においては、前述の実施例と同様、SATAコントローラ210は、アレイディスク300への書き込み動作(Write Access)をアクセス・ログとしてAccess Log211に常時記録を残しながら、動作している。
図5のアレイディスクのRAID1構成においても、データ整合性チェックを実施する場合、図2〜図4とほぼ同様の手順で実施することになる。すなわち、SATAコントローラ210は、データ整合性チェック開始時に、まず、図3に示すように、アレイディスク300のHDD301およびHDD302に対して、SMART Read Log Command(SN=‘01’h,SC=‘01’h)を発行し、SMARTエラーロギング(Error Logging)データつまりSMART Summary Error Logを取得する。しかる後、SMART Summary Error Logを確認することによって、過去の稼動中に発生したエラー情報を取得し、エラーの発生箇所を、相対する他方のHDDの同一箇所のデータを用いて修復する。つまり、図1のRAID5構成の場合とは異なり、ミラーリング方式のRAID1構成の場合、2重化されている一方のHDDにエラーが発生していた場合、他方のHDDの同一箇所のデータを読み出して、エラーが発生している一方のHDDの該当箇所に上書き書き込み(Write)することによって、エラーの修復を行う。
しかる後、図4に示すように、書き込み(Write)動作を過去に実施した論理ブロックアドレスLBAが記録されているアクセス・ログAccess Log211を読み出して、アクセス・ログAccess Log211に記録された論理ブロックアドレスLBAに対してのみデータ整合性チェックを実施する。この結果、図1の場合と同様に、書き込み(Write)動作後に何らかの原因でエラーが生成されてしまっているにも関わらず、その後、当該箇所に対するアクセス(Access)がなく、エラー検出されていないエラー箇所、生成されてしまったデータ不整合箇所のすべてをチェックすることができる。また、図1の場合と同様に、データ整合性チェックの範囲をHDDの全容量に亘る読み取り(Read)動作から、過去に書き込み(Write)動作を実施した箇所のみに絞ることができることから、ユーザ環境で実施される書き込み(Write)動作の発生頻度にほぼ比例した処理時間で、データ整合性チェックを完了することが可能となる。
以上のように、ミラーリング方式のRAID1構成であっても、パリティディスク分散型の独立Read/Writeアクセス方式のRAID5構成であっても、データの不整合を検出した場合の修復方法として、アレイディスクの相対側HDDの同一箇所のデータを使用するか、あるいは、アレイディスクのParityを用いて生成するか、の違いがあるのみであり、ほぼ同一のデータ整合性チェック方法を適用することができる。かかるデータ整合性チェック方法は、RAID1、RAID5のみに限るものではなく、例えば、RAID4、RAID3などであっても、あるいは、RAID(5+1)等の複雑な構成であっても同様である。
以上、本発明の好適実施例の構成を説明した。しかし、斯かる実施例は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
本発明のデータ整合性チェック方法を適用するHDDアレイシステムのシステム構成の一例を示すシステム構成図である。 本発明のデータ整合性チェック方法の流れの概略を一例として示す概略フローチャートである。 本発明のデータ整合性チェック方法のうち、読み書き(Read/Write)動作以外の動作で発生したエラーを修復する流れの一例として示す詳細フローチャートである。 本発明のデータ整合性チェック方法のうち、書き込み(Write)動作の実施箇所に対するデータ整合性をチェックする流れの一例として示す詳細フローチャートである。 本発明のデータ整合性チェック方法を適用するHDDアレイシステムのシステム構成の他の例を示すシステム構成図である。
符号の説明
000 ホスト
010 SATAコントローラ
011 Access Log
100 アレイディスク
101〜103 HDD
200 ホスト
210 SATAコントローラ
211 Access Log
300 アレイディスク
301、302 HDD

Claims (5)

  1. SATA(Serial ATA) RAIDを構成する各ハードディスクのデータ不整合を修復するためのデータ整合性チェック方法において、
    RAID構成の各ハードディスクの動作を制御するSATAコントローラが、過去の書き込み動作の履歴を記録するアクセス・ログを備え、
    各ハードディスクに対してSMARTコマンドを発行することによりエラーロギングデータを取得し、当該エラーロギングデータを参照することによりデータ不良箇所を特定し、当該箇所に対して正しいデータを上書きすることにより修復し、
    その後に、前記アクセス・ログに基づいて書き込み動作を実行した箇所についてのみデータ整合性チェックを行うことを特徴とするデータ整合性チェック方法。
  2. 各ハードディスクのRAID構成として、エラーの修復が可能なパリティ情報を付加したRAID構成からなっている場合、エラーのない正しいデータを生成する際に、付加された前記パリティ情報を用いて正しいデータを生成することを特徴とする請求項1に記載のデータ整合性チェック方法。
  3. 各ハードディスクのRAID構成として、ミラーリングにより同一データを複数のハードディスクに格納するRAID構成からなっている場合、エラーのない正しいデータを生成する際に、一方のハードディスクにて発生したエラー箇所と相対する他方のハードディスクの同一箇所に格納されているデータを用いて正しいデータを生成することを特徴とする請求項1に記載のデータ整合性チェック方法。
  4. 前記データ整合性チェックを終了した際に、前記アクセス・ログおよび/または前記エラーロギングデータを初期状態に復帰させることを特徴とする請求項1ないしのいずれかに記載のデータ整合性チェック方法。
  5. SATA(Serial ATA) RAIDを構成する各ハードディスクのデータ不整合を修復するためのデータ整合性チェックシステムにおいて、RAID構成の各ハードディスクの動作を制御するSATAコントローラが、過去の書き込み動作の履歴を記録するアクセス・ログを備え、
    各ハードディスクに対してSMARTコマンドを発行することによりエラーロギングデータを取得し、当該エラーロギングデータを参照することによりデータ不良箇所を特定し、当該箇所に対して正しいデータを上書きすることにより修復する修復手段と、
    その後に、前記アクセス・ログに基づいて書き込み動作を実行した箇所についてのみデータ整合性チェックを行うチェック手段と、を備えていることを特徴とするデータ整合性チェックシステム。
JP2007075044A 2007-03-22 2007-03-22 データ整合性チェック方法およびデータ整合性チェックシステム Expired - Fee Related JP4978259B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007075044A JP4978259B2 (ja) 2007-03-22 2007-03-22 データ整合性チェック方法およびデータ整合性チェックシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007075044A JP4978259B2 (ja) 2007-03-22 2007-03-22 データ整合性チェック方法およびデータ整合性チェックシステム

Publications (2)

Publication Number Publication Date
JP2008234446A JP2008234446A (ja) 2008-10-02
JP4978259B2 true JP4978259B2 (ja) 2012-07-18

Family

ID=39907127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007075044A Expired - Fee Related JP4978259B2 (ja) 2007-03-22 2007-03-22 データ整合性チェック方法およびデータ整合性チェックシステム

Country Status (1)

Country Link
JP (1) JP4978259B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5219705B2 (ja) 2008-09-12 2013-06-26 富士通テン株式会社 情報処理装置および情報処理方法
WO2010073291A1 (en) * 2008-12-22 2010-07-01 Hitachi, Ltd. Storage apparatus and data verification method in storage apparatus
JP2014071740A (ja) * 2012-09-28 2014-04-21 Fujitsu Ltd 情報処理装置、管理方法、及び管理プログラム
CN105843560B (zh) * 2016-04-08 2018-08-10 中国科学院计算技术研究所 一种维护主从式双控软Raid6一致性的方法及系统
CN108762686B (zh) * 2018-06-04 2021-01-01 平安科技(深圳)有限公司 数据一致性校验流控方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004110950A (ja) * 2002-09-19 2004-04-08 Nec Engineering Ltd 強誘電体メモリの検査装置、検査方法、制御プログラム及び記録媒体
JP2006155438A (ja) * 2004-12-01 2006-06-15 Hitachi Ltd ログファイル解析機能付きバックアップシステム

Also Published As

Publication number Publication date
JP2008234446A (ja) 2008-10-02

Similar Documents

Publication Publication Date Title
US9424141B2 (en) Hard disk data recovery method, apparatus, and system
US6625096B1 (en) Optical disk recording and reproduction method and apparatus as well as medium on which optical disk recording and reproduction program is recorded
US7681071B2 (en) Storage apparatus, control method therefor and program
US7908512B2 (en) Method and system for cache-based dropped write protection in data storage systems
JP5078235B2 (ja) 磁気ディスク記憶装置におけるトラック・データ完全性の維持方法
US6467023B1 (en) Method for logical unit creation with immediate availability in a raid storage environment
US20060156059A1 (en) Method and apparatus for reconstructing data in object-based storage arrays
JP4978259B2 (ja) データ整合性チェック方法およびデータ整合性チェックシステム
US8938641B2 (en) Method and apparatus for synchronizing storage volumes
JP4454204B2 (ja) ディスクアレイ制御装置及び方法並びにディスクアレイ制御プログラム
TWI744049B (zh) 記憶體控制器與資料處理方法
TW201329701A (zh) 具有自動重映射功能的磁碟陣列及其自動重映射方法
KR100618848B1 (ko) 하드디스크 드라이브의 소오스 데이터 복구 방법 및 이를이용한 시스템 정보 독출 방법
US20140380090A1 (en) Storage control device and storage control method
US10867633B1 (en) Reduced adjacent track erasure from write retry
US6229743B1 (en) Method of a reassign block processing time determination test for storage device
JP6175771B2 (ja) ディスクアレイ装置、バッドセクタ修復方法および修復プログラム
CN113791731A (zh) 一种解决存储磁盘阵列Write Hole的处理方法
CN113190179A (zh) 提升机械硬盘使用寿命的方法、存储设备及系统
CN112230855A (zh) 固态硬盘及其读写方法
JP5678628B2 (ja) 半導体ディスク装置
US10379972B1 (en) Minimizing reads for reallocated sectors
US20100058141A1 (en) Storage device and control device
JP2002230889A (ja) 書換不可記録媒体に対する記録システムおよびプログラム
US11550710B2 (en) Data processing method and memory controller utilizing the same

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20091211

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091214

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120220

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4978259

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees