JP4988214B2 - 記憶装置における喪失した書き込みの検出および回復 - Google Patents

記憶装置における喪失した書き込みの検出および回復 Download PDF

Info

Publication number
JP4988214B2
JP4988214B2 JP2006017056A JP2006017056A JP4988214B2 JP 4988214 B2 JP4988214 B2 JP 4988214B2 JP 2006017056 A JP2006017056 A JP 2006017056A JP 2006017056 A JP2006017056 A JP 2006017056A JP 4988214 B2 JP4988214 B2 JP 4988214B2
Authority
JP
Japan
Prior art keywords
write
cache
data
application
certain embodiments
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.)
Active
Application number
JP2006017056A
Other languages
English (en)
Other versions
JP2006221623A5 (ja
JP2006221623A (ja
Inventor
ウィリアム・ジョン・デュリカ
エム・アミン・ハッジ
ジョゼフ・スミス・ハイドIi世
ロナルド・ジェイ・ヴェンチューリ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006221623A publication Critical patent/JP2006221623A/ja
Publication of JP2006221623A5 publication Critical patent/JP2006221623A5/ja
Application granted granted Critical
Publication of JP4988214B2 publication Critical patent/JP4988214B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N33/00Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
    • G01N33/48Biological material, e.g. blood, urine; Haemocytometers
    • G01N33/483Physical analysis of biological material
    • G01N33/487Physical analysis of biological material of liquid biological material
    • G01N33/49Blood
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3187Built-in tests
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/145Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue
    • A61B5/1468Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue using chemical or electrochemical methods, e.g. by polarographic means

Description

発明は、記憶装置における喪失した書き込みの検出および回復のための方法に係る
ディスク・ドライブにデータを書き込む書き込み動作は、断続的または永続的に障害が発生する可能性がある。こうした障害を検出するために、ある種のドライブは、書き込み電流が一定のしきい値よりも低い場合に検出する、ヘッド読み取りおよび書き込み前置増幅(preamplification)回路を使用する。この検出回路に加えられた複雑性が、信頼性の問題を提示する可能性がある。さらに、検出しきい値の設定が、すべての書き込みエラーの検出を保証するものでない場合がある。
ある種の実施では、アクチュエータを定期的にディスクの予約領域へ移動させ、その後書き込んで、各ヘッドによって書き込まれた内容を検証することによる、ディスク・ドライブの書き込み喪失の問題がある。このすべてのヘッドに関する書き込み能力の検証は、永続問題用自己テスト(persistent problem self test:PPST)と呼ばれることがある。このメカニズムは、書き込み問題が永続的である場合、すなわち、書き込みを喪失しているドライブが不良ヘッドに関する後続のすべての書き込みの喪失を継続する場合にのみ、喪失した書き込みを検出する。PPST検証メカニズムは、断続的に喪失した書き込みの検出には十分に有効ではない。加えてPPST検証は、連続するPPST書き込み能力検証の間に喪失した書き込みが原因で書き込まれなかったデータを回復させることはできない。さらに、データ破損の量を最小限にするためにPPST検証の頻度が上がった場合、入力/出力(I/O)性能は許容不可能なレベルまで低下する可能性がある。
ある種の実施では、連続するPPST検証間にキャッシュ内のすべての書き込みを維持することによって、PPST検証を増補することができる。誤った書き込みが検出された場合、データはキャッシュから直接回復される。ヘッドの定期的チェックでは断続的に喪失する書き込みが検出されない場合があるため、このメカニズムでは断続的に喪失する書き込みは保護しない。さらに、PPST検証のオーバヘッドによる性能の低下を緩和するために、かなり大型で潜在的に高価な専用キャッシュが必要となる可能性がある。すべての書き込みを取り込むために必要なキャッシュは、PPST検証間の時間間隔の増加と共に増大する。
断続的および永続的の両方の喪失した書き込みを保護するある種の実施では、それぞれの書き込み動作に対して書き込み検証を実行することが可能であり、書き込みが実行されるごとにディスク・ドライブが回転を完了し、書き込まれたばかりのデータを読み取って、その書き込まれたばかりのデータと書き込みバッファ内のデータとを比較する。これによってデータが損失しないことは保証されるが、ドライブの待ち時間が追加され、結果として生じるI/O性能が受け入れ不可能なものとなる可能性がある。
本発明の目的は、記憶媒体における喪失した書き込みの検出および回復のための方法を提供することである。
記憶媒体に書き込むように要求されたデータがキャッシュに格納される。記憶媒体へのデータの書き込みが開始される。キャッシュに格納されたデータと記憶媒体に書き込まれたデータとが同じであるかどうかが、定期的に判別される。
追加の実施形態では、キャッシュに格納されたデータと記憶媒体に書き込まれたデータとが同じであるという判定に応答して、格納されたデータがキャッシュから除去される。
さらに追加の実施形態では、キャッシュに格納されたデータと記憶媒体に書き込まれたデータとが同じでないという判定に応答して、記憶媒体は書き込み保護される。記憶媒体に対して喪失された少なくとも1つの書き込みを示すエラーが生成される。
他の実施形態では、記憶媒体はディスクであり、キャッシュはディスクよりも記憶容量が小さく、ディスクに比べてキャッシュにデータを書き込む方が信頼性が高く、ホスト・アプリケーションは記憶媒体からではなくキャッシュから未検証のデータを読み取る。
さらに他の実施形態では、キャッシュ内のエントリの数がしきい値を超えたかどうかが判別され、エントリはキャッシュに入れられた書き込みに対応する。エントリ内の書き込みアドレスが合体され、合体済み書き込みアドレスのリストを生成する。合体済み書き込みアドレスのリストが順序付けされ、低順位の合体済み書き込みアドレスより前に、記憶媒体への書き込みエラーについて高順位の合体済み書き込みアドレスが検証される。ある種の実施形態では、しきい値を超えることはキャッシュが満杯の10パーセントを上回ることを示す。
追加の実施形態では、キャッシュ内のエントリの数がしきい値を超えたかどうかが判別され、エントリは書き込みアドレスに対応する。選択されたエントリに対応するデータが、エラーなしで記憶媒体に書き込まれたかどうかが判別される。ある種の実施形態では、しきい値を超えることはキャッシュが満杯の90パーセントを上回ることを示す。他の実施形態では、検証は、総合検証用自己テストが実行可能であるという判定に応答するものであり、総合検証用自己テストが実行可能でない場合、永続問題用自己テストが実行される。
ある種の追加の実施形態では、記憶媒体への書き込みはある1つの順序で実行され、記憶媒体への書き込みの検証は別の順序で実行される。
さらに追加の実施形態では、キャッシュに格納されたデータが記憶媒体に書き込まれたデータと同じでない場合、断続的書き込みエラーが検証される。
次に図面を参照するが、全体を通じて同じ参照番号は対応する部分を表す。
以下の説明では、本明細書の一部を形成し、いくつかの実施形態を示す、添付の図面を参照する。他の実施形態が使用可能であり、構造および動作の変更が可能であることを理解されよう。
ある種の実施形態では、ディスク・ドライブが全ブロック書き込みを断続的または永続的に喪失した場合、および書き込みエラーの報告に障害が生じた場合に、ディスク・ドライブからデータを回復することができる。
図1は、ある種の実施形態に従ったコンピューティング環境100を示すブロック図である。ディスク・ドライブ102などの記憶装置が、ホスト・コンピュータ・デバイスなどのコンピュータ・デバイス104に結合される。ディスク・ドライブ102は、直接、またはストレージ・エリア・ネットワーク(SAN)、ローカル・エリア・ネットワーク(LAN)、イントラネット、インターネットなどの、ネットワークを介して、コンピュータ・デバイスに結合することができる。
コンピュータ・デバイス104は、クライアント、ストレージ・サーバ、サーバ、パーソナル・コンピュータ、ワークステーション、メインフレーム、ミッドレンジ・コンピュータ、ネットワーク・アプライアンス、パーム・トップ・コンピュータ、テレフォニ・デバイス、ブレード・コンピュータ、ハンド・ヘルド・コンピュータなどの、当分野で現在知られているものを含む、任意の好適なコンピュータ・デバイスとすることができる。図1は、ディスク・ドライブ102を記憶装置として示しているが、代替の実施形態では、記憶装置は当分野で知られた任意の他の好適なデバイスとすることができる。例示的なディスク・ドライブ102は、ある種の実施形態では、新磁気ディスク制御機構(RAID:Redundant Array of Independent Disk)アレイに含めるか、または単純ディスク束(JBOD:Just a Bunch of Disks)に含めることができる。
ディスク・ドライブ102は、未検証の書き込みデータ106aを格納するキャッシュ106と、キャッシュ106に格納されたエントリに対応する非重複論理ブロック・アドレスおよび関連するカウントの順序付けリスト110を維持するリスト維持管理(maintainer)アプリケーション108と、所定の条件114のセットのうちの1つまたは複数が満たされた場合に実行される総合検証用自己テスト(CVST)アプリケーション112と、PPSTアプリケーション116とを含むことができる。ディスク・ドライブ102は、データを書き込むことが可能な1つまたは複数のディスク118を備えることができる。
キャッシュ106は、任意の好適な不揮発性メモリを含むことができる。ある種の実施形態では、キャッシュへの書き込みはディスク118への書き込みよりもかなり高い信頼度で実行される。キャッシュ106に格納された未検証書き込みデータ106aは、たとえディスク・ドライブ102がリセットされた場合であっても保持される。
リスト維持管理アプリケーション108、CVSTアプリケーション116、およびPPSTアプリケーション116は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせで実施可能である。順序付けリスト110および所定の条件114は、任意の好適なデータ構造に格納することができる。
ある種の実施形態では、ディスク・ドライブ102でコンピュータ・デバイス104から書き込み要求が受け取られた場合、書き込み要求に対応するデータはキャッシュ106に格納される。ディスク118へのデータの書き込み時に何らかのエラーが生じた場合、CVSTアプリケーション112あるいはPPSTアプリケーション116またはその両方は、ディスク118に書き込まれたデータとキャッシュ106に格納されたデータとを比較することによって、エラーを判別することができる。
図2は、ある種の実施形態に従った、コンピューティング環境100に含まれるコンポーネントおよびデータ構造を示すブロック図である。
リスト維持管理アプリケーション108は順序付けリスト110を維持し、順序付けリスト110は非重複論理ブロック・アドレス(LBA)および関連するカウントを備えたエントリを含む。たとえば、順序付けリスト110の例示的エントリは、カウント=4で論理ブロック・アドレス=3への書き込みに対応することができる。これは、データが4つの論理ブロック・アドレス3、4、5、および6に書き込まれることを暗黙に示す。論理ブロック・アドレス3、4、5、および6はすでに例示的エントリに含まれているため、順序付けリスト110には論理ブロック・アドレス3、4、5、または6を含む他のエントリはない。リスト維持管理アプリケーション108は、ディスク・ドライブ102からの読み取り性能を向上させるために、リスト110も順序付けする。
ある種の所定の条件が満たされた場合、CVSTアプリケーション112は順序付けリスト110のサブセット200を選択し、対応する読み取りコマンド202を発行して、ディスク118からデータを読み取ることができる。ある種の実施形態では、選択されたサブセット200は、順序付けリスト110内のエントリの上位5%を含むことができる。たとえば、サブセット200内の選択されたエントリが論理ブロック・アドレス=3およびカウント=4に対応する場合、CVSTアプリケーション112は、ディスク118から論理ブロック・アドレス3、4、5、6を読み取るために読み取りコマンド202を発行することができる。
ディスク118内に格納されたデータ204とキャッシュ106に格納されたデータとが比較され(参照数206)、データ204は実行された読み取りコマンド202の結果である。比較の結果を示すステータス208を、リスト維持管理アプリケーション108に送信するために生成することができる。たとえばステータス208が、ディスク118内のデータ204がキャッシュ108内のデータと一致することを示す場合、リスト維持管理アプリケーション108は順序付けリスト110内の対応するエントリを削除することができる。というのは、この一致は、削除されたエントリに対応する未検証書き込みデータ106aがディスク118に正しく書き込まれることが検証されたことを示すからである。
したがって図2は、リスト維持管理アプリケーション108およびCVSTアプリケーション112が、ディスク118に書き込まれたデータとキャッシュ106に書き込まれたデータとを比較することによってディスク118に書き込まれたデータを検証する、ある種の実施形態を示す。
図3は、ある種の実施形態に従った、ディスク・ドライブ102で実施される喪失した書き込みから回復するための動作を示す図である。
制御はブロック300で開始され、ディスク・ドライブ102のディスク118にデータを書き込むための要求が受け取られる。ディスク・ドライブ102は(ブロック302で)書き込み要求に対応するデータをキャッシュ106に格納し、データはディスク118に書き込まれる。制御は、ブロック302からブロック304および308へ並行して進む。
ディスク・ドライブ102は(ブロック304で)、キャッシュ106がかなりの数のエントリを有するかどうかを判別する。ある種の実施形態では、キャッシュ106は、キャッシュが満杯の10パーセントを上回る場合に、かなりの数のエントリを有するものとみなすことができる。これを上回る場合ディスク・ドライブ102は(ブロック306で)、リスト維持管理アプリケーション108を実行してキャッシュ・エントリを合体する。リスト維持管理アプリケーション108は、非重複論理ブロック・アドレスおよび関連するカウントの順序付けリスト110を生成することができる。その後、制御はブロック300に戻る。キャッシュ106がかなりの数のエントリを有していない場合、ディスク・ドライブ102は制御をブロック300に戻し、ここで書き込み要求が受け取られる。
ディスク・ドライブ102は(ブロック308で)、キャッシュ106がほぼ満杯であるかどうかを判別する。たとえばある種の実施形態では、キャッシュが満杯の90%を超えている場合、キャッシュ106はほぼ満杯であるものとみなされる。ディスク・ドライブ102は(ブロック310)で、CVST処理が実行可能であるかどうかを判別する。実行可能である場合、ディスク・ドライブ102は(ブロック312で)、順序付けリスト110内の選択されたエントリ上でCVSTアプリケーション112を実行する。ある種の実施形態では、選択されたエントリは、順序付けリスト110内で最高順位を有するエントリ、たとえば順序付けリスト110内で上位5%のエントリとすることができる。新しい書き込み要求が受け取られると、制御はブロック300に戻る。ディスク・ドライブ102が(ブロック308で)、キャッシュ106がほぼ満杯ではないと判別した場合も、制御はブロック300に戻る。
ディスク・ドライブ102が(ブロック310で)、CVST処理が実行不能であると判別した場合、ディスク・ドライブ102は(ブロック314で)即時にPPSTアプリケーション116を実行し、制御はブロック300に戻る。PPSTアプリケーション116は、永続的に喪失した書き込み問題を検出することができる。ある種の実施形態では、書き込み問題が永続的である場合にのみ、喪失した書き込みの検出がある種の環境で適切であることから、CVST処理は実行不能である。CVST処理が実行不能なこうした実施形態では、CVST処理のある種のオーバヘッドを招く可能性がある。
ある種の実施形態では、キャッシュがほぼ満杯であるかどうかの判別(ブロック308)あるいはキャッシュがかなりの数のエントリを有するかどうかの判別(ブロック304)、またはその両方は、ある種の実施形態でキャッシュの満杯の程度またはキャッシュ内のエントリ数を示すことが可能な、所定のしきい値との比較に基づいて実施することができる。
したがって図3は、キャッシュがほぼ満杯の場合にCVSTアプリケーション112が実行される、ある種の実施形態を示す。CVSTアプリケーション112は、ディスク118への書き込みの検証のために順序付けリスト110からエントリを選択し、順序付けリスト110は、キャッシュ106内のエントリ数が事前に定義されたしきい値を超えた場合に、リスト維持管理アプリケーション108によってアクティブに管理可能である。
図4は、ある種の実施形態に従った、リスト維持管理アプリケーション108で実施されるある種の動作を示す図である。
制御はブロック400で開始され、リスト維持管理アプリケーション108の実行が開始される。制御は、ブロック400からブロック402および406へ並行して進む。
リスト維持管理アプリケーション108は(ブロック402で)、連続するかまたは重複するキャッシュに入れられた書き込みの論理ブロック・アドレスおよびカウントを含む、書き込みアドレスを合体する。その結果、リスト維持管理アプリケーション108は、非重複論理ブロック・アドレスおよび関連するカウントのリスト110を作成する。たとえば、カウント=4でLBA=3への書き込み、およびその後のカウント=8でLBA=5への書き込みは、データ・ブロックのうちの2つが重複することから、カウント=10でLBA=3の単一のアドレスに合体することができる。これにより、論理ブロック・アドレスおよび関連するカウントを含む、連続するかまたは重複する2つまたはそれ以上の書き込みの検証が、単一の読み取りに効果的に削減される。代替の実施形態では、2つまたはそれ以上のほぼ連続する書き込みも合体することができる。ブロック402の結果、重複なしの論理ブロック・アドレスおよびカウントの削減されたリストとなる。
リスト維持管理アプリケーション108は(ブロック404で)、その後のディスク・ドライブ102からの読み取り性能を向上させるために順序付けリスト110を再度順序付けする。たとえばある種の実施形態では、順序付けリスト110は、同じランクにある関連するカウント・サイズおよび論理ブロック・アドレス数に基づいて論理ブロック・アドレスをランク付けすることができる。
ブロック406でリスト維持管理アプリケーション108は、CVSTアプリケーションからステータス208の通知を受け取る。受け取ったステータス208の通知に基づき、リスト維持管理アプリケーション108は(ブロック408で)、新しいホスト書き込みの論理ブロック・アドレスおよびカウントを順序付けリスト110に追加することができる。リスト維持管理アプリケーション108は、キャッシュ内に格納された論理ブロック・アドレスに対応するデータが、ディスク118に書き込まれたデータと首尾よく一致した、CVSTアプリケーション112によって実行された論理ブロック・アドレスのリストを削除することもできる。
したがって図4は、ディスク・ドライブ102からのその後の読み取り性能を向上させるために、リスト維持管理アプリケーション108が非重複論理ブロック・アドレスおよび関連するカウントの順序付けリストを維持する、ある種の実施形態を示す。
図5は、ある種の実施形態に従った、CVSTアプリケーション112で実施される動作を示す図である。
制御はブロック500で開始され、CVSTアプリケーション112が開始される。CVSTアプリケーション112は(ブロック502で)、所定の条件114が満たされたかどうかを判別する。所定の条件は、CVSTアプリケーション112によって順序付けリスト110から選択されるエントリのサイズを決定することができる。
CVSTアプリケーション112が、所定の条件114が満たされていると判定した場合、CVSTアプリケーション112は(ブロック504で)、リスト維持管理アプリケーション108によって提供された順序付けリスト110のサブセット200を読み取りコマンド202に変換する。そうでない場合、CVSTアプリケーション112は(ブロック502で)、所定の条件が満たされたかどうかの判別を続ける。
CVSTアプリケーション112は(ブロック506で)、実行されたディスク118からの読み取りと、キャッシュ106内の未検証書き込みデータ106aを示す対応するキャッシュ・エントリとを比較する。
CVSTアプリケーション112はブロック508で、キャッシュ108内のデータがディスク118に書き込まれたデータと一致するかどうかを判別する。一致する場合、CVSTアプリケーション112は(ブロック510で)、キャッシュ106からの対応するデータを削除し、(ブロック512で)ステータス208の通知をリスト維持管理アプリケーション108に送信し、リスト維持管理アプリケーション108は順序付けリスト110の修正および再順序付けを管理する。
CVSTアプリケーション112がブロック508で、実行された読み取りについてキャッシュ108内のデータがディスク118に書き込まれたデータと一致しないと判定した場合、CVSTアプリケーション112は(ブロック514で)、ディスク・ドライブ102を書き込み保護モードに設定し、エラーを報告する。ディスク・ドライブ102が書き込み保護モードの場合、ディスク118にデータを書き込むことはできない。ディスク118への書き込みエラーは、ディスク・ドライ102が書き込み保護モードにされた後に判定することができる。正しいデータは、キャッシュ106に格納された未検証書き込みデータ106aから回復することができる。
ブロック504でCVSTアプリケーション112によって実行される読み取りコマンドの数は、複数の所定の条件114によって決定することができる。たとえば第1の例示的条件において、ホストのアイドル時間が2秒の場合、CVSTアプリケーション112は順序付けリスト110の20%を実行することができる。第2の例示的条件では、順序付けリスト110から選択されるエントリの数を、ホストの作業負荷に基づくものとすることができる。第3の例示的条件では、順序付けリスト110から選択されるエントリの数を、使用されるキャッシュ106の量に基づくものとすることができる。たとえば、キャッシュが90%満杯である場合、CVSTアプリケーション112は順序付けリスト110の5%を選択することができる。このパーセントの数字を調整して、ディスク118の読み取りおよび書き込み性能を最適化することができる。
したがって図5は、CVSTアプリケーション112が所定の条件114を使用して、ディスク118への書き込み中に断続的書き込みエラーが生じたかどうかを検証する、ある種の実施形態を示す。
図6は、ある種の実施形態に従った、ディスク・ドライブ102で実施される読み取り要求を処理するための動作を示す図である。
制御はブロック600で開始され、ディスク・ドライブ102がコンピュータ・デバイス104から読み取り要求を受け取る。ディスク・ドライブ102は(ブロック602で)、読み取り要求に対応するデータがキャッシュ106内に存在する未検証書き込みデータ106aであるかどうかを判別する。存在する未検証書き込みデータ106aである場合、(ブロック604で)キャッシュ106からのデータを戻すことによって、読み取り要求が満たされる。存在する未検証書き込みデータ106aでない場合、(ブロック606で)ディスク118からのデータを戻すことによって、読み取り要求満たされる。
したがって図6は、読み取り要求に対応するデータが未検証書き込みデータ106aである場合、外部ホストからの読み取り要求がキャッシュ106から満たされる、ある種の実施形態を示す。結果として、読み取り要求に応答して戻されるデータはエラーではない。
ある種の実施形態は、リスト維持管理アプリケーション108およびCVSTアプリケーション112を提供し、CVSTアプリケーション112は、リスト維持管理アプリケーション108によってCVSTアプリケーション112に提供された順序付けリスト110を使用することによって、キャッシュ106内の書き込みデータの一部とディスク118から読み取られたデータとを比較する。ある種の実施形態では、キャッシュ106に格納される書き込み数を削減することによって性能を向上させる。さらにある種の実施形態は、書き込みキャッシュ106がほぼ満杯になった際にPPSTを実施するPPSTアプリケーションがCVSTアプリケーションに置き換えられた場合、断続的および永続的の両方の喪失した書き込みに対する保護も提供する。
ある種の実施形態は、検出段階間の書き込みキャッシュ106のコンテンツを削減するために、リスト維持管理アプリケーション108およびCVSTアプリケーション112を使用しながら、喪失した書き込みのチェックとしてPPSTアプリケーション116を使用することにより、永続的に喪失した書き込みに対する完全な保護を提供することができる。このケースでは、書き込みキャッシュ106がほぼ満杯になり、エラーが検出されなければ書き込みキャッシュに入れられたエントリがフラッシュされる場合、PPSTアプリケーション116を呼び出すことができる。
ある種の実施形態では、データの回復は背景モードまたはリアルタイムで実行することができる。ある種の実施形態は、インターフェースから独立した任意のディスク・ドライブに関する任意の種類の喪失した書き込み問題に対する保護を提供する。喪失した書き込みは断続的または永続的とすることが可能であり、ホスト・アプリケーションへの中断(disruption)の量を削減することが可能である。ディスク・ドライブでの喪失した書き込みを保護するある種の実施形態は、入力/出力(I/O)性能に大幅な影響を与えないことが可能である。
リスト維持管理アプリケーション108を含めることにより、キャッシュ106がほぼ満杯の状態に達するまでの期間を引き延ばし、PPSTまたはCVST検証のオーバヘッドによって生じる可能性のある性能の影響を遅らせる。ある種の実施形態では、CVSTおよびPPSTは長いアイドル・サイクル中にキャッシュ106全体をフラッシュすることができる。ホストの作業負荷が少ない場合、削減の速度がホストからの書き込み追加速度よりも速い場合があり、その結果としてキャッシュ全体のフラッシュも可能である。したがってこうした状況では、キャッシュ106は決して満杯に近づくことはなく、後続のPPSTまたはCVSTを実行する必要のない可能性がある。
ある種の実施形態では、論理ブロック・アドレスおよび関連するカウンタを単純化すること、順序付けリスト110内のエントリを再順序付けすること、およびディスク118に読み取りのキューを送信することにより、ディスク118へのあらゆる書き込みが検証される場合の検証のプロセスがより効率良くなる。ある種の実施形態では、重複する書き込みを単一の読み取りに組み合わせ、再順序付けされた読み取りをキューとして送信し、所与の時間についての読み取り数を最大限にするために異なるシリンダへのシークを最適化することにより、ディスク・ドライブの読み取り性能をさらに向上させることが可能である。
追加の詳細な実施形態
説明される技法は、ソフトウェア、ファームウェア、マイクロコード、ハードウェア、あるいはそれらの任意の組み合わせ、またはそれらすべてを含む、方法、装置、または装置として実施することができる。本明細書で使用される「装置」という用語は、回路内(たとえば集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、ASICなど)、あるいは、コンピュータ読み取り可能メディア(たとえばハード・ディスク・ドライブ、フロッピィ・ディスク、テープなどの磁気記憶媒体)、光ストレージ(たとえばCD−ROM、DVD−ROM、光ディスクなど)、揮発性および不揮発性メモリ・デバイス(たとえば電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ(PROM)、ランダム・アクセス・メモリ(RAM)、動的ランダム・アクセス・メモリ(DRAM)、静的ランダム・アクセス・メモリ(SRAM)、フラッシュ、ファームウェア、プログラマブル論理など)内、またはそれらすべてで実施される、プログラム命令、コード、あるいは論理またはそれらすべてを言い表す。コンピュータ読み取り可能メディア内のコードには、プロセッサなどのマシンによってアクセスし、実行することができる。ある種の実施形態では、実施形態が作成されたコードに、伝送メディアを介して、またはネットワークを介してファイル・サーバからもアクセスすることができる。こうしたケースでは、コードが実施される装置は、ネットワーク伝送回線、無線伝送メディア、空気、電波、赤外線信号を介して伝搬される信号などの、伝送メディアを含むことができる。もちろん当業者であれば、諸実施形態の範囲を逸脱することなく多くの修正が実行可能であること、および、装置が当分野で知られた任意の情報搬送メディアを含むことが可能であることを理解されよう。たとえば装置は、マシンによって実行されると結果として実行される動作を生じる命令を格納した、記憶媒体を含む。
図7は、ある種の実施形態が実施可能なシステム700を示すブロック図である。ある種の実施形態では、コンピュータ・デバイス104および記憶装置102をシステム700に従って実施することができる。システム700は、ある種の実施形態ではプロセッサ704を含むことができる回路702を含むことができる。システム700は、メモリ706(たとえば揮発性メモリ・デバイス)およびストレージ708を含むこともできる。システム700のある種の要素は、コンピュータ・デバイス104および記憶装置102のうちの一部またはすべてで見られるか、または見られない場合がある。ストレージ708は、不揮発性メモリ・デバイス(たとえばEEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、ファームウェア、プログラマブル論理など)、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどを含むことができる。ストレージ708は、内部記憶装置、取り付け型記憶装置、あるいはネットワーク・アクセス可能記憶装置、またはそれらすべてを含むことができる。システム700は、メモリ706にロード可能であり、プロセッサ704または回路702によって実行可能である、コード712を含むプログラム論理710を含むことができる。ある種の実施形態では、コード712を含むプログラム論理710をストレージ708に格納することができる。ある種の他の実施形態では、プログラム論理710を回路702内で実施することができる。したがって、図7ではプログラム論理710を他の要素とは別に示しているが、プログラム論理710はメモリ706あるいは回路702またはその両方で実施することができる。
ある種の実施形態は、人間またはコンピュータ読み取り可能コードをコンピュータ・システムに統合する自動化された処理によって、コンピュータ命令を展開するための方法を対象とすることが可能であり、コードとコンピュータ・システムと組み合わせることによって、説明された実施形態の動作を実行することができる。
図3〜6に示された動作の少なくとも一部は、並行して、ならびに逐次、実行することができる。代替の実施形態では、動作の一部は異なる順序で実行する、修正する、または削除することができる。
さらに、ソフトウェアおよびハードウェア・コンポーネントの多くは、例示の目的で別々のモジュールにあるものとして説明してきた。こうしたコンポーネントを、より少ない数のコンポーネントに統合するか、またはより多くの数のコンポーネントに分割することが可能である。さらに、特定のコンポーネントによって実行されるものとして説明したある種の動作を、他のコンポーネントによって実行することも可能である。
図1〜7で示されたかまたは参照されたデータ構造およびコンポーネントは、特定のタイプの情報を有するものとして説明される。代替の実施形態では、データ構造およびコンポーネントは異なる構造とすること、ならびにこれらの図面で示されたかまたは参照されたものよりも少ない、多い、または異なるフィールド、あるいは異なる機能を有することが可能である。したがって、諸実施形態の前述の説明は例示および説明の目的で提示してきた。諸実施形態を網羅するか、または開示された精密な形に限定することを意図するものではない。上記の教示に鑑みて、多くの修正および変形が可能である。
ある種の実施形態に従ったコンピューティング環境を示すブロック図である。 ある種の実施形態に従った、コンピューティング環境に含まれるコンポーネントおよびデータ構造を示すブロック図である。 ある種の実施形態に従った、喪失した書き込みから回復するための動作を示す図である。 ある種の実施形態に従った、リスト維持管理アプリケーションで実施される動作を示す図である。 ある種の実施形態に従った、総合検証用自己テスト・アプリケーションで実施される動作を示す図である。 ある種の実施形態に従った、読み取り要求を処理するための動作を示す図である。 ある種の実施形態が実施されるシステムを示す図である。
符号の説明
100 コンピューティング環境
102 ディスク・ドライブ(記憶装置)
104 コンピュータ・デバイス(ホスト)
106 キャッシュ(書き込みキャッシュ)
106a 未検証書き込みデータ
108 リスト維持管理アプリケーション
110 順序付けリスト(非重複LBAおよびカウント)
112 総合検証用自己テスト(CVST)アプリケーション
114 所定の条件(CVSTアプリケーション向け)
116 永続問題用自己テスト(PPST)アプリケーション
118 ディスク(記憶媒体)

Claims (2)

  1. 記憶媒体にデータを書き込むための要求を受け取るステップと、
    前記記憶媒体に書き込むように要求された前記データを、キャッシュに格納するステップと、
    前記記憶媒体への前記データの書き込みを開始するステップと、
    前記キャッシュに格納された前記データが前記記憶媒体に書き込まれた前記データと同じであるかどうかを定期的に判定するステップと、
    前記キャッシュ内のエントリの数がしきい値を超えるかどうかを判定するステップを有し、
    前記エントリはキャッシュに入れられた書き込みに対応しており、
    合体された非重複書き込みアドレスのリストを生成するために、前記エントリ内の書き込みアドレスを合体するステップと、
    前記合体された非重複書き込みアドレスのリストを順序付けするステップをさらに有し、
    低順位の合体された非重複書き込みアドレスより前に、高順位の合体された非重複書き込みアドレスが、前記記憶媒体に対する書き込みエラーについて検証される、方法。
  2. 前記しきい値を超えることは、前記キャッシュが満杯の10パーセントを上回ることを示す、請求項に記載の方法。
JP2006017056A 2005-02-07 2006-01-26 記憶装置における喪失した書き込みの検出および回復 Active JP4988214B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/053226 2005-02-07
US11/053,226 US7360112B2 (en) 2005-02-07 2005-02-07 Detection and recovery of dropped writes in storage devices

Publications (3)

Publication Number Publication Date
JP2006221623A JP2006221623A (ja) 2006-08-24
JP2006221623A5 JP2006221623A5 (ja) 2008-12-11
JP4988214B2 true JP4988214B2 (ja) 2012-08-01

Family

ID=36781337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006017056A Active JP4988214B2 (ja) 2005-02-07 2006-01-26 記憶装置における喪失した書き込みの検出および回復

Country Status (5)

Country Link
US (2) US7360112B2 (ja)
JP (1) JP4988214B2 (ja)
KR (1) KR100763567B1 (ja)
CN (1) CN100485643C (ja)
TW (1) TWI365448B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421535B2 (en) * 2004-05-10 2008-09-02 International Business Machines Corporation Method for demoting tracks from cache
US7360112B2 (en) * 2005-02-07 2008-04-15 International Business Machines Corporation Detection and recovery of dropped writes in storage devices
GB0507912D0 (en) * 2005-04-20 2005-05-25 Ibm Disk drive and method for protecting data writes in a disk drive
US7523319B2 (en) * 2005-11-16 2009-04-21 Lenovo (Singapore) Pte. Ltd. System and method for tracking changed LBAs on disk drive
JP4425904B2 (ja) * 2006-12-21 2010-03-03 富士通株式会社 ライト抜け検出装置、ライト抜け検出方法およびライト抜け検出プログラム
US8375177B2 (en) * 2007-05-01 2013-02-12 International Business Machines Corporation Apparatus, system, and method for efficiently verifying writes
US7752489B2 (en) * 2007-05-10 2010-07-06 International Business Machines Corporation Data integrity validation in storage systems
US7793167B2 (en) * 2007-08-23 2010-09-07 International Business Machines Corporation Detection and correction of dropped write errors in a data storage system
US7793168B2 (en) * 2007-08-23 2010-09-07 International Business Machines Corporation Detection and correction of dropped write errors in a data storage system
US7873878B2 (en) * 2007-09-24 2011-01-18 International Business Machines Corporation Data integrity validation in storage systems
US8140909B2 (en) * 2008-02-22 2012-03-20 International Business Machines Corporation Efficient method to detect disk write errors
US7908512B2 (en) * 2008-03-05 2011-03-15 International Business Machines Corporation Method and system for cache-based dropped write protection in data storage systems
JP5245472B2 (ja) * 2008-03-13 2013-07-24 富士通株式会社 制御方法、ディスクアレイ装置
TW201111986A (en) * 2009-09-29 2011-04-01 Silicon Motion Inc Memory apparatus and data access method for memories
US8667326B2 (en) 2011-05-23 2014-03-04 International Business Machines Corporation Dual hard disk drive system and method for dropped write detection and recovery
US9798623B2 (en) * 2012-05-11 2017-10-24 Seagate Technology Llc Using cache to manage errors in primary storage
JP2014071740A (ja) * 2012-09-28 2014-04-21 Fujitsu Ltd 情報処理装置、管理方法、及び管理プログラム
US9280482B2 (en) * 2012-12-13 2016-03-08 Western Digital Technologies, Inc. Methods and systems for provisioning a bootable image on to an external drive
US9141484B2 (en) 2013-03-15 2015-09-22 Seagate Technology Llc Transiently maintaining ECC
GB2514611A (en) 2013-05-31 2014-12-03 Ibm Storage integrity validator
US9639287B1 (en) 2015-06-29 2017-05-02 Western Digital Technologies, Inc. Write command reporting
CN106469119B (zh) * 2015-08-10 2020-07-07 北京忆恒创源科技有限公司 一种基于nvdimm的数据写缓存方法及其装置
CN111007991B (zh) * 2015-08-13 2024-01-26 北京忆恒创源科技股份有限公司 基于nvdimm分离读写请求的方法及其计算机
KR102564774B1 (ko) * 2018-09-18 2023-08-09 에스케이하이닉스 주식회사 메모리 시스템 혹은 데이터 처리 시스템의 동작을 진단하는 장치 혹은 진단을 통해 신뢰성을 확보하는 방법
US11080136B2 (en) 2020-01-06 2021-08-03 International Business Machines Corporation Dropped write error detection
US11796594B2 (en) 2020-11-05 2023-10-24 Schneider Electric It Corporation PWM capture function for event analysis

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2546410B2 (ja) * 1990-05-10 1996-10-23 日本電気株式会社 周辺制御装置
US5485439A (en) * 1990-10-30 1996-01-16 Matsushita Electric Industrial Co., Ltd. Method for recording/reproducing information and apparatus therefor
US5274799A (en) 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
WO1992015933A1 (en) 1991-03-05 1992-09-17 Zitel Corporation Cache memory system and method of operating the cache memory system
US5379417A (en) 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
US5557770A (en) 1993-03-24 1996-09-17 International Business Machines Corporation Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk
US5632012A (en) 1993-11-24 1997-05-20 Storage Technology Corporation Disk scrubbing system
JPH07210327A (ja) * 1994-01-25 1995-08-11 Hitachi Ltd ディスク装置用データベリファイ装置
US6412045B1 (en) 1995-05-23 2002-06-25 Lsi Logic Corporation Method for transferring data from a host computer to a storage media using selectable caching strategies
JP3020833B2 (ja) * 1995-06-19 2000-03-15 株式会社東芝 チェックポイント取得システム
FI103440B (fi) * 1995-11-02 1999-06-30 Nokia Telecommunications Oy Datan tallennuksen varmentaminen välimuistia käyttävälle nauha-asemall e
JP2001142650A (ja) * 1999-11-18 2001-05-25 Nec Corp アレイディスク制御方法及び装置
US6584589B1 (en) * 2000-02-04 2003-06-24 Hewlett-Packard Development Company, L.P. Self-testing of magneto-resistive memory arrays
US6658533B1 (en) 2000-09-21 2003-12-02 Intel Corporation Method and apparatus for write cache flush and fill mechanisms
US6928518B2 (en) * 2001-11-01 2005-08-09 Sun Microsystems, Inc. Disk drive employing adaptive flushing of a write cache
JP4012420B2 (ja) * 2002-03-12 2007-11-21 株式会社日立製作所 磁気ディスク装置及びディスク制御装置
JP4371724B2 (ja) * 2003-07-03 2009-11-25 株式会社日立製作所 記憶システム及び記憶装置システム
CN1264096C (zh) * 2003-11-17 2006-07-12 中兴通讯股份有限公司 一种fifo存储器的数据处理方法
JP4156499B2 (ja) * 2003-11-28 2008-09-24 株式会社日立製作所 ディスクアレイ装置
US20060010173A1 (en) * 2004-06-30 2006-01-12 Kilday Roger W Methods and systems for client-side, on-disk caching
JP2006134064A (ja) * 2004-11-05 2006-05-25 Hitachi Ltd 記憶メディアへの書込みエラーを検出する記憶制御装置及び方法
US7596738B2 (en) * 2004-11-17 2009-09-29 Sun Microsystems, Inc. Method and apparatus for classifying memory errors
US7971001B2 (en) * 2004-12-28 2011-06-28 Sap Ag Least recently used eviction implementation
US7441081B2 (en) * 2004-12-29 2008-10-21 Lsi Corporation Write-back caching for disk drives
US7360112B2 (en) 2005-02-07 2008-04-15 International Business Machines Corporation Detection and recovery of dropped writes in storage devices
JP4017020B2 (ja) 2007-07-20 2007-12-05 株式会社三洋物産 遊技機

Also Published As

Publication number Publication date
KR100763567B1 (ko) 2007-10-04
CN1818886A (zh) 2006-08-16
TWI365448B (en) 2012-06-01
TW200636687A (en) 2006-10-16
US8108613B2 (en) 2012-01-31
CN100485643C (zh) 2009-05-06
KR20060090166A (ko) 2006-08-10
US20060179381A1 (en) 2006-08-10
JP2006221623A (ja) 2006-08-24
US20080091893A1 (en) 2008-04-17
US7360112B2 (en) 2008-04-15

Similar Documents

Publication Publication Date Title
JP4988214B2 (ja) 記憶装置における喪失した書き込みの検出および回復
US7421535B2 (en) Method for demoting tracks from cache
US9772894B2 (en) Systems, methods, and machine-readable media to perform state data collection
JP4916033B2 (ja) データ格納方法、データ・ストレージ・システムおよびプログラム(ストレージ・システムにおけるデータ完全性の検証)(著作権および商標登録表示本特許文書の開示の一部は、著作権保護を受ける内容を含む。本所有権者は、特許文書または特許開示書のいずれか一つによるファクシミリ複写物には、複写物が特許商標庁の特許ファイルまたは記録として世に出現している限り異論はないが、他の場合に全ての著作権は完全に留保する。)(本明細書で参照するある種のマークについては、出願人またはその譲受人と提携しまたは提携しない第三者の、慣習法上の、または登録された商標である可能性がある。これらのマークを使用するのは、例示によって実施可能な開示を提供するためであり、そのようなマークに関連するもののみに本発明の範囲を制限するように解釈されるべきではない。)
KR101872534B1 (ko) 하이브리드 스토리지를 이용한 ssd 수명의 연장
US9424141B2 (en) Hard disk data recovery method, apparatus, and system
US7590884B2 (en) Storage system, storage control device, and storage control method detecting read error response and performing retry read access to determine whether response includes an error or is valid
US7707460B2 (en) Method, apparatus and program storage device for protecting data writes in a data storage device
US20080082744A1 (en) Storage system having data comparison function
US20040128470A1 (en) Log-structured write cache for data storage devices and systems
US20060215297A1 (en) Storage apparatus, control method therefor and program
US7587630B1 (en) Method and system for rapidly recovering data from a “dead” disk in a RAID disk group
JP4852315B2 (ja) データ信頼性向上方法及びその方法を用いた情報処理装置
US8954791B2 (en) Mirroring disk drive sectors
CN115793985B (zh) 一种安全存储方法、装置、设备及存储介质
US8938641B2 (en) Method and apparatus for synchronizing storage volumes
US7308601B2 (en) Program, method and apparatus for disk array control
US7398448B2 (en) Storage system has the function of preventing drive write error
US7730370B2 (en) Apparatus and method for disk read checking
US8418029B2 (en) Storage control device and storage control method
US20060245103A1 (en) Storage device system operating based on system information, and method for controlling thereof
US10747610B2 (en) Leveraging distributed metadata to achieve file specific data scrubbing
US20190244675A1 (en) Validating data in storage systems
US11061818B1 (en) Recovering from write cache failures in servers
JP2018190192A (ja) ストレージ装置およびストレージ制御プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120203

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120313

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4988214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3