JP2005050346A - ハードディスクドライブおよびこれを含むraidシステム - Google Patents

ハードディスクドライブおよびこれを含むraidシステム Download PDF

Info

Publication number
JP2005050346A
JP2005050346A JP2004221552A JP2004221552A JP2005050346A JP 2005050346 A JP2005050346 A JP 2005050346A JP 2004221552 A JP2004221552 A JP 2004221552A JP 2004221552 A JP2004221552 A JP 2004221552A JP 2005050346 A JP2005050346 A JP 2005050346A
Authority
JP
Japan
Prior art keywords
data
scrub
disk
drive
disk drive
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
JP2004221552A
Other languages
English (en)
Other versions
JP2005050346A5 (ja
Inventor
Richard New
リチャード・ニュー
Spencer Ng
スペンサー・エヌジー
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.)
HGST Netherlands BV
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
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 Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Publication of JP2005050346A publication Critical patent/JP2005050346A/ja
Publication of JP2005050346A5 publication Critical patent/JP2005050346A5/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
    • 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1088Scrubbing in RAID systems with parity

Landscapes

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

Abstract

【課題】サブシステムによって管理されたデータスクラビングにおいて、システム性能の低下を抑えるようスクラビングプロセスを管理および実行すること。
【解決手段】複数のハードディスクドライブを有するRAIDサブシステムは、RAIDコントローラにデータスクラビングの実行を要求する代わりに、各ディスク上でデータスクラビングを自主的に実行するディスクコントローラをディスクごとに備えている。データスクラビングは、RAIDコントローラからI/O要求を受け取り次第中断される。または、データスクラビングは、保証されたスクラブレートが達成されていなければ続行される場合がある。データは、同心データトラックの大きなバンドに格納される。バンドは、バンドを読み取る頻度またはバンドに新たに書き込んだことに基づいて、スクラビング対象として優先的に選択される。
【選択図】図1

Description

本発明は、一般にハードディスクドライブに関し、特に独立した複数のディスクの冗長アレイ(RAID=Redundant Arrays of Independent Disks)システムにおけるハードディスクドライブに関する(ただし、これに限定されるものではない)。
数多くのデータストレージサブシステムにとって、データの保全性は最も重要な考慮事項である。これらのサブシステムでは、種々のRAID技術を使用してデータの冗長性を確保する。その結果、ディスクドライブの1つでデータが利用できない場合、そのデータはRAIDサブシステム内の他のドライブから回復することができる。マルチフォールトトレランスは高いコストを要するため、大部分のサブシステムではシングルフォールトトレランスのみが提供される。あいにく、ハードエラーとしても知られる回復不能な読み取りエラーが、ディスクドライブで発生する。このエラーは、ドライブのエラー回復手順(ERP)におけるすべてのステップを実行しつくした後でも、セクタの読み取りができないときに発生する故障の状況である。そのようなステップには、装備されたすべてのレベルの誤り訂正制御(ECC)を呼び出すこと、および異なるヘッドオフセットを使用してリトライすることなどが含まれる。RAID内の他のすべてのドライブにアクセスできる状態で回復不能な読み取りエラーに遭遇したとき、そのセクタはそれらのドライブから再構築することができる。しかし、RAID内のドライブの1つがすでに故障した状態でハードエラーに遭遇した場合、ハードエラーの発生したセクタと、それに対応する、前記故障したドライブ内のセクタの両方とも回復可能ではない。その結果、データが消失した状況になる。
ドライブの故障後にハードエラーに遭遇する確率を減少させるために、一部のストレージサブシステムでは、ある種のデータスクラビングルーチンを装備することによって、データが実際に必要になる前にそのようなエラーを除去するようにしている。そのような方式においては、RAIDコントローラは、各ドライブコントローラに定期的に検査読み取りコマンドを発行して(すなわち、キャッシュから読み取るのではなく、ディスクメディアから読み取る)、各ドライブ内のすべてのアドレスを循環して検査する。回復不能なエラーに遭遇してドライブコントローラの1つによってそのエラーが報告されたとき、RAIDコントローラはRAID冗長性を使用して他のドライブからそのデータを再構築する。一部のサブシステムでは自動再割り当てをディスクドライブ内で有効にして、ハードエラーを含むセクタを予備のロケーションに自動的に再割り当てする。他のサブシステムでは自動再割り当てを無効にして、最初にデータを元のロケーションに再書き込みすることによって問題が解決されたかどうかを確認して、問題が解決されない場合(例えば、メディアの傷などによって)のみ再割り当てを試みるかどうかをRAIDコントローラが決定することができるようにしている。いずれの場合でも、RAIDコントローラは回復不能エラーの統計情報をログに記録する。そのようなエラーがあらかじめ決められたしきい値を超えた場合、そのドライブは交換されることになる。
上記のサブシステムによって管理されたデータスクラビングには、2つの不利点がある。第1の不利点は、スクラビングプロセスを管理および実行するために、RAIDシステムコントローラの手段が必要となることである。第2の不利点は、コントローラが実際にはデータを必要としない場合でも、ドライブからデータが返されることである。その結果、バス上で不必要なトラフィックが発生することになり、場合によってはシステム性能の低下を招く可能性がある。そのような制約があるため、データスクラブサイクルを延長することが望ましい。
ハードディスクドライブは、少なくとも1つのストレージディスクと、ディスクからのデータの読み取りおよびディスクへのデータの書き込みを行うドライブコントローラとを有する。前記ドライブコントローラは、少なくとも1つのデータユニットを読み取ることを課したスクラブサイクルを実行すること、およびデータユニット内にエラーが存在するかどうかを確認することを含むロジックを実行する。データユニット内にエラーが存在する場合、エラーの記録および/または報告を行う。エラー検出ロジックは、その後のデータユニットに対して実行される。データ読み取りまたはデータ書き込みのユーザ要求を受け取った場合、スクラブサイクルを中断してその要求を実行した後、スクラブサイクルを再開する。
好適な実施例においては、ディスクドライブはRAIDシステムと組み合わせて使用され、ドライブコントローラはRAIDコントローラからユーザ要求を受け取る。
限定を意図しない一実施例においては、ドライブコントローラのロジックには、ユーザ要求キュー内のすべてのユーザ要求を実行した後、スクラブサイクルを再開する前に遅延期間待つことが含まれる。遅延期間は、RAIDコントローラから受け取るユーザ要求の頻度および/または要求数に依存する適応的遅延期間である。
ディスクドライブは、複数のデータバンドに分割される。ドライブコントローラは、望ましくは、例えば各バンドに対する最近のアクセスを示すテーブルを維持管理する。
要求の実行と同時に、スクラブは、ディスク上のユーザ要求に供されるデータのすぐ隣にあるデータに対して優先的に実行される。さらに、スクラブは、他のデータよりも新たに書き込まれたデータに対しても、および/または他のエリアよりも頻繁にアクセスされたディスクエリアに対しても優先的に実行される。
別の態様においては、ハードディスクドライブは、少なくとも1つのストレージディスクと、ディスクからのデータの読み取りおよびディスクへのデータの書き込みを行うドライブコントローラとを有する。前記ドライブコントローラは、少なくとも1つのデータユニットを読み取ることを課したスクラブサイクルを実行すること、およびデータユニット内にエラーが存在するかどうかを確認することを含むロジックを実行する。データユニット内にエラーが存在する場合、エラーの記録および/または報告を行う。エラー検出ロジックは、その後のデータユニットに対して実行される。データ読み取りまたはデータ書き込みのユーザ要求を受け取った場合、かつ現在のスクラブレートがしきい値レートを超えた場合、スクラブサイクルを中断してその要求を実行した後、スクラブサイクルを再開する。それ以外の場合は、スクラブサイクルの現在のスクラブ読み取りは中止されない。
さらに別の態様においては、ハードディスクドライブは、少なくとも1つのストレージディスクと、ディスクからのデータの読み取りおよびディスクへのデータの書き込みを行うドライブコントローラとを有する。前記ドライブコントローラは、少なくとも1つのデータユニットを読み取ることを課したスクラブサイクルを実行すること、およびデータユニット内にエラーが存在するかどうかを確認することを含むロジックを実行する。データユニット内にエラーが存在する場合、エラーの記録および/または報告を行う。エラー検出ロジックは、その後のデータユニットに対して実行される。スクラブサイクルは、第2のデータよりも新たに書き込まれた第1のデータに対して実行することができ、その後、第2のデータに対して実行することができる。または、スクラブサイクルは、頻繁にアクセスされるディスクエリア上で優先的に実行することができる。
本発明で認識されることは、上記の課題は、回復不能エラーに遭遇しない限りRAIDコントローラによる何の作業も必要としないディスクドライブコントローラレベルにてデータスクラビングを実施することによって改善できることである。
本発明の詳細は、その構造および動作の両方に関して、添付図面を参照することによって最もよく理解することができる。添付図面においては、同様の参照符号は同様の部品を表す。
最初に、図1を参照すると、RAIDシステムが示される。このRAIDシステムは、一般に参照番号10で指定され、RAIDコントローラ12を備えている。RAIDコントローラ12は、1つ以上のクライアントプロセッサ14と通信を行い、複数のハードディスクドライブ(HDD)16上でデータの格納、検索を行う。図2は、本発明のハードディスクドライブ16にドライブコントローラ18が含まれることを示す。ドライブコントローラ18は、RAIDコントローラ12からの要求に応じて、1つ以上のデータストレージディスク20上でデータの読み取りおよび書き込みを行う。各HDD16には、当該技術で知られるHDD原理に従って示されるような、ソリッドステートデータキャッシュ22が含まれる場合もある。本原理によると、RAIDシステム10の各HDDコントローラ18は、下記のスクラビングロジックを自主的に実行する。すなわち、各ドライブコントローラ18は、そのディスク上で、RAIDコントローラ12からは独立してデータスクラビングに独自に着手する。
図3は、本スクラブループのロジックを示す。本スクラブループは、望ましくは、ドライブコントローラ18によって無期限に繰り返される。スクラブループのロジックは起動状態24で開始する。図5を参照して以下にさらに詳細に説明されるように、保証されたスクラブレートが実行されると、このロジックはブロック26に進み、スクラブサイクルの開始時間が記録される。
ブロック26から、または保証スクラブレートが実行されていない起動状態24から、ロジックはブロック28に進み、図6を参照して以下で議論されるように、または以下で論じる他の基準を使用して、スクラブする次のデータユニットを選択する。限定を意図しない実施例においては、データはディスク20上の「バンド」内に格納されるが、各バンドは、ディスク上で利用可能なデータ空間の論理的分割によって形成される。例えば、100GBのドライブは、各々1GBを有する100個のバンド、または各々100MBを有する1000個のバンドなどに分割される。一つのデータユニットは、比較的多数のセクタ(例えば、512)に対応する。または、実際にはトラック全体に対応することもある。トラック全体を読み取る場合、ゼロ待ち時間読み取り技術(すなわち、ヘッドがトラック上に到着すると同時に読み取りを開始する)を、スクラブ読み取りの実行に容易に適用することができる。その結果、回転待ち時間の消費をなくすことができる。以下さらに詳細に述べられているように、スクラブデータユニットに対応したビットマップを使用して、スクラブ済みのユニットを追跡することができるが、その他の方法を使用することもできる。各スクラブサイクルの開始時に、ビットマップはリセットされる。
ブロック30では、スクラブするデータユニットが特定されると、データユニットが読み取られる。判断ブロック32では、ドライブコントローラ18は、データユニット内に訂正不能エラーが存在するかどうか確認する。エラーが検出された場合、ブロック34で、エラーのロケーション(アドレス)を記録する。このステップで、RAIDコントローラ12に直ちにエラーを通知してもよい。その後、ブロック36で、ドライブコントローラ18は、スクラブ済みのデータユニットのリスト(または、ビットマップ)を更新する。保証されたスクラブレートが使用される場合、ロジックはブロック38にも進む。ブロック38では、例えば、ブロック36で記録されたようなスクラブ済みのデータ量を、ブロック26で記録されたようなスクラブサイクルの開始からの総経過時間で除算することによってスクラブレートが求められる。最後に、判断ブロック40では、ディスク全体がスクラブされたかどうかを確認し、「No」の場合、ロジックはブロック28に戻る。それ以外の場合は、ロジックは開始状態24から別のスクラブサイクルを開始する。
図4は、保証されたスクラブレートが呼び出されない場合にドライブコントローラ18が実行することができるロジックを示す。図3に示されるスクラブループが継続して実行されていると仮定すると、状態42では、ディスク20に対する読み取りまたは書き込みのユーザ要求が(例えば、RAIDコントローラ12から)受け取られる。判断ブロック44では、ドライブコントローラ18はスクラブ読み取りが進行中であるかどうか確認する。「Yes」の場合、ブロック46でスクラブ読み取りは中止または一時停止される。図4の点線は、多角形48によって指示される図3のスクラブループサブルーチンが通知または一時停止されることを示す。
ブロック46から、またはスクラブ読み取りが進行中でない場合は判断ブロック44から、ロジックはブロック50に進んで、I/O要求を要求のキューに追加する。判断ブロック52に進んで、未実行の要求がキューに存在するかどうか調べる。存在する場合、ブロック54で要求が処理される。キュー内の次に処理する要求を選択するスケジューリングアルゴリズムとしては、先着順、最短時間優先など、任意のアルゴリズムを使用することができる。
加えて、ブロック54のロジックの一部として、スクラブループは、ディスク上の、要求の実行中にユーザ要求に供されるデータのすぐ隣にあるデータに対して便宜的に実行してもよい。これは、1つ以上の隣接データスクラブユニットを含むように要求を拡張することによって達成することができる。例えば、読み取り要求は、アドレス5020からアドレス5147までの128セクタを読み取ることになる。便宜的スクラビングが起動されるとき、ドライブコントローラ18は、要求されたセクタを含むスクラブユニット全体(アドレス5000から5999まで)を読み取り、それを行っている間にユニット全体をスクラブする。
必要に応じて、すべてのユーザI/O要求が実行されると、ロジックはブロック56に進み、図3のスクラブループを再開する前に、遅延期間を待つ。遅延期間は、固定にしたりまたは適応的可変にすることができる。さらに、遅延期間は、例えば、受け取るユーザ要求の頻度に依存する(例えば、要求が多ければ多いほど、遅延期間もさらに長くなる)、および/または、RAIDコントローラから受け取るユーザ要求の数に依存する。例えば、要求数が多ければ多いほど遅延期間も長くなる。遅延期間は、新たな要求が近い将来到着しそうにない確率、すなわち、HDDがアイドル期間に入っている確率を増加させる。遅延期間の間に新たな要求が到着した場合、ロジックは、開始状態42に戻るか、または状態48でスクラブループに再び入る。
適応的遅延期間を決定する際、ドライブコントローラ18は、状態42で記録された最後のユーザ要求が到着してからの経過時間を計算することができる。本例では、実行すべき遅延は、この経過時間を使用して計算される。そのような計算の一例としては、遅延=k/経過時間である(ここで、kは定数である)。このように、経過時間が短ければ遅延は長くなる。なぜならば、別の要求が間もなく到着する可能性が高いためである。一方、経過時間が長ければ遅延は短くなる。これは延長期間中にHDDに対して何の作業も行われておらず、そのため、さらに頻繁にスクラビングしてもパフォーマンスに影響を及ぼす可能性が低いためである。上記から示唆されるように、他の適応的な方法または計算式を使用することもできる。
図5に示すロジックは、スクラビングが、少なくとも、ユーザによって定義可能なあるしきい値レートで発生することが望まれるときに使用することができる。図3に示されるスクラブループが継続して実行されていると仮定し、状態58では、ディスク20に対する読み取りまたは書き込みのユーザ要求が(例えば、RAIDコントローラ12から)受け取られる。判断ブロック60では、スクラブ読み取りが進行中であるかどうかを確認する。「Yes」の場合、ロジックは判断ブロック62に進み、現在のスクラブレート(図3のブロック38で求められた)がしきい値レートを下回っているかどうかを確認する。「No」の場合、ロジックはブロック64に進み、そこでスクラブ読み取りは中止または一時停止される。点線は、多角形66によって指示される図3のスクラブループサブルーチンが通知または一時停止されることを示す。
対照的に、判断ブロック62でスクラブレートが不十分である(すなわち、低すぎる)ことが判明した場合、ロジックはブロック68に進み、他のユーザ要求を処理する前に現在のスクラブ読み取りを完結する。スクラブ読み取りが進行中でないときは判断ブロック60から、または、読み取りが進行中でスクラブレートに依存して処理されているときはブロック64および68から、ロジックはブロック70に進み、ユーザ要求を要求のキューに追加する。
判断ブロック72に進んで、未実行の要求がキューに存在するかどうか確認する。存在する場合、ブロック74で要求が処理される。必要に応じて、図4のロジックの場合と同様に、ブロック74のロジックの一部として、スクラブループは、要求の実行と同時に、ディスク上のユーザ要求に供されるデータのすぐ隣にあるデータに対して便宜的に実行してもよい。
ドライブコントローラ18のロジックは、ブロック74からブロック76に進み、新しいスクラブレートを計算する。その後、判断ブロック78に進んで、スクラブレートが低すぎないかどうか確認する。「Yes」の場合、ロジックは、多角形66に示されるような図3のスクラブループに再び入り、スクラブレートがユーザ定義のしきい値と等しくなるまで状態66と状態78の間のループに留まる。スクラブレートがユーザ定義のしきい値と等しくなったとき、ロジックは判断ブロック72に戻る。図5に示すように、判断ブロック72で確認された通りにキュー内のすべてのユーザ要求が実行されたとき、ロジックは必要に応じブロック80に進み、状態66でスクラブループに再び入る前に前記の遅延期間を呼び出す。
すでに開示したように、現在、好適な実施例は、物理トラックまたはその部分をデータスクラブユニットとして使用する。スクラブすべきデータユニットをスケジューリングするとき、最初から最後まで順を追って進む代わりに、次のスクラブ読み取りを、ディスクドライブ16のヘッドの現在位置に最も近接した場所で行われるようにスケジューリングしてもよい。そのためには、限定を意図しない一実施例においては、図3のブロック28で実行されるロジックを図6に示されるロジックによって実行してもよい。
ブロック82で開始すると、ヘッドの現在位置の物理シリンダ番号「C」が記録される。判断ブロック84では、ドライブコントローラ18は、シリンダCにあるすべてのトラックがスクラブ済みであるかどうか確認する。少なくとも1つのトラックがまだスクラブされていない場合、ロジックはブロック86に進み、そのシリンダからスクラブされていないトラックを選択する。その後、ロジックは図3のブロック30に進む。
判断ブロック84でシリンダ「C」にあるすべてのトラックがスクラブ済みであることが判明した場合、ロジックはブロック88に進み、そこでインデックス変数「i」を1に初期化する。判断ブロック90に進んで、シリンダC+i内のすべてのトラックがスクラブ済みであるかどうか確認する。「No」の場合、ロジックはブロック86に進む。「Yes」の場合、ロジックは判断ブロック92に進み、そこにおいてシリンダC−i内のすべてのトラックがスクラブ済みであるかどうか確認する。シリンダC−i内で少なくとも1トラックがスクラブ済みでない場合、ロジックはブロック86に進む。一方、判断ブロック92における判断結果が「Yes」の場合、ロジックはブロック94に進み、インデックス変数「i」を1だけ増加させる。
判断ブロック96に進み、インデックス変数「i」がしきい値を超えたかどうか確認する。「No」の場合、ロジックは判断ブロック90に戻る。しきい値を超えた場合、ブロック98に入り、そこで異なるアルゴリズムを使用して次のスクラブユニットを選択することができる。これによって、検索は妥当な時間に制限され、またパフォーマンス上の利点が失われるほど「i」が大きくなりすぎれば、その後異なる選択方法に切り替わる。
スクラビング対象のデータユニットの選択に使用可能な異なる選択方法に関する限定を意図しない例として、他のデータよりも新たに書き込まれたデータを、他のデータをスクラブする前のスクラビング対象として選択してもよい。または、より頻繁にアクセスされたディスクのエリアを、その他の使用頻度がそれよりも低いエリアをスクラブする前にスクラブしてもよい。
さらに具体的に説明すると、本発明では、一部の回復不能エラーは書き込み不良によって引き起こされることを認識している。そのようなエラーをより速やかに発見するには、図7に示されるように、ドライブコントローラ18は、最近書き込まれたトラックおよび隣接トラックをスクラブするようにスケジューリングすることができる。それぞれ図4、5のブロック54、74と関連した上記の開示によると、要求の処理には、ブロック100における要求された読み取りコマンドまたは書き込みコマンドの実行、およびその後の判断ブロック102におけるちょうど完了したコマンドが書き込みコマンドであるかどうかを確認する処理が含まれる。ちょうど完了したコマンドが書き込みコマンドである場合、ブロック104で、ドライブコントローラ18は、書き込みコマンドによって影響を受けるスクラブユニットを、それらがこのサイクルでスクラブされたかどうかにかかわらず「スクラブ未了」として印を付ける。ビットマップを使用してスクラブ済みユニットを追跡する好適な実施例においては、それらのユニットに対応するビットはリセットされる。このように、それらのユニットは、次のスクラブサイクルでスクラビングのためのスケジューリングが行われるまで待つ必要はなく、すぐにスクラブすることができる。その上、これらのデータユニットは、図6のスケジューリングポリシーが使用されるとき、おそらく速やかにスケジューリングされる。スクラブユニットが物理トラックである好適な実施例においては、影響を受けるスクラブユニットは、ちょうど書き込まれたデータを含むトラックと、同じ表面上にあるその隣接トラックである。
前述したように、ディスク20は、必ずしも大きさが等しいとは限らない複数のデータバンドに論理的に分割してもよい。これらのバンドと関連付けられているのが図8に示されるテーブル106であり、各項目は1つのバンドに対応している。各項目にはカウントフィールドが含まれ、第1カラムによって示される。これらの項目には、望ましくは、カウントが減少する順番に編成されたダブルリンクリストが設けられている。従って、第2カラムおよび第3カラムによって示されるように、各項目にはこのリンクリストのための正方向ポインタと逆方向ポインタが含まれる。バンドテーブルに加えて、HDDはこのリンクリストの先頭(最高カウントを有する項目)を指すポインタを維持管理する。
この限定を意図しない実施例において、ここで図9を参照すると、図9の状態108でHDD16が新しいユーザI/O要求を受け取るたびに、ブロック110において、ドライブコントローラ18はこの要求を入れるバンドを決定する。ブロック112では、そのバンドに対するカウントがインクリメントされる。判断ブロック114に進み、結果として得られたカウントが、カウントフィールドによって保持可能な最大値を超えたかどうかを確認する。例えば、カウントフィールドに対して16ビットを使用する場合、最大カウントは65535である。得られたカウントが最大カウントよりも大きい場合、ロジックはブロック116に進み、テーブル内のすべての項目のカウントフィールドを2で割る。
ブロック116から、または判断ブロック114における判断結果が「No」の場合は判断ブロック114から判断ブロック118に進んで、ドライブコントローラ18は、現時点で新しいカウントが、現在のバンドと関連付けられた逆方向ポインタによって指し示される項目(すなわち、順番に編成されたリンクリストにおける次に高いカウントの項目)のカウントよりも大きいかどうか確認する。現時点で新しいカウントの方が大きい場合、ロジックはブロック120に進み、そこでリンクリスト内のこれらの2つの項目の位置を入れ替える。その後、ループは判断ブロック118に戻り、リンクリストの順序が適切に並べ替えられるまでこのループが繰り返される。
最後に、図10は選択アルゴリズムを示す。この選択アルゴリズムは、図8および図9に示される上記のテーブル実施例に対して状態122で開始される。ブロック124では、リンクリスト内の先頭項目(最高カウント値を有する項目)が選択される。判断ブロック126に進んで、このバンド内のすべてのスクラブユニットがスクラブ済みであるかどうか確認する。すべてのユニットがスクラブ済みである場合、ロジックはブロック128に進み、リンクリスト内の次のバンドが選択される。その後、判断ブロック126に戻る。判断ブロック126で、すべてのデータユニットがスクラブ済みになっているとは限らないバンドが見つかった場合、ブロック130に進み、このバンドからスクラブユニットを選択する。
エラー回復手順(ERP)を使用することによって回復可能なエラーに対しては、ドライブコントローラ18は、データを元のロケーションにもう一度書き込んでからそのデータを読み取り、そのデータに再びエラーが含まれるかどうかを確認することができる。エラーが含まれる場合、物理的ロケーションに損傷があることを示す。このオプションは、新しいモードページパラメータによって制御することができる。ユーザがそのモードページに自動再割り当てを指定した場合、コントローラ18は回復したデータを新しいロケーションに書き込む。自動再割り当てが指定されておらず、元のロケーションに対する再書き込みも指定されていない場合、回復されたデータは保護領域に保存することができる。この保護領域は、その後の回復不能なエラーの場合にチェックすることが可能であり、それによって、消失したデータがこの保護区域内に存在するかどうかを調べることができる。
ここで詳細に説明したハードディスクドライブにおいて自主的データスクラビングを行うための特定のシステムおよび方法によって、本発明の上記の目的を十分に達成することができる。当然のことながら、これは現在のところ本発明の好ましい実施例であり、そのため本発明によって広範囲に検討される主題を代表するものであり、本発明の適用範囲には当業者にとって明らかなその他の実施例が全面的に含まれており、従って、本発明の適用範囲は、添付の特許請求の範囲以外によって限定されることはない。ここで、単数の要素の参照は、特に明記されていない限り「1つおよび唯一」を意味することを意図してはおらず、むしろ「1つ以上」を意味する。装置または方法においては、本発明によって解決するように求められた問題の一つ一つに取り組むことは必要ではなく、また本特許請求の範囲によって包括される必要はない。その上、本開示における要素、構成部分、または方法ステップは、これら要素、構成部分、または方法ステップが特許請求の範囲に明示的に列挙されているかどうかにかかわらず、公衆に開放されることを意図してはいない。ここで明白な定義が行われていない場合、特許請求の範囲の用語には、本明細書およびファイル履歴と矛盾することのないすべての通常の使い慣れた意味が与えられる。
クライアントのプロセッサと連携したRAIDシステムを示すブロック図である。 図1に示されるシステムのハードディスクドライブ(HDD)の1つを示すブロック図である。 データスクラブプロセスのフローチャートであり、保証されたスクラブレートをサポートするためのオプションのロジックを示す。 図3に示されるスクラブプロセスを中断するプロセスのフローチャートであり、スクラブの再開を一定のまたは適応的期間だけ遅延させるためのオプションのロジック、および便宜的データスクラビングのオプションのロジックを示す。 図3のスクラブプロセスを使用して、保証されたスクラブレートを確定するプロセスを示すフローチャートである。 図3のスクラブプロセスの間にスクラブすべき次のデータユニットを選択するための好ましいプロセスを示すフローチャートである。 図4のスクラブ中断ロジックの間に、ユーザによって要求された読み取りまたは書き込みを実行するための好ましいプロセスを示すフローチャートである。 好ましいデータバンドテーブルを示す。 図8のテーブルを維持管理するための好ましいプロセスを示すフローチャートである。 スクラブすべきユニットを選択するための好ましいプロセスを示すフローチャートである。
符号の説明
10…RAIDシステム、12…RAIDコントローラ、14…クライアントプロセッサ、16…ハードディスクドライブ(HDD)、18…ドライブコントローラ、20…データストレージディスク、22…ソリッドステートデータキャッシュ。

Claims (29)

  1. 少なくとも1つのストレージディスクと、ディスクからのデータの読み取りおよびディスクへのデータの書き込みを行う少なくとも1つのドライブコントローラとを有するハードディスクドライブであって、
    前記ドライブコントローラは、少なくとも1つのデータユニットを読み取り、前記データユニット内にエラーが存在するかどうかを判定して、エラーが存在する場合、エラーの記録とエラーの報告の少なくとも一方に着手し、更にその後のデータユニットについての読み取りおよび判定ロジックを行うスクラブサイクルを実行すること、および
    データの読み取りおよびデータの書き込みの少なくとも1つについてのユーザ要求を受け取った場合、前記スクラブサイクルを中断して前記ユーザ要求を実行した後、前記スクラブサイクルを再開することを含むロジックを実行することを特徴とするハードディスクドライブ。
  2. RAIDシステムと組み合わせてなり、前記ドライブコントローラはRAIDコントローラから前記ユーザ要求を受け取ることを特徴とする請求項1に記載のディスクドライブ。
  3. ユーザ要求キュー内のすべてのユーザ要求を実行した後、前記スクラブサイクルを再開する前に遅延期間だけ待つことを特徴とする請求項2に記載のディスクドライブ。
  4. 前記遅延期間は、前記RAIDコントローラから受け取ったユーザ要求の頻度および要求数の少なくとも1つに依存する適応的遅延期間であることを特徴とする請求項3に記載のディスクドライブ。
  5. 前記ディスクドライブは複数のデータバンドに分割されており、前記ドライブコントローラは少なくとも各バンドに対する最近のアクセスを示すテーブルを維持管理することを特徴とする請求項1に記載のディスクドライブ。
  6. 要求の実行の一部として、ディスク上の、ユーザ要求に供されるデータのすぐ隣のデータに対して前記スクラブサイクルを実行することを特徴とする請求項1に記載のディスクドライブ。
  7. 第2のデータよりも後に書き込まれた第1のデータに対して前記スクラブサイクルを実行してから、前記第2のデータをスクラブすることを特徴とする請求項1に記載のディスクドライブ。
  8. 他の使用頻度のより低いエリアよりも頻繁にアクセスされたディスクエリア上で前記スクラブサイクルを実行してから、前記使用頻度のより低いエリアをスクラブすることを特徴とする請求項1に記載のディスクドライブ。
  9. 少なくとも1つのストレージディスクと、ディスクからのデータの読み取りおよびディスクへのデータの書き込みを行う少なくとも1つのドライブコントローラとを有するハードディスクドライブであって、
    前記ドライブコントローラは、少なくとも1つのデータユニットを読み取り、前記データユニット内にエラーが存在するかどうかを判定して、エラーが存在する場合、エラーの記録とエラーの報告の少なくとも一方に着手し、更にその後のデータユニットについての読み取りおよび判定ロジックを行うスクラブサイクルを実行すること、および、
    データの読み取りおよびデータの書き込みの少なくとも1つについてのユーザ要求を受け取った場合、かつ現在のスクラブレートがしきい値レートを超えた場合、前記スクラブサイクルを中断して前記ユーザ要求を実行した後、前記スクラブサイクルを再開し、それ以外の場合は、少なくとも前記スクラブサイクルの現在のスクラブ読み取りは中断しないことを含むロジックを実行することを特徴とするハードディスクドライブ。
  10. RAIDシステムと組み合わせてなり、前記ドライブコントローラはRAIDコントローラから前記ユーザ要求を受け取ることを特徴とする請求項9に記載のディスクドライブ。
  11. ユーザ要求キュー内のすべてのユーザ要求を実行した後、前記スクラブサイクルを再開する前に遅延期間だけ待つことを特徴とする請求項10に記載のディスクドライブ。
  12. 前記遅延期間は、前記RAIDコントローラから受け取ったユーザ要求の頻度および要求数の少なくとも1つに依存する適応的遅延期間であることを特徴とする請求項11に記載のディスクドライブ。
  13. 前記ディスクドライブは複数のデータバンドに分割されており、前記ドライブコントローラは少なくとも各バンドに対する最近のアクセスを示すテーブルを維持管理することを特徴とする請求項9に記載のディスクドライブ。
  14. 要求の実行の一部として、ディスク上の、ユーザ要求に供されるデータのすぐ隣のデータに対して前記スクラブサイクルを実行することを特徴とする請求項9に記載のディスクドライブ。
  15. 第2のデータよりも後に書き込まれた第1のデータに対して前記スクラブサイクルを実行してから、前記第2のデータをスクラブすることを特徴とする請求項9に記載のディスクドライブ。
  16. 他の使用頻度のより低いエリアよりも頻繁にアクセスされたディスクエリア上で前記スクラブサイクルを実行してから、前記使用頻度のより低いエリアをスクラブすることを特徴とする請求項9に記載のディスクドライブ。
  17. 少なくとも1つのストレージディスクと、ディスクからのデータの読み取りおよびディスクへのデータの書き込みを行う少なくとも1つのドライブコントローラとを有するハードディスクドライブであって、
    前記ドライブコントローラは、少なくとも1つのデータユニットを読み取り、前記データユニット内にエラーが存在するかどうかを判定して、エラーが存在する場合、エラーの記録とエラーの報告の少なくとも一方に着手し、更にその後のデータユニットについての読み取りおよび判定ロジックを行うスクラブサイクルを実行し、この場合、前記スクラブサイクルを、第2のデータよりも後に書き込まれた第1のデータに対して実行した後で、前記第2のデータに対して実行することを含むロジックを実行することを特徴とするハードディスクドライブ。
  18. データの読み取りおよびデータの書き込みの少なくとも1つについてのユーザ要求を受け取った場合、前記スクラブサイクルを中断して前記ユーザ要求を実行した後、前記スクラブサイクルを再開することを特徴とする請求項17に記載のハードディスクドライブ。
  19. RAIDシステムと組み合わせてなり、前記ドライブコントローラはRAIDコントローラから前記ユーザ要求を受け取ることを特徴とする請求項18に記載のディスクドライブ。
  20. データの読み取りおよびデータの書き込みの少なくとも1つに対するユーザ要求を受け取った場合、かつ現在のスクラブレートがしきい値レートを超えた場合、前記スクラブサイクルを中断して前記ユーザ要求を実行した後、前記スクラブサイクルを再開し、それ以外の場合は、少なくとも前記スクラブサイクルの現在のスクラブ読み取りは中断しないことを特徴とする請求項17に記載のハードディスクドライブ。
  21. 少なくとも1つのストレージディスクと、ディスクからのデータの読み取りおよびディスクへのデータの書き込みを行う少なくとも1つのドライブコントローラとを有するハードディスクドライブであって、
    前記ドライブコントローラは、少なくとも1つのデータユニットを読み取り、ここで前記データユニットは、それがディスク上のユーザ要求に供されたデータのすぐ隣にある場合、スクラブ対象として優先的に選択され、前記データユニット内にエラーが存在するかどうかを判定して、エラーが存在する場合、エラーの記録とエラーの報告の少なくとも一方に着手し、更にその後のデータユニットについての読み取りおよび判定ロジックを行うスクラブサイクルを実行することを含むロジックを実行することを特徴とするハードディスクドライブ。
  22. データの読み取りおよびデータの書き込みの少なくとも1つについてのユーザ要求を受け取った場合、前記スクラブサイクルを中断して前記要求を実行した後、前記スクラブサイクルを再開することを特徴とする請求項21に記載のハードディスクドライブ。
  23. RAIDシステムと組み合わせてなり、前記ドライブコントローラはRAIDコントローラから前記ユーザ要求を受け取ることを特徴とする請求項22に記載のディスクドライブ。
  24. データの読み取りおよびデータの書き込みの少なくとも1つに対するユーザ要求を受け取った場合、かつ現在のスクラブレートがしきい値レートを超えた場合、前記スクラブサイクルを中断して前記ユーザ要求を実行した後、前記スクラブサイクルを再開し、それ以外の場合は、少なくとも前記スクラブサイクルの現在のスクラブ読み取りは中断しないことを特徴とする請求項21に記載のハードディスクドライブ。
  25. 少なくとも1つのストレージディスクと、ディスクからのデータの読み取りおよびディスクへのデータの書き込みを行う少なくとも1つのドライブコントローラとを有するハードディスクドライブであって、
    前記ドライブコントローラは、少なくとも1つのデータユニットを読み取り、前記データユニット内にエラーが存在するかどうかを判定して、エラーが存在する場合、エラーの記録とエラーの報告の少なくとも一方に着手し、更にその後のデータユニットについての読み取りおよび判定ロジックを行うスクラブサイクルを実行し、この場合、前記スクラブサイクルは、他の使用頻度のより低いエリアよりも頻繁にアクセスされたディスクエリア上で実行された後で、前記使用頻度のより低いエリア上で実行されることを特徴とするハードディスクドライブ。
  26. データの読み取りおよびデータの書き込みの少なくとも1つに対するユーザ要求を受け取った場合、前記スクラブサイクルを中断して前記ユーザ要求を実行した後、前記スクラブサイクルを再開することを特徴とする請求項25に記載のハードディスクドライブ。
  27. RAIDシステムと組み合わせてなり、前記ドライブコントローラはRAIDコントローラから前記ユーザ要求を受け取ることを特徴とする請求項26に記載のディスクドライブ。
  28. データの読み取りおよびデータの書き込みの少なくとも1つについてのユーザ要求を受け取った場合、かつ現在のスクラブレートがしきい値レートを超えた場合、前記スクラブサイクルを中断して前記ユーザ要求を実行した後、前記スクラブサイクルを再開し、それ以外の場合は、少なくとも前記スクラブサイクルの現在のスクラブ読み取りは中断しないことを特徴とする請求項25に記載のハードディスクドライブ。
  29. RAIDコントローラと複数のハードディスクドライブとを有し、各ディスクドライブが、少なくとも1つのストレージディスクと、ディスクからのデータの読み取りおよびディスクへのデータの書き込みを行う少なくとも1つのドライブコントローラとを有する、独立した複数のディスクの冗長アレイ(RAID)システムにおいて、
    各ディスクドライブの前記ドライブコントローラは前記RAIDコントローラに接続されており、各ドライブの前記ドライブコントローラは、そのディスク上でスクラブサイクルを自主的に実行するとともに、データの読み取りおよびデータの書き込みの少なくとも1つについてのユーザ要求を受け取った場合、前記スクラブサイクルを中断して前記ユーザ要求を実行した後、前記スクラブサイクルを再開することを特徴とする独立した複数のディスクの冗長アレイ(RAID)システム。
JP2004221552A 2003-07-29 2004-07-29 ハードディスクドライブおよびこれを含むraidシステム Pending JP2005050346A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/629,675 US7137038B2 (en) 2003-07-29 2003-07-29 System and method for autonomous data scrubbing in a hard disk drive

Publications (2)

Publication Number Publication Date
JP2005050346A true JP2005050346A (ja) 2005-02-24
JP2005050346A5 JP2005050346A5 (ja) 2007-09-06

Family

ID=33541483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004221552A Pending JP2005050346A (ja) 2003-07-29 2004-07-29 ハードディスクドライブおよびこれを含むraidシステム

Country Status (7)

Country Link
US (1) US7137038B2 (ja)
EP (1) EP1503378A3 (ja)
JP (1) JP2005050346A (ja)
KR (1) KR20050013938A (ja)
CN (1) CN1577587A (ja)
SG (1) SG148019A1 (ja)
TW (1) TW200516380A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009151681A (ja) * 2007-12-21 2009-07-09 Hitachi Ltd ディスクアレイ装置
JP2009530728A (ja) * 2006-03-21 2009-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Raidアダプタからのディスク関連タスクのオフロードのための方法、システム、プログラム(raidアダプタからのディスク関連タスクのオフロード)
JP2011518392A (ja) * 2008-04-22 2011-06-23 エルエスアイ コーポレーション ドライブアレイにおける分散キャッシュシステム
JP2014199578A (ja) * 2013-03-29 2014-10-23 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム及びストレージ制御方法
JP2021515935A (ja) * 2018-03-20 2021-06-24 ベリタス テクノロジーズ エルエルシー 障害ドメインを有する分散型記憶デバイス内のビット腐敗を検出するためのシステム及び方法

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107838A (ja) * 2003-09-30 2005-04-21 Toshiba Corp ディスクアレイコントローラ及びログ情報記録方法
US7278067B1 (en) * 2004-04-30 2007-10-02 Network Appliance, Inc. Method and an apparatus for aggressively detecting media errors on storage devices with negligible performance impact
US7257686B2 (en) * 2004-06-03 2007-08-14 International Business Machines Corporation Memory controller and method for scrubbing memory without using explicit atomic operations
US7346806B2 (en) * 2004-09-23 2008-03-18 International Business Machines Corporation Hard disk drive background scrub methodology
US7346804B2 (en) * 2004-09-23 2008-03-18 International Business Machines Corporation Hard disk drive data scrub methodology
KR100652399B1 (ko) * 2005-02-02 2006-12-01 삼성전자주식회사 하드디스크 드라이브의 디펙트 처리 방법, 이에 적합한하드디스크 드라이브 및 기록 매체
US7496823B2 (en) * 2005-03-16 2009-02-24 Hewlett-Packard Development Company, L.P. Hardware based memory scrubbing
US8745011B2 (en) * 2005-03-22 2014-06-03 International Business Machines Corporation Method and system for scrubbing data within a data storage subsystem
US7325078B2 (en) * 2005-10-06 2008-01-29 Hewlett-Packard Development Company, L.P. Secure data scrubbing
TWI289759B (en) * 2005-10-07 2007-11-11 Via Tech Inc Controller and operation method thereof of a disk array
US20070168754A1 (en) * 2005-12-19 2007-07-19 Xiv Ltd. Method and apparatus for ensuring writing integrity in mass storage systems
US8510596B1 (en) * 2006-02-09 2013-08-13 Virsec Systems, Inc. System and methods for run time detection and correction of memory corruption
US7882323B2 (en) * 2007-09-07 2011-02-01 International Business Machines Corporation Scheduling of background scrub commands to reduce high workload memory request latency
US7882314B2 (en) * 2007-09-07 2011-02-01 International Business Machines Corporation Efficient scheduling of background scrub commands
US7975171B2 (en) * 2007-09-12 2011-07-05 International Business Machines Corporation Automated file recovery based on subsystem error detection results
US8140752B2 (en) * 2007-09-20 2012-03-20 Xyratex Technology Limited Method of executing a background task and an array controller
JP4606455B2 (ja) * 2007-12-20 2011-01-05 富士通株式会社 ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム
US7788541B2 (en) * 2008-04-15 2010-08-31 Dot Hill Systems Corporation Apparatus and method for identifying disk drives with unreported data corruption
US8347182B2 (en) * 2008-07-01 2013-01-01 International Business Machines Corporation Ensuring data consistency
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
US8280858B2 (en) * 2009-06-29 2012-10-02 Oracle America, Inc. Storage pool scrubbing with concurrent snapshots
US20110099421A1 (en) * 2009-09-30 2011-04-28 Alessandro Geist Radiation-hardened hybrid processor
US8407191B1 (en) * 2010-06-29 2013-03-26 Emc Corporation Priority based data scrubbing on a deduplicated data store
US8229901B2 (en) 2010-09-04 2012-07-24 International Business Machines Corporation Disk scrubbing
WO2012172645A1 (ja) * 2011-06-14 2012-12-20 富士通株式会社 メモリ制御装置および制御方法
US20130191833A1 (en) * 2012-01-23 2013-07-25 Dell Products L.P. System and method for assuring performance of data scrubbing operations
US9026869B1 (en) 2012-11-01 2015-05-05 Amazon Technologies, Inc. Importance-based data storage verification
US8892939B2 (en) * 2012-11-21 2014-11-18 Hewlett-Packard Development Company, L.P. Optimizing a RAID volume
US9104604B2 (en) * 2013-02-26 2015-08-11 International Business Machines Corporation Preventing unrecoverable errors during a disk regeneration in a disk array
US10534683B2 (en) 2013-08-29 2020-01-14 International Business Machines Corporation Communicating outstanding maintenance tasks to improve disk data integrity
US10079841B2 (en) 2013-09-12 2018-09-18 Virsec Systems, Inc. Automated runtime detection of malware
US9354994B2 (en) 2014-02-18 2016-05-31 International Business Machines Corporation Preemptive relocation of failing data
EP3161638A1 (en) 2014-06-24 2017-05-03 Virsec Systems, Inc. Automated root cause analysis of single or n-tiered applications
US10354074B2 (en) 2014-06-24 2019-07-16 Virsec Systems, Inc. System and methods for automated detection of input and output validation and resource management vulnerability
US9495242B2 (en) 2014-07-30 2016-11-15 International Business Machines Corporation Adaptive error correction in a memory system
KR102419574B1 (ko) 2016-06-16 2022-07-11 버섹 시스템즈, 인코포레이션 컴퓨터 애플리케이션에서 메모리 손상을 교정하기 위한 시스템 및 방법
US10310935B2 (en) * 2016-11-17 2019-06-04 International Business Machines Corporation Dynamically restoring disks based on array properties
US10649843B2 (en) * 2018-08-03 2020-05-12 Western Digital Technologies, Inc. Storage systems with peer data scrub
US10824526B2 (en) 2018-08-03 2020-11-03 Western Digital Technologies, Inc. Using failed storage device in peer-to-peer storage system to perform storage-centric task
US10831603B2 (en) 2018-08-03 2020-11-10 Western Digital Technologies, Inc. Rebuild assist using failed storage device
US10901848B2 (en) * 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US11182258B2 (en) 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
US11455402B2 (en) 2019-01-30 2022-09-27 Seagate Technology Llc Non-volatile memory with precise write-once protection
US11347884B2 (en) 2019-07-02 2022-05-31 Bank Of America Corporation Data security tool
US11182358B2 (en) 2019-07-18 2021-11-23 International Business Machines Corporation Performance enhanced data scrubbing
US10922012B1 (en) * 2019-09-03 2021-02-16 Dropbox, Inc. Fair data scrubbing in a data storage system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04310671A (ja) * 1991-04-09 1992-11-02 Toshiba Corp ディスク制御装置
JPH05158628A (ja) * 1991-12-05 1993-06-25 Nec Ibaraki Ltd 磁気ディスク制御装置
JPH05181618A (ja) * 1991-12-26 1993-07-23 Nec Ibaraki Ltd 周辺制御装置
JPH0667812A (ja) * 1992-08-18 1994-03-11 Nec Corp 高密度磁気ディスク装置のパトロールシーク方式
JPH07281965A (ja) * 1990-09-20 1995-10-27 Fujitsu Ltd 入出力制御装置
JPH0887383A (ja) * 1994-06-15 1996-04-02 Matsushita Electric Ind Co Ltd ディスクを有するコンピュータの節電方法
JPH0917099A (ja) * 1995-06-30 1997-01-17 Internatl Business Mach Corp <Ibm> データ記録ディスク駆動機構において電力消費を管理する方法
JP2000347814A (ja) * 1999-06-03 2000-12-15 Sony Corp 記録媒体制御装置及び記録媒体制御方法
JP2001331243A (ja) * 2000-05-19 2001-11-30 Fujitsu Ltd 情報処理装置及び省電力制御方法及び省電力制御プログラムを格納した記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210860A (en) * 1990-07-20 1993-05-11 Compaq Computer Corporation Intelligent disk array controller
US5819109A (en) * 1992-12-07 1998-10-06 Digital Equipment Corporation System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete
US5632012A (en) * 1993-11-24 1997-05-20 Storage Technology Corporation Disk scrubbing system
US6345349B1 (en) * 1998-12-30 2002-02-05 Intel Corporation Combined memory and mass storage device
US6715116B2 (en) * 2000-01-26 2004-03-30 Hewlett-Packard Company, L.P. Memory data verify operation
US7017107B2 (en) 2001-04-30 2006-03-21 Sun Microsystems, Inc. Storage array employing scrubbing operations at the disk-controller level
US7062704B2 (en) * 2001-04-30 2006-06-13 Sun Microsystems, Inc. Storage array employing scrubbing operations using multiple levels of checksums
US6848063B2 (en) * 2001-11-20 2005-01-25 Hewlett-Packard Development Company, L.P. System and method for scrubbing errors in very large memories

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281965A (ja) * 1990-09-20 1995-10-27 Fujitsu Ltd 入出力制御装置
JPH04310671A (ja) * 1991-04-09 1992-11-02 Toshiba Corp ディスク制御装置
JPH05158628A (ja) * 1991-12-05 1993-06-25 Nec Ibaraki Ltd 磁気ディスク制御装置
JPH05181618A (ja) * 1991-12-26 1993-07-23 Nec Ibaraki Ltd 周辺制御装置
JPH0667812A (ja) * 1992-08-18 1994-03-11 Nec Corp 高密度磁気ディスク装置のパトロールシーク方式
JPH0887383A (ja) * 1994-06-15 1996-04-02 Matsushita Electric Ind Co Ltd ディスクを有するコンピュータの節電方法
JPH0917099A (ja) * 1995-06-30 1997-01-17 Internatl Business Mach Corp <Ibm> データ記録ディスク駆動機構において電力消費を管理する方法
JP2000347814A (ja) * 1999-06-03 2000-12-15 Sony Corp 記録媒体制御装置及び記録媒体制御方法
JP2001331243A (ja) * 2000-05-19 2001-11-30 Fujitsu Ltd 情報処理装置及び省電力制御方法及び省電力制御プログラムを格納した記録媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009530728A (ja) * 2006-03-21 2009-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Raidアダプタからのディスク関連タスクのオフロードのための方法、システム、プログラム(raidアダプタからのディスク関連タスクのオフロード)
JP2009151681A (ja) * 2007-12-21 2009-07-09 Hitachi Ltd ディスクアレイ装置
JP2011518392A (ja) * 2008-04-22 2011-06-23 エルエスアイ コーポレーション ドライブアレイにおける分散キャッシュシステム
JP2014199578A (ja) * 2013-03-29 2014-10-23 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム及びストレージ制御方法
JP2021515935A (ja) * 2018-03-20 2021-06-24 ベリタス テクノロジーズ エルエルシー 障害ドメインを有する分散型記憶デバイス内のビット腐敗を検出するためのシステム及び方法

Also Published As

Publication number Publication date
KR20050013938A (ko) 2005-02-05
EP1503378A3 (en) 2007-08-08
TW200516380A (en) 2005-05-16
CN1577587A (zh) 2005-02-09
SG148019A1 (en) 2008-12-31
US20050028048A1 (en) 2005-02-03
EP1503378A2 (en) 2005-02-02
US7137038B2 (en) 2006-11-14

Similar Documents

Publication Publication Date Title
JP2005050346A (ja) ハードディスクドライブおよびこれを含むraidシステム
US7234074B2 (en) Multiple disk data storage system for reducing power consumption
US6854022B1 (en) Disk drive using rotational position optimization algorithm to facilitate write verify operations
US6961815B2 (en) Multiple disk data storage system for reducing power consumption
US6223252B1 (en) Hot spare light weight mirror for raid system
US8819375B1 (en) Method for selective defragmentation in a data storage device
JP2501752B2 (ja) コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法
US6789163B2 (en) Optimizing data transfer performance through partial write command purging in a disc drive
JP4469906B2 (ja) 磁気ディスク装置及び同装置におけるデータリフレッシュ方法
US20080082744A1 (en) Storage system having data comparison function
US9940201B2 (en) Disk array having mirror configuration and rebuilding method therefor
US8947817B1 (en) Storage system with media scratch pad
US20020019959A1 (en) Automatic read reassignment method and a magnetic disk drive
KR20080056082A (ko) 하드디스크드라이브 및 명령 실행 방법
JP2007334593A (ja) Raidコントローラおよびraid装置
US10346051B2 (en) Storage media performance management
US9373347B2 (en) Data write management
JP2005309818A (ja) ストレージ装置、そのデータ読出方法、及びそのデータ読出プログラム
JP5233733B2 (ja) ストレージ装置,ストレージ制御装置およびストレージ制御プログラム
US20040133741A1 (en) Disk array apparatus and data writing method used in the disk array apparatus
US20050283651A1 (en) Disk controller, disk patrol method, and computer product
US7526605B2 (en) System and method for optimizing random XOR command performance
JP4869416B2 (ja) 磁気ディスク装置及び同装置におけるデータリフレッシュ方法
US6957300B2 (en) Reducing delay of command completion due to overlap condition
US7334081B2 (en) System and method for optimizing sequential XOR command performance

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070724

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100727