JP2005276196A - ドライブ故障に続いてドライブリカバリを行うためのシステムおよび方法 - Google Patents

ドライブ故障に続いてドライブリカバリを行うためのシステムおよび方法 Download PDF

Info

Publication number
JP2005276196A
JP2005276196A JP2005072685A JP2005072685A JP2005276196A JP 2005276196 A JP2005276196 A JP 2005276196A JP 2005072685 A JP2005072685 A JP 2005072685A JP 2005072685 A JP2005072685 A JP 2005072685A JP 2005276196 A JP2005276196 A JP 2005276196A
Authority
JP
Japan
Prior art keywords
drive
write
cache
memory
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005072685A
Other languages
English (en)
Inventor
Kevin T Marks
ケビン・ティー・マークス
Ahmad A J Ali
アーマド・エイ・ジェイ・アリ
Robert Clausen
ロバート・クローゼン
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.)
Dell Products LP
Original Assignee
Dell Products LP
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 Dell Products LP filed Critical Dell Products LP
Publication of JP2005276196A publication Critical patent/JP2005276196A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D83/00Containers or packages with special means for dispensing contents
    • B65D83/08Containers or packages with special means for dispensing contents for dispensing thin flat articles in succession
    • B65D83/0805Containers or packages with special means for dispensing contents for dispensing thin flat articles in succession through an aperture in a wall
    • B65D83/0811Containers or packages with special means for dispensing contents for dispensing thin flat articles in succession through an aperture in a wall with means for assisting dispensing
    • B65D83/0841Containers or packages with special means for dispensing contents for dispensing thin flat articles in succession through an aperture in a wall with means for assisting dispensing and for cutting interconnected articles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H35/00Delivering articles from cutting or line-perforating machines; Article or web delivery apparatus incorporating cutting or line-perforating devices, e.g. adhesive tape dispensers
    • B65H35/0006Article or web delivery apparatus incorporating cutting or line-perforating devices
    • B65H35/002Hand-held or table apparatus
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H35/00Delivering articles from cutting or line-perforating machines; Article or web delivery apparatus incorporating cutting or line-perforating devices, e.g. adhesive tape dispensers
    • B65H35/0006Article or web delivery apparatus incorporating cutting or line-perforating devices
    • B65H35/0073Details
    • B65H35/008Arrangements or adaptations of cutting devices
    • B65H35/0086Arrangements or adaptations of cutting devices using movable cutting elements
    • 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
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H2301/00Handling processes for sheets or webs
    • B65H2301/50Auxiliary process performed during handling process
    • B65H2301/51Modifying a characteristic of handled material
    • B65H2301/515Cutting handled material
    • B65H2301/5151Cutting handled material transversally to feeding direction
    • B65H2301/51512Cutting handled material transversally to feeding direction using a cutting member moving linearly in a plane parallel to the surface of the web and along a direction crossing the handled material
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H2301/00Handling processes for sheets or webs
    • B65H2301/50Auxiliary process performed during handling process
    • B65H2301/51Modifying a characteristic of handled material
    • B65H2301/515Cutting handled material
    • B65H2301/5153Details of cutting means
    • B65H2301/51532Blade cutter, e.g. single blade cutter
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H2301/00Handling processes for sheets or webs
    • B65H2301/50Auxiliary process performed during handling process
    • B65H2301/51Modifying a characteristic of handled material
    • B65H2301/515Cutting handled material
    • B65H2301/5154Cutting handled material from hand-held or table dispenser
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65HHANDLING THIN OR FILAMENTARY MATERIAL, e.g. SHEETS, WEBS, CABLES
    • B65H2701/00Handled material; Storage means
    • B65H2701/10Handled articles or webs
    • B65H2701/19Specific article or web
    • B65H2701/1944Wrapping or packing material
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Abstract

【課題】本発明はドライブの再構築のための時間を短縮できるドライブに導かれた再構築コマンドの管理方法を提供することを目的とする。
【解決手段】ドライブ20は不揮発性メモリ26とキャッシュ27とを備え、ドライブ20のキャッシュ27を書込み可能にし、ドライブ20に導かれた再構築コマンドを第1のメモリ位置29中に記憶し、再構築コマンドに関連したキャッシュされたデータをドライブがその不揮発性メモリ26に周期的にフラッシュするようにし、ドライブ20に導かれた各コマンドは、そのドライブ20のキャッシュ27が書込み可能にされている期間中メモリ位置29に少なくとも一時的に記録されることを特徴とする。
【選択図】 図2

Description

本発明は、一般に、データ記憶システムの分野に関し、とくに、エネーブルにされた書込みキャッシュによりドライブを再構築するためのシステムおよび方法に関する。
情報の価値および使用は増加し続けており、個人および企業は情報の処理および記憶を行うための付加的な方法を捜し求めている。ユーザが利用可能な1つのオプションは情報処理システムである。情報処理システムは、一般に、企業、個人またはその他の目的のために情報またはデータの処理、コンパイル、記憶および、または通信を行い、それによってユーザが情報の価値を利用することを可能にする。テクノロジーおよび情報処理需要ならびに要求はユーザまたは用途によって異なっているため、情報処理システムもまた、処理される情報の種類、情報の処理方法、処理、記憶または通信される情報の量、および情報の処理、記憶または通信がどれだけ迅速かつ効率的に行われることができるかに関して異なったものとなる。情報処理システムはそのバリエーションのために、いろいろなものに適用可能であり、あるいは金融取引処理、航空券の予約、企業データの記憶またはグローバルコミュニケーションのような特定のユーザまたは特定の使用に対して構成されることができる。さらに、情報処理システムは、情報を処理し、記憶し、通信するように構成されることのできる種々のハードウェアおよびソフトウェアコンポーネントを備えることが可能であると共に、1以上のコンピュータシステム、データ記憶システムおよびネットワークシステム、たとえば、コンピュータ、パーソナルコンピュータワークステーション、ポータブルコンピュータ、コンピュータサーバ、プリントサーバ、ネットワークルータ、ネットワークハブ、ネットワークスイッチ、記憶域ネットワークディスクアレイ、独立ディスクの冗長アレイ(“RAID”)システムおよび通信スイッチ等を含むことができる。
情報処理システムは、しばしばドライブアレイにグループ化された1以上のドライブを備えることができる。多数のドライブは、書込みを選択的に可能または禁止されることのできる関連した書込みキャッシュを備えている。書込み可能にされた書込みキャッシュを備えたドライブに関して、時として、ドライブが書込みの成功をドライブ制御装置に通知する時間と、データがそのドライブの記憶媒体中に書込まれる時間との間に遅延が生じる。書込み可能にされた書込みキャッシュを備えたドライブは、しばしばそのドライブの書込みキャッシュに書込みデータを導き、あるいは記憶する。キャッシュへの書込みデータの転送に成功すると、ドライブはドライブ制御装置に通知を送信して、書込みコマンドの実行が成功したことを示す。この通知は、その書込みコマンドのデータがそのドライブの永久および不揮発性の媒体にまだ書込まれていなくても、ドライブからドライブ制御装置に送信される。書込みキャッシュ中に書込みコマンドのデータを記憶することにより、書込み制御装置の制御回路は、ドライブ中の媒体に情報が書込まれる順序を最適化することが可能になる。
しかしながら、ドライブのキャッシュへの書込みには成功したがそのドライブの不揮発性媒体への書込みにはまだ成功していない書込みコマンドの場合に、この方法には問題がある。この場合、ドライブは、書込みコマンドが成功したことをドライブ制御装置に通知している。この状況においてドライブが故障した場合(たとえば、ドライブが電源を遮断されて電力を失った場合、あるいは書込みキャッシュが損傷した場合)、書込みキャッシュ中に記憶されているデータは失われ、ディスクに書込まれない可能性がある。しかしながら、ドライブの制御回路は書込みコマンドが実行されたことを示しているため、ドライブ制御装置はデータの損失に気づかない。ドライブ制御装置とそのドライブは同期されず、ディスクに書込まれていなかった書込みキャッシュ中のデータは失われる。この故障事象が発生しないようにするために、RAIDシステム内のドライブの書込みキャッシュは書込み禁止状態にされることが多い。ドライブの書込みキャッシュが書込み禁止状態にされたとき、ドライブは一時的に書込みデータをキャッシュに記憶することができず、それによってドライブは、データをそのドライブの不揮発性記憶媒体に直接書込むことを強制される。このシナリオでは、ドライブは、これがその不揮発性記憶媒体に書込みデータを書込むまで、書込みの成功をドライブ制御装置に通知しない。しかしながら、ドライブの書込みキャッシュが書込み禁止状態にされたとき、その性能は悪影響を受ける可能性がある。それは、ドライブの制御回路がキャッシュからそのドライブの永久媒体へのデータの転送を最適化することができないためである。
RAID記憶アレイは、故障に続いてドライブに関する情報を復元し、あるいは再構築する能力によって特徴付けられる。たとえば、RAID5アレイにおいて、パリティ情報はそのアレイ内のドライブに記憶される。ドライブの1つが故障した場合、それはこのアレイ内の別のドライブに記憶されているパリティ情報に基づいて再構築される。ドライブ内の媒体の容量が増加するにしたがって、復元されなければならない情報の量が増加するため、ドライブの復元に要する時間が長くなる。数時間または1日以上での再構築時間は、何十または何百ギガバイトものデータを記憶することのできる媒体を備えたドライブに対して普通のものではない。アレイ内のドライブが再構築されている期間中に、多くのRAIDアレイは低下モードでランする。この低下モードにおいては、そのアレイの性能は損害を被る可能性がある。これは、そのリソースがドライブの再構築に専念させられるためである。さらに、再構築されているドライブのキャッシュが再構築期間中書込み禁止状態にされた場合、このドライブを再構築するのに要する時間は、書込み可能にされた書込みキャッシュを有するドライブの再構築に必要とする時間と比較して、長くなる可能性がある。さらに、多くのRAIDレベルにおいて、アレイが低下モードに入っている最中に第2のドライブが故障した場合、そのアレイは失われるであろう。
本発明の開示によると、ドライブアレイ内のドライブを再構築するためのシステムおよび方法が開示されている。再構築されているドライブの書込みキャッシュは書込み可能にされる。再構築プロセス中、ドライブに指令されるコマンドはまた、ドライブ制御装置に関連したジャーナル中に記録される。同期コマンドはドライブに周期的に送られる。この同期コマンドに応答して、ドライブは不揮発性媒体に書込まれていない書込みキャッシュ中のデータを全て、その媒体に書込む。同期後、ドライブアレイの不揮発性メモリに対して書込みコマンドが実行されているので、ジャーナルはクリアされる。
ここに開示されているシステムおよび方法の利点は、故障したドライブの再構築時間が短縮されることである。復元されているドライブに対する書込みキャッシュを書込み可能にすることにより、そのドライブの制御論理装置は、コマンドが媒体に書込まれる順序を最適化することが可能になる。また、復元中のドライブの書込みキャッシュを書込み可能にすることにより、書込みコマンドに関連したデータがそのドライブ内の媒体に書込まれる前に、多数の書込みコマンドがディスクに送信されることも可能になる。書込みキャッシュは書込み可能にされているため、このドライブは、書込みキャッシュが再構築プロセス中書込み禁止状態にされたドライブよりも迅速に再構築されることができる。ここに開示されているシステムおよび方法の別の利点は、書込みキャッシュが書込み可能にされている期間中および再構築プロセス中に再構築されているドライブがシステム故障の損害をこうむる可能性を予想するという条件が説明される技術に含まれていることである。この可能性を補償するために、コマンドはジャーナルに書込まれ、ドライブに対して周期的に同期される。同期プロセスは、書込みコマンドに関連したドライブキャッシュ中の全てのデータがそのドライブの記憶媒体に書込まれるように強制されることを含んでいる。同期されていない可能性のあるコマンドのサブセットをドライブ制御装置のジャーナル中に記憶することにより、再構築プロセスを始めから再始動しなければならない可能性が回避される。その代わりに、再構築プロセス期間中に故障(たとえば、電力供給の遮断)が発生した場合に、再構築プロセスはジャーナル中に記憶されたコマンドから再始動されることができる。その結果、ここに記載されている再構築プロセスは、再構築プロセスの性能に悪影響を与えずに後続的な故障から保護する安全メカニズムを備えている。別の技術的な利点は、以下の明細書、請求の範囲および図面から当業者に明らかになるであろう。
本発明の開示およびその利点は、以下の説明および添付図面を参照することによってさらによく理解されるであろう。なお、図面においては、同じ参照符号が同じ特徴を示している。
本発明を開示するために、情報処理システムは、取引、科学、制御またはその他の目的のために任意の形態の情報、インテリジェンスまたはデータの計算、分類、処理、送信、受信、検索、発生、切り替え、記憶、表示、宣言、検出、記録、再生、統御、または使用を行うために使用可能な任意の手段または手段の集りを備えていてもよい。たとえば、情報処理システムは個人のコンピュータ、ネットワーク記憶装置または任意の他の適切な装置であることが可能であり、また、そのサイズ、形状、性能、機能および価格はさまざまであってよい。情報処理システムはランダムアクセスメモリ(RAM)、中央処理装置(CPU)あるいはハードウェアまたはソフトウェア制御論理手段のような1以上処理リソース、ROMおよび、またはその他のタイプの不揮発性メモリを備えていてもよい。情報処理システムの付加的なコンポーネントには、キーボード、マウスおよびビデオディスプレイのような種々の入出力(I/O)装置だけでなく、1以上のディスクドライブ、外部装置と通信するための1以上のネットワークポートもまた含まれることができる。情報処理システムはまた、種々のハードウェアコンポーネントの間において通信を送るために使用可能な1以上のバスを備えていてもよい。
図1は、全体が符号10で示されたレベル5RAID記憶アレイの概略図である。この記憶アレイ10は、時としてディスクまたはボリュームと呼ばれる5個のドライブを備えている。図1の例の中の4個の各ドライブは、ストライプ0乃至ストライプ7とラベル付けされた8本のデータストライプまたは行を含んでいる。図1のRAIDアレイの構成はRAIDアレイの単なる例示に過ぎず、そのRAIDアレイはもっと多くのまたは少ないストライプまたは行を備えたもっと多くのまたはもっと少ないドライブを有するように構成されることが可能であることを認識すべきである。ストライプ0を参照すると、データはドライブA、ドライブBおよびドライブCに記憶される。ドライブA、ドライブBおよびドライブC中のストライプ0の内容に関して行われた排他的オア動作の結果であるストライプ0に対するパリティビットはドライブD中に記憶され、P0とラベル付けされている。RAIDアレイ10のデータ構造の第2の例として、ストライプ7を参照すると、データはドライブB、ドライブCおよびドライブDに記憶される。ドライブB、ドライブCおよびドライブD中のストライプ7の内容に関して行われた排他的オア動作の結果であるストライプ7に対するパリティビットはドライブA中に記憶され、P7とラベル付けされている。たとえば、ドライブCが故障した場合、あるいはそうでなければ、それが劣化したドライブとして識別された場合、このドライブCの各ストライプ中のデータは、RAIDアレイ10の他の3個のドライブの中のデータにより再構築されることになるであろう。図1に示されているように、記憶アレイ中の各ドライブは1つのホストに結合されている。RAID5アレイ10は故障許容RAIDレベルの一例であり、この場合、単一のドライブ故障は持続されることが可能であり、また、その故障したドライブは再構築されることができる。別の故障許容RAIDレベルには、1、4、5、6、10、および0+1が含まれる。
記憶アレイの各ドライブは、ドライブ制御装置と通信し、これによって制御される。図2はドライブ20およびドライブ制御装置22の概略図である。ドライブ20およびドライブ制御装置22は、チャンネル24によって互いに結合されている。このチャンネル24は、並列または直列SCSI通信バスまたはリンク、並列または直列ATA通信バスまたはリンク、ファイバチャンネル通信リンク、あるいは無線通信リンクを含む任意の数の通信プロトコルにしたがって動作することができる。ドライブ20は記憶媒体エレメント26、制御論理装置21および書込みキャッシュ27を備えている。記憶媒体エレメント26は、磁気媒体または光学媒体を含む情報を記憶するのに適した任意の媒体から構成されることができる。同様に、書込みキャッシュ27は情報を記憶するのに適した任意の適切な記憶メカニズムから構成されていてもよい。書込みキャッシュ27は典型的に揮発性メモリであり、記憶媒体26と比較して高速でその内容へのアクセスを行うために使用可能であり、記憶媒体26は典型的に不揮発性である。
ドライブ20の制御論理装置21は、ドライブ20からデータを読取り、あるいはドライブ20にデータを書込み、書込みキャッシュ27を書込み可能にし、あるいは書込み禁止状態にし、書込みキャッシュ27中の全ての情報が記憶媒体26中に書込まれるように強制するコマンドを含むドライブ制御装置22からのコマンドに応答し、これを処理する。制御論理装置21はまた、データおよび通知情報をドライブ制御装置22に送信する。さらに、制御論理装置21は記憶媒体26および書込みキャッシュ27を制御する。ドライブ制御装置22は、そのジャーナル28およびメモリ位置29と通信し、それらを管理(direct)する制御論理エレメント23を備えている。本発明の開示によるドライブ制御装置22の例には、RAID制御装置、低レベルATA/SATAまたはSCSI制御装置もしくはその両者が含まれる。
ジャーナル28は、ドライブ20に導かれた書込みコマンドのヒストリを記憶する情報記憶位置である。ジャーナル28の内容は、制御論理装置23によって制御されることができる。制御論理装置23は、ジャーナル28にその内容をフラッシュさせ、あるいは空にさせるコマンドを発行することができる。ジャーナル28は、ドライブまたは周辺ネットワークに突然電力損失が生じた場合にジャーナル28の内容が保存されるように、本質的に不揮発性であることが好ましい。ジャーナル28の内容は、ドライブ20に送信された最新のコマンドのリストおよびそのリストにされた各コマンドに関連したコマンドカウントである。メモリ位置29は、制御論理装置23によってアクセス可能な任意のメモリ位置であることができる。実行中のコマンドカウントはメモリ位置29に記憶される。コマンドカウントの値は、ドライブ20に送信された最新の書込みコマンドに対応している。メモリ位置29におけるコマンドカウントは、制御論理装置23によって操作されることができる。とくに、制御論理装置23は、新しいコマンドカウントをメモリ位置29に記憶し、記憶されたコマンドカウントを検索し、あるいはそのコマンドカウントを消去またはリセットすることができる。メモリ位置29は、ドライブまたはネットワークに電力損失が生じた場合にコマンドカウントが保存されるように、不揮発性メモリを備えていてもよい。
図3は、ドライブアレイのドライブを再構築する方法のフロー図である。図3のステップは、ドライブアレイのドライブが再構築されなければならないときに行われる。ドライブは多くの理由のために再構築されることが必要となる可能性がある。ドライブ上のデータは破壊される可能性があり、あるいはドライブはそのドライブアレイに追加されたものである可能性がある。ドライブは、ドライブの再構築を指令(mandate)する条件を識別する自動再構築にしたがって再構築されてもよい。その代りに、ドライブは、システム管理者の手動指示に従って再構築されてもよい。ステップ30において、ドライブの書込みキャッシュは書込み可能にされ、それによってドライブの媒体への書込みを最適化するのを助けるためにドライブが書込みキャッシュを使用することが可能になる。ドライブ20の書込みキャッシュは典型的に、ドライブ制御装置22からドライブ20に送信されたコマンドによって書込み可能にされる。一例として、ドライブ20がSCSIドライブである場合、ドライブ制御装置22はモード選択コマンドをドライブ20の制御論理装置21中のキャッシュモードページに送信し、ドライブ内の書込みキャッシュエネーブルビットを1に設定する。ATAまたはSATA環境においては、ドライブ制御装置は書込みキャッシュを書込み可能にするサブコマンドコードと共に特徴設定コマンドを送信する。
ステップ32において、ドライブに導かれたコマンドはドライブ制御装置22において受取られる。これらのコマンドには、ドライブの再構築に必要な書込みコマンドが含まれる。コマンドには、ドライブの部分が再構築されたときに新しいデータをそのドライブの再構築された部分に書込むためのアクティブロードコマンドが含まれてもよい。ステップ32において、受信されたコマンドはジャーナル28に記憶される。各コマンドが受信されると、実行中の書込みコマンドのリストはジャーナル28中に記録される。コマンドをジャーナル28に記録するのに続いて、コマンドカウントはメモリ29においてインクリメントされる。ステップ38において、受信されたコマンドはドライブに送信される。ステップ32からステップ38への順序により示されているように、コマンドは、それがドライブに送信される前にジャーナルに記録される。このようにして、各コマンドの記録は、コマンドがドライブに与えられる前に行われる。コマンドがドライブで受信されたとき、コマンドおよびその内容はキャッシュに記憶されてもよいし、あるいはそのドライブの記憶媒体中に記憶されてもよい。書込みキャッシュはドライブ上で書込み可能にされているため、そのドライブは、ドライブのキャッシュを最も効率的に使用するコマンドを処理する方法を選択することができる。ドライブがコマンドの処理に成功すると、コマンドが記憶されたのがキャッシュであろうと記憶媒体であろうと、ドライブは、そのドライブによるコマンドの処理が成功したことを示す通知コマンドを制御装置に発行する。
ステップ40において、ドライブがコマンドの受信の成功を示す通知の送信に続いて、再構築プロセスは完了したか否かが決定される。ドライブ再構築プロセスが完了してない場合、ステップ42において、コマンドカウントが予め定められた最大値に達したか否かが決定される。コマンドカウントが予め定められた最大値に到達すると、すなわち、予め定められた最大数のコマンドがジャーナル中に記録されると、ジャーナルをドライブの記憶媒体の内容と同期させる一連のステップが行われる。予め定められた最大値は、ジャーナル中に記録されることのできるコマンドの数以下である任意の適切な数であることができる。予め定められた最大値は、同期ステップが再構築プロセスの効率的な完了を妨げるほど高い頻度でジャーナルと記憶媒体が同期されるような低い値に設定されてはならない。この予め定められた値は、過剰な数のコマンドがジャーナル中に記憶されるほど高く設定されてはならない。過剰な数のコマンドをジャーナル中に有することは、再構築されているドライブが後続的に損失された場合に再実行するために限られた数のコマンドを追跡する目的に反する。予め定められたコマンドカウント数に達していない場合、フロー図は、ステップ32において次のコマンドをドライブ制御装置で受信することにより続行する。
ステップ42において予め定められたコマンドカウント数に到達したことが決定された場合、ジャーナル中に記録されているコマンドはドライブの記憶媒体の内容と同期される。ステップ44において、ドライブ制御装置は書込みコマンドに関連したキャッシュ中に記憶されている全てのデータが媒体に書込まれるように強制するコマンドを発行する。そのコマンドは、ドライブの制御論理装置により認識されるコマンドになるであろう。SCSI環境においては、ドライブ制御装置は同期コマンドを発行する。ATAまたはSATA環境においては、ドライブ制御装置はフラッシュコマンドを発行する。このコマンドにより、キャッシュ中の書込みコマンドに関連した全てのデータがドライブ中の記憶媒体にフラッシュされる。このステップに続いて、ドライブのキャッシュは、ドライブの記憶媒体に書込まれていない書込みコマンドは含まない。ステップ44の実行が成功した後、ステップ46において、ジャーナルはクリアされ、コマンドカウントはゼロにクリアされる。フロー図は、ステップ32においてドライブに導かれる付加的なコマンドをドライブ制御装置で受信することにより継続する。
ステップ40において再構築が完了したことが決定された場合、フロー図はステップ48において継続し、全ての書込みコマンドがドライブの記憶媒体に関して実行されることができるように、これらの書込みコマンドがキャッシュすることを強制するコマンドを発行する。ステップ48は、ステップ44と同じであることが認識されるであろう。ステップ48が成功して完了したのに続いて、ステップ50において、ジャーナルはクリアされ、コマンドカウントはゼロにクリアされる。ステップ50は、ステップ46と同じであることが認識されるであろう。ステップ52において、ドライブの書込みキャッシュはディスエーブルすなわち書込み禁止状態にされる。SCSI環境において、ドライブ制御装置はモード選択コマンドをドライブ20の制御論理装置21中のキャッシュモードページに送信し、ドライブ内の書込みキャッシュエネーブルビットを0に設定する。ATAまたはSATA環境においては、ドライブ制御装置は書込みキャッシュを書込み禁止状態にするサブコマンドコードと共に特徴設定コマンドを送信する。書込みキャッシュを書込み禁止状態にすることにより、ドライブは、記憶ドライブに導かれた書込みコマンドがそのドライブ中でキャッシュされることのできない状態にされ、それによってドライブへの全ての書込みがそのドライブの不揮発性記憶媒体に書込まれることを保証する。
ここに開示されているシステムおよび方法は、最適化された書込み可能にされた書込みキャッシュが、再構築プロセス中にドライブの後続的な故障から保護しながら、ドライブを再構築することを可能にする。書込みコマンドをジャーナル中に記録することにより、最も新しく発行された書込みコマンドをリスト化するリソースが提供される。ドライブの書込みキャッシュがドライブの再構築中に電力を失った場合、ジャーナルは、そのドライブの不揮発性メモリに書込まれていない可能性のあるコマンドのリストを含むことになる。このとき、ジャーナルの内容はリソースとして使用されて、再構築されているドライブのキャッシュへの電力が失われた故障が発生した場合に再構築プロセスを再始動する必要性を回避することができる。
ここに開示されているシステムおよび方法は、本発明の開示の図面に開示された正確なアーキテクチャに限定されないことを理解すべきである。むしろ、本発明の開示されたシステムおよび方法は、冗長電源の使用を伴う任意の適切なコンピュータシステムアーキテクチャにより使用されることが可能である。ここに開示されているシステムおよび方法は、特定のプロセッサまたはプロセッサファミリへの適用あるいはプロセッサへの特定のコマンドの適用に制限されないこともまた理解すべきである。むしろ、ここに開示されているシステムおよび方法は、1以上のその内部クロックを変調することによりその電力消費量を変調することのできる任意のプロセッサにより使用されることができる。本発明の開示が詳細に説明されているが、添付された請求の範囲により規定された本発明の技術的範囲を逸脱することなく種々の変更、置換および修正を行うことが可能であることを認識すべきである。
冗長記憶アレイの概略図。 記憶アレイのドライブおよび関連したドライブ制御装置の概略図。 ドライブアレイのドライブを再構築する方法のフロー図。

Claims (20)

  1. ドライブのキャッシュを使用可能にし、
    ドライブに導かれた再構築コマンドを第1のメモリ位置中に記録し、
    再構築コマンドに関連したキャッシュされたデータをドライブがその不揮発性メモリに周期的にフラッシュするようにするステップを含んでおり、
    ドライブに導かれた各コマンドは、そのドライブのキャッシュが使用可能にされている期間中メモリ位置に少なくとも一時的に記録される、不揮発性メモリおよびキャッシュを備えたドライブに導かれた再構築コマンドの管理方法。
  2. ドライブの再構築の成功に後続してそのドライブのキャッシュを書込み禁止状態にするステップをさらに含んでいる請求項1記載の再構築コマンドの管理方法。
  3. キャッシュされたデータをドライブがその不揮発性メモリに周期的にフラッシュするようにするステップは、
    第1のメモリ位置に記憶されたコマンドの数のカウントを維持し、
    第1のメモリ位置に記憶されたコマンドの数のカウントが予め定められたしきい値に達したときに、ドライブにそのデータをその不揮発性メモリに周期的にフラッシュさせるステップをさらに含んでいる請求項2記載の再構築コマンドの管理方法。
  4. キャッシュから不揮発性メモリへのデータのフラッシュの成功に続いて第1のメモリ位置およびカウントをクリアするステップをさらに含んでいる請求項3記載の再構築コマンドの管理方法。
  5. 複数のドライブを備えており、各ドライブが、
    データを記憶する不揮発性記憶媒体と、
    ドライブにより受取られる書込みコマンドに関連したデータをキャッシュする書込みキャッシュとを備え、
    さらに複数のドライブ制御装置を備えており、各ドライブ制御装置は、記憶アレイの1つのドライブと関連付けられ、結合され、第1のメモリを備え、この第1のメモリは各ドライブ制御装置からその関連したドライブに送信された書込みコマンドのヒストリを記憶するように動作可能に構成されており、
    各ドライブ制御装置は、
    ドライブの書込みキャッシュを使用可能にし、
    ドライブに送られた各書込みコマンドを第1のメモリ中に記録し、
    ドライブにそのドライブの書込みキャッシュ中のデータを周期的にフラッシュさせ、
    ドライブの再構築の完了に成功したとき、そのドライブに対する書込みキャッシュを書込み禁止状態にすることによりその関連したドライブの再構築を管理するように構成されている記憶アレイ。
  6. 各ドライブ制御装置は、関連したドライブの書込みキャッシュ中のデータのフラッシュの成功が示されたことに続いて、その第1のメモリをクリアするように動作可能である請求項5記載の記憶アレイ。
  7. 各ドライブ制御装置は、第1のメモリ中に記憶されているコマンドの数を記録する第2のメモリを備えている請求項5記載の記憶アレイ。
  8. 各ドライブ制御装置は、第1のメモリ中に記憶されたコマンドの数が予め定められたしきい値に到達したとき、その関連したドライブに書込みキャッシュ中のデータをフラッシュさせるように構成されている請求項7記載の記憶アレイ。
  9. 第1のメモリは不揮発性メモリである請求項5記載の記憶アレイ。
  10. ドライブが選択的に使用可能にされることのできる書込みキャッシュと通信しているドライブの記憶媒体を再構築する方法において、
    ドライブに対する書込みキャッシュを書込み可能にし、
    そのドライブに1以上のコマンドを送信し、
    その1以上のコマンドを1つのジャーナルに書込み、
    書込みキャッシュ中のデータを記憶媒体にフラッシュするようにドライブに強制するステップを含んでいるドライブの記憶媒体の再構築方法。
  11. ジャーナルをクリアするステップをさらに含んでいる請求項10記載のドライブの記憶媒体の再構築方法。
  12. ドライブの媒体の再構築の成功に続いて、ドライブに対する書込みキャッシュを書込み禁止状態にするステップをさらに含んでいる請求項11記載のドライブの記憶媒体の再構築方法。
  13. ドライブに送られたコマンドの数のカウントを提供するステップをさらに含み、
    ドライブに送られたコマンドの数のカウントが予め定められた値に到達すると、書込みキャッシュ中のデータをフラッシュするようにドライブに強制するステップが行われる請求項10記載のドライブの記憶媒体の再構築方法。
  14. 書込みキャッシュ中のデータのフラッシュの成功に続いて、ジャーナルをクリアするステップをさらに含んでいる請求項13記載の再構築方法。
  15. ドライブの媒体の再構築の成功に続いて、書込みキャッシュを書込み禁止状態にするステップをさらに含んでいる請求項13記載の再構築方法。
  16. ドライブが書込みキャッシュ中の全てのデータをフラッシュして、そのキャッシュされたデータが媒体に書込まれたこと示すメッセージを送信した後にジャーナルをクリアするステップをさらに含んでいる請求項10記載の再構築方法。
  17. ジャーナルは、ドライブ制御装置と関連付けられた不揮発性メモリから構成されている請求項10記載の再構築方法。
  18. ドライブが再構築されている期間中にドライブ制御装置からそのドライブに送信されたコマンドを記録する第1のメモリと、
    第1のメモリ中に記録されたコマンドのカウントを記憶する第2のメモリとを備えており、
    ドライブが再構築されている期間中、ドライブ制御装置は、そのドライブの書込みキャッシュを使用可能にするように動作できると共に、コマンドのカウントが予め定められたしきい値に到達したときにドライブに書込みキャッシュ中のデータをフラッシュさせるように構成されている、通信チャンネルによってドライブと通信するように動作することができるドライブ制御装置。
  19. ドライブ制御装置は、ドライブの再構築の成功に続いて、そのドライブの書込みキャッシュを書込み禁止状態にするように構成されている請求項18記載のドライブ制御装置。
  20. 第1のメモリは不揮発性メモリを備えている請求項19記載のドライブ制御装置。
JP2005072685A 2004-03-22 2005-03-15 ドライブ故障に続いてドライブリカバリを行うためのシステムおよび方法 Withdrawn JP2005276196A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/805,811 US20050210318A1 (en) 2004-03-22 2004-03-22 System and method for drive recovery following a drive failure

Publications (1)

Publication Number Publication Date
JP2005276196A true JP2005276196A (ja) 2005-10-06

Family

ID=34552926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005072685A Withdrawn JP2005276196A (ja) 2004-03-22 2005-03-15 ドライブ故障に続いてドライブリカバリを行うためのシステムおよび方法

Country Status (10)

Country Link
US (1) US20050210318A1 (ja)
JP (1) JP2005276196A (ja)
KR (1) KR20060043873A (ja)
CN (2) CN101324864A (ja)
DE (1) DE102005012448B4 (ja)
FR (1) FR2870367B1 (ja)
GB (1) GB2412482B (ja)
MY (1) MY139233A (ja)
SG (2) SG115830A1 (ja)
TW (1) TWI366097B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523272B2 (en) * 2004-07-12 2009-04-21 Dell Products L.P. System and method for identifying a storage drive in a storage network
US7143308B2 (en) * 2005-01-14 2006-11-28 Charlie Tseng Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk
JP4754852B2 (ja) * 2005-03-15 2011-08-24 富士通株式会社 ストレージ制御装置および方法
JP2007004343A (ja) * 2005-06-22 2007-01-11 Fujitsu Ltd 書き込み制御方法及び記憶装置
US7721143B2 (en) * 2005-12-06 2010-05-18 Lsi Corporation Method for reducing rebuild time on a RAID device
US20070180292A1 (en) * 2006-01-31 2007-08-02 Bhugra Kern S Differential rebuild in a storage environment
US7500070B2 (en) * 2006-08-23 2009-03-03 Lsi Corporation Methods and apparatus for improved RAID 1 mirror re-synchronization
US8127099B2 (en) * 2006-12-26 2012-02-28 International Business Machines Corporation Resource recovery using borrowed blocks of memory
US7814361B2 (en) * 2007-10-12 2010-10-12 Dell Products L.P. System and method for synchronizing redundant data in a storage array
US8499120B2 (en) * 2008-10-17 2013-07-30 Seagate Technology Llc User selectable caching management
US8909983B2 (en) * 2012-03-08 2014-12-09 Synology Incorporated Method of operating a storage device
US9483352B2 (en) * 2013-09-27 2016-11-01 Fisher-Rosemont Systems, Inc. Process control systems and methods
CN104750622B (zh) * 2013-12-30 2018-02-02 光宝科技股份有限公司 储存装置及其资料传输控制方法
CN111104046B (zh) * 2018-10-25 2023-08-25 伊姆西Ip控股有限责任公司 管理冗余磁盘阵列的方法、设备和计算机可读存储介质
US11531470B2 (en) * 2020-10-21 2022-12-20 EMC IP Holding Company LLC Offload of storage system data recovery to storage devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572660A (en) * 1993-10-27 1996-11-05 Dell Usa, L.P. System and method for selective write-back caching within a disk array subsystem
JP3180063B2 (ja) * 1997-08-26 2001-06-25 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ディスク・ドライブ装置及びこれの制御方法
GB2343265A (en) * 1998-10-28 2000-05-03 Ibm Data storage array rebuild
AU4486200A (en) * 1999-04-23 2000-11-10 Wild File, Inc. Method and apparatus for dealing with data corruption and shared disks in the context of saving, using and recovering data
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
US6901481B2 (en) * 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US20020029354A1 (en) * 2000-08-23 2002-03-07 Seagate Technology Llc Non-volatile write cache, in a disc drive, using an alternate power source
US6658533B1 (en) * 2000-09-21 2003-12-02 Intel Corporation Method and apparatus for write cache flush and fill mechanisms
US6567892B1 (en) * 2001-05-23 2003-05-20 3Ware, Inc. Use of activity bins to increase the performance of disk arrays
US6549977B1 (en) * 2001-05-23 2003-04-15 3Ware, Inc. Use of deferred write completion interrupts to increase the performance of disk operations
US6957302B2 (en) * 2001-09-20 2005-10-18 Hewlett-Packard Development Company, L.P. System and method for performing write operations in a disk drive using a write stack drive
US20030120869A1 (en) * 2001-12-26 2003-06-26 Lee Edward K. Write-back disk cache management
US6917967B2 (en) * 2002-12-13 2005-07-12 Sun Microsystems, Inc. System and method for implementing shared memory regions in distributed shared memory systems
US7010645B2 (en) * 2002-12-27 2006-03-07 International Business Machines Corporation System and method for sequentially staging received data to a write cache in advance of storing the received data

Also Published As

Publication number Publication date
FR2870367B1 (fr) 2007-10-12
FR2870367A1 (fr) 2005-11-18
CN100418069C (zh) 2008-09-10
CN101324864A (zh) 2008-12-17
IE20050081A1 (en) 2005-10-19
GB2412482B (en) 2007-12-27
DE102005012448A1 (de) 2005-11-03
US20050210318A1 (en) 2005-09-22
TWI366097B (en) 2012-06-11
SG115830A1 (en) 2005-10-28
DE102005012448B4 (de) 2015-05-07
GB2412482A (en) 2005-09-28
MY139233A (en) 2009-09-30
SG135206A1 (en) 2007-09-28
GB0505767D0 (en) 2005-04-27
TW200540623A (en) 2005-12-16
CN1690979A (zh) 2005-11-02
KR20060043873A (ko) 2006-05-15

Similar Documents

Publication Publication Date Title
JP2005276196A (ja) ドライブ故障に続いてドライブリカバリを行うためのシステムおよび方法
US7975168B2 (en) Storage system executing parallel correction write
US7809979B2 (en) Storage control apparatus and method
US8464094B2 (en) Disk array system and control method thereof
CN103136074B (zh) 多个磁盘阵列系统的数据储存方法及数据储存系统
JP4815825B2 (ja) ディスクアレイ装置及びその再構築方法
US8234467B2 (en) Storage management device, storage system control device, storage medium storing storage management program, and storage system
EP2250563B1 (en) Storage redundant array of independent drives
US6766491B2 (en) Parity mirroring between controllers in an active-active controller pair
JP5285611B2 (ja) グローバルホットスペアディスクが存在するときに、切断されたドライブを復元、及びコピーバックする最適化された方法
US8074106B2 (en) Storage control device and RAID group extension method
US20130103902A1 (en) Method and apparatus for implementing protection of redundant array of independent disks in file system
US20060236149A1 (en) System and method for rebuilding a storage disk
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
US20100115310A1 (en) Disk array apparatus
US20050033933A1 (en) Systems and methods for modifying disk drive firmware in a raid storage system
US20200004639A1 (en) Storage utilizing a distributed cache chain and a checkpoint drive in response to a data drive corruption
JP2010061291A (ja) ストレージシステムおよびその省電力方法
JP2006079219A (ja) ディスクアレイ制御装置およびディスクアレイ制御方法
US20110258381A1 (en) Data duplication resynchronisation
US20150378622A1 (en) Management of data operations
JP5505329B2 (ja) ディスクアレイ装置及びその制御方法
KR102659829B1 (ko) Raid 동작을 제어하는 방법 및 시스템
JP2014041523A (ja) データ管理装置、及び、データ管理方法
JP2006134026A (ja) ディスクアレイ装置およびraidレベル設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080108

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100226