JPH07210329A - シーク・アフィニテイ及び書き込み感度を保つための方法、複数トラックのデータをデステージするための方法及びdasdサブシステム - Google Patents

シーク・アフィニテイ及び書き込み感度を保つための方法、複数トラックのデータをデステージするための方法及びdasdサブシステム

Info

Publication number
JPH07210329A
JPH07210329A JP5260532A JP26053293A JPH07210329A JP H07210329 A JPH07210329 A JP H07210329A JP 5260532 A JP5260532 A JP 5260532A JP 26053293 A JP26053293 A JP 26053293A JP H07210329 A JPH07210329 A JP H07210329A
Authority
JP
Japan
Prior art keywords
dasd
cylinder
buffer
blocks
same
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
JP5260532A
Other languages
English (en)
Inventor
Richard L Mattson
リチャード・ルイス・マットソン
Jaishankar M Menon
ジェイシヤンカー・モーゼダス・メノン
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 JPH07210329A publication Critical patent/JPH07210329A/ja
Pending legal-status Critical Current

Links

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/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
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】シーク・アフィニテイ及び書き込み感度を有利
に保つように、DASDアレイへのアクセスを管理する
こと 【構成】DASDアレイに記録されるような複数のシリ
ンダ・グループを、それぞれ個別のログ構造化ファイル
(LSF)として管理する。同じか又は異なるパリテイ
・グループ・アフィニテイを有し且つ同じか又は異なる
DASDシリンダ・アドレスに記憶されるようなデータ
及びパリテイ・ブロックのセグメント又はトラックは、
デイレクトリで管理されるシーク・アフィニテイ/書き
込み感度バッファへ書き込まれる。セグメントからのブ
ロックが同じパリテイ・グループ・アフィニテイを有し
且つ対応するDASDシリンダ上に記録されるように、
当該ブロックを同じ又は近隣シリンダ上のスペア又は再
利用されるDASDアレイ位置へ書き込む。又はこのロ
グからアドレスされたDASDシリンダへ、その場更新
として書き込みを行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は直接アクセス記憶装置
(DASD)を管理するための方法及びサブシステムに
係り、更に詳細に説明すれば、シーク・アフィニテイ
(類似性又は類縁性)及び書き込み感度を有利に保つよ
うにして、DASDアレイへのアクセスを管理すること
に係る。
【0002】
【従来の技術】以下では、DASDの重要な側面である
読み取り/書き込みアクセス方式及び記録方式を説明し
た後、DASDの性能測定に関係するシーク・アフィニ
テイ及び書き込み感度を説明する。次に、更新情報をD
ASDに書き込む際のシーク時間を最小化することに関
連して、ログ構造化ファイル(LSF)の記憶モデルを
説明する。次に、DASDの推奨形態としてのDASD
アレイを説明する。最後に、DASDアレイについてロ
グ構造化ファイル(LSF)を定義する場合の、幾つか
の欠点を説明する。
【0003】DASDの論理編成 DASDとは、例えば複数トラックを持った循環式の磁
気記憶媒体に見られるように、アクセス時間がデータの
位置とは実質的に無関係であるような記憶装置である。
DASD中の複数のデイスクは、一定の角速度で回転す
るモータ駆動式のスピンドルへ同心円状に取り付けられ
る。これらのデイスクは、1以上のアクチュエータが各
デイスクの少なくとも1つの表面上を半径方向に移動し
得るように、スピンドルに沿って互いに間隔を置いて配
置されている。
【0004】DASD中の「読み取り/書き込みヘッ
ド」は、トラックに沿って磁気スポットの集束パターン
を刻印するか又はこれを検出するためのものである。読
み取り/書き込みヘッドと授受すべきデータは、磁気ス
ポットのパターンとして表現され、予定のフォーマット
でトラック上に記録される。各トラックは複数の「セ
ル」に分割され、予定数のセルが各「セクタ」を形成す
る。読み取り/書き込みヘッドに関連する各トラック上
の位置を決定するには、基準マーカの通過時点を検知
し、それに応じてセクタ又はセル位置を特定すればよ
い。従って、各データ要素を物理的に位置付けるために
は、DASD、デイスク、トラック及びセクタ座標とい
った情報が必要となる。
【0005】一般的な例を説明すれば、各DASD中の
読み取り/書き込みヘッドは、単一のアームを移動する
ためのアクセス・アセンブリへ取り付けられる。このア
センブリは、半径方向の内側又は外側に移動することが
できる。このアセンブリが読み取り/書き込みヘッドを
新しい位置へ移動させる場合、以前とは異なる1組のト
ラックがアクセス可能となる。「シリンダ」とは、この
アセンブリの位置を変更することなくアクセス可能な1
組のトラックを意味する。このような位置変更の動作を
「シーク」と呼ぶ。
【0006】シーク・アフィニテイ及び書き込み感度 シーク時間に影響する要因には、DASD中のデータの
クラスタリングと、読み取り/書き込みのパターンとが
含まれる。この点に関し、ホストで実行中の複数の適用
業務が、システム管理記憶装置(SMS)に対し、種々
の読み取り/書き込みパターンを生成することがある。
これらのパターンは、順次式又はランダム式の参照動作
を含む。支配的な要因は、データが連続的に記憶されて
いるのか、又はそれ自体分散しているのか、ということ
である。例えば、データが同一トラック上の連続的な位
置に記憶されているのであれば、このデータを順次に読
み取るか又は書き込むことにより、シーク時間の量は最
小となろう。他方、データがシステム管理記憶装置(S
MS)に関しランダムに分散しているのであれば、その
順次アクセスに要するシーク時間は著しく増大すること
になろう。この種の状況は、データベースを更新し且つ
照会するという適用業務に屡々見い出される。これらの
適用業務は、更新用のランダムな書き込みと、これに続
く順次読み取りを伴う照会という読み取り/書き込みパ
ターンを呈する。かかる書き込み動作に関連するシーク
時間を最小化するための1つの対策は、「その場更新」
(update−in−place)アルゴリズムを使
用することである。しかしながら、アレイ内の複数のD
ASD上にあるパリテイ・コード化データを書き込みに
より更新すると、「書き込みペナルテイ」を負うと言わ
れている。この場合、1回の更新当たり、古いパリテイ
を読み取り、古いデータを読み取り、新しいパリテイを
計算し、この新しいパリテイ及び新しいデータを書き出
す、という4動作が必要となるからである。書き込みに
関連するシーク時間を最小化するための他の対策は、更
新の如き同種の動作をバッチした後、これらをDASD
へ順次に書き出す、というものである。
【0007】記憶システムの効率を評価するために、本
明細書では2つの測定基準、すなわちシーク・アフィニ
テイと書き込み感度を使用する。これらの定義は、次の
通りである。
【0008】「シーク・アフィニテイ」とは、所定のワ
ークロードを実行している間の真の平均シーク時間を、
当該DASDの平均ランダム・シーク時間で割った比で
ある。シーク・アフィニテイの値が小さいほど、性能が
良いことになる。
【0009】「書き込み感度」とは、「書き込み効率」
とも呼ばれ、パリテイ・コード化データを書き直すのに
必要なシステム管理記憶装置(SMS)の資源の測定基
準として使用されるものである。パリテイ・コード化デ
ータの「その場更新」は、前述のように、古いパリテイ
を読み取り、古いデータを読み取り、新しいパリテイを
計算し、この新しいパリテイ及び新しいデータを書き出
す、という4動作を必要とする。
【0010】ログ構造化アレイ 記憶システムが、シーク・アフィニテイを保つことより
も、書き込み感度について一層敏感である場合は、ログ
構造化ブロック・マネージャ又はファイル・システムを
使用することができる。
【0011】Rosenblum et al,”Th
e Design and Implementati
on of a Log Structured Fi
leSystem”,ACM Transaction
s on ComputerSystems,Vol.
10,No.1,Feb.1992,pp.26−52
という文献で検討されている「ログ構造化ファイル」
(LSF)は、新しい全ての情報を「ログ」と呼ばれる
順次構造の形態でDASDへ書き込むためのものであ
る。多数のブロックを書き込む準備が完了するまで、ス
ペア空間がサブシステム中に維持され、修正済みのデー
タがメモリ中のバッファ、すなわちログに収集される。
一連の書き込み及び更新をバッファし且つ新しい全ての
情報を単一のDASD動作で順次にバッチ書き込みする
と、殆ど全てのシーク動作を排除することができ、かく
て書き込み性能を改善することができるようになる。
【0012】このログは順次的な構造を持っているか
ら、クラッシュ回復も一層速やかに行うことができる。
このログはインデックス及びデイレクトリ情報を保持し
ているから、ログの順次スキャンではなしに、デイレク
トリ・ルックアップを使用することができる。
【0013】書き込みに関するシーク時間を最小化する
ために、書き出し動作は、連続的な物理アドレスで行わ
れる。このことは、大量の自由空間が利用可能であるこ
とを必要とする。その反面では、多数の断片化セグメン
トからライブ・データを収集し且つかかるデータを空き
セグメントへ詰め直すという、ガーベジ・コレクション
も必要となる。こうすることにより、読み取り動作の局
所性が破壊されるから、読み取り動作に関するシーク・
アフィニテイが著しい影響を受けることは勿論である。
【0014】パリテイ付きのログ構造化DASDアレイ
の場合、メモリ中のブロックへパリテイが追加される。
これらのブロックはそれらのパリテイ・ブロックを追加
されると、新しいパリテイ・グループをそれぞれ形成す
るものとみなされて、DASD上の新しい位置へ1単位
として書き込まれる。
【0015】DASDアレイ 前述のように、ログ構造化ファイル(LSF)は、記憶
管理の観点から見た記憶装置であり、これをDASDア
レイを含む多種多様なDASD構成上へ定義することが
できる。一般に、DASDアレイとは、データのストラ
イピング及び冗長性や、スペア記憶装置や、選択された
DASDサブセットの同期的アクセス等を通して、並行
性とか、スループット(データ転送速度)及び耐障害性
を改善するように、DASDのサブセットを管理するた
めの方法及び手段として考えることができる。重要なこ
とは、ログ構造化ファイル(LSF)又はDASDアレ
イ編成のいずれも、DASDボリューム上にあるデータ
及びパリテイ・ブロックの絶対シリンダ・アドレッシン
グ・パターンを変更するものではない、という点であ
る。
【0016】Patterson et al,”A
Case for Redundant Arrays
of Inexpensive Disks (RA
ID)”,Report No.UCB/CSD 87
/391,December1987,Compute
r Science Division,U.ofCa
lifornia,Berkeley という基本的な
文献は、今や周知のDASDアレイである「RAID
1−5」の類型を記述している。この文献によれば、
「RAID 1ー5」の各々は次のように定義されてい
る。
【0017】「RAID 1」では、各データ・ブロッ
クは1対のDASDに二重に記録されているから、1次
DASD上のデータに至る経路で障害が生ずる場合に
は、単に2次DASDへ電子的にスイッチするだけでよ
い。その欠点は、データを保持するのに実際にはQ個の
DASDが必要であるとした場合、2*Q個(100%
の冗長度)のDASDが必要となる、という点である。
【0018】「RAID 2」は、ビット・インターリ
ービング・データ及びハミング・エラー検出兼訂正用コ
ード・ビットを含んでいて、(ビット・ストライプ済み
の)これらのビットを対応するDASDへ書き込むよう
にしている。これは冗長なDASDの数を減少させる
が、回復を行うために依然として重要な断片部を必要と
する。
【0019】「RAID 3」は、各データ・ストリン
グをn個のデータ・ブロックへ分割し、これらのパリテ
イ又は他の冗長コード・ブロックを計算するとともに、
n+1個のブロックを対応するn+1個のDASDへ同
期的に書き込むようにしている。
【0020】「RAID 4」は、アレイ中のDASD
のサブセットを同時的に且つ独立的にアクセスする。
【0021】最後の「RAID 5」は、アレイ中のD
ASDサブセットを同時的に且つ独立的にアクセスする
という点では「RAID 4」と同様であるが、複数の
パリテイ・ブロックを複数のDASDに分散させている
という点が異なる。
【0022】前記5種類のRAIDの類型のうち、「R
AID 3」及び「RAID 5」が最も多く現用され
ている。すなわち、「RAID 3」が数値データのス
トリームを集中的に扱う適用業務に利用されているのに
対し、「RAID 5」はスループットを犠牲にしても
並行性を重視するようなトランザクション管理用の適用
業務に利用されている。因みに、Patterson
は、単一の大容量DASDよりも、多数の安価なDAS
Dから形成されたアレイの方が、データ転送速度及び冗
長度を抑制した可用性に一層良く適合し得る、と主張し
ている。
【0023】
【発明が解決しようとする課題】DASDアレイを全体
として利用するログ構造化アプローチは修正済みデータ
の書き込み効率を向上させるが、その反面では次の点を
犠牲にしている。
【0024】(1)シーク・アフィニテイを失う点、
(2)情報論理ブロックの動的に変化する物理位置を追
跡するようなデイレクトリ構造を維持しなければならな
い点、及び(3)ログからの大量の修正済みブロックを
書き込むべき連続的なクリーン空間を得るため、修正さ
れていない複数のブロックのガーベジ・コレクションを
定期的に行ってこれらのブロックを新しい位置へ移動さ
せねばならない点。
【0025】本発明の目的は、シーク・アフィニテイ及
び書き込み感度を有利に保つようにして、DASDアレ
イを含むシステム管理記憶装置をアクセスするための方
法及びDASDサブシステムを提供することにある。
【0026】本発明の他の目的は、前記方法及びDAS
Dサブシステムがログ構造化ファイル(LSF)の側面
を利用しつつ、以下の要因によって生ぜられるようなシ
ーク・アフィニテイのLSF消失によるペナルテイを最
小化することにある。
【0027】(1)参照の局所性を消失又はスキャッタ
を増大させるシャドウ書き込み、(2)動的に変化する
記憶装置を制御するためのデイレクトリの如き手段を維
持及び使用すること、及び(3)バッチ書き込みによる
更新を実行すべき連続的な空間を提供するように、ガー
ベジ・コレクションを行う必要性。
【0028】
【課題を解決するための手段】前記目的を達成するた
め、本発明の方法及びDASDサブシステムでは、DA
SDアレイに記録されるような複数のシリンダ・グルー
プを、それぞれ個別のログ構造化ファイル(LSF)と
して管理する。同じか又は異なるパリテイ・グループ・
アフィニテイを有し且つ同じか又は異なるDASDシリ
ンダ・アドレスに記憶されるようなデータ及びパリテイ
・ブロックのトラック又はセグメントは、デイレクトリ
で管理されるバッファへ書き込まれる。
【0029】このバッファからDASDアレイへのデス
テージ(書き込み)は、次のいずれかの措置を必要とす
る。
【0030】(1)前記バッファ(ログ)から同じシリ
ンダ上の新しいDASD位置へ、これらのブロックを書
き込むこと。すなわち、或るセグメントからのブロック
が同じパリテイ・グループ・アフィニテイを有し且つ対
応するDASDシリンダ上に記録されるように、当該ブ
ロックを同じ又は近隣(nearby)シリンダ上のス
ペア又は再利用されるDASDアレイ位置へ書き込む。
又は (2)前記バッファからアドレスされたDASDシリン
ダへ「その場更新」として書き込みを行う。但し、この
場合において、(a)当該セグメント中のこれらのブロ
ックは同じアフィニテイを有するが、異なる対応DAS
Dシリンダに記憶される、又は(b)これらのブロック
は異なるアフィニテイを有し、少なくとも1つのブロッ
クが異なる対応DASDシリンダ上に位置付けられる。
【0031】本発明において、「パリテイ・グループ」
とは、異なるN個のDASD上にあるN個の予定トラッ
クに書き込まれるN個のデータ・ブロックと、前記N個
のデータ・ブロックについて計算され且つ(N+1)番
目のDASDに書き込まれる1個のパリテイ・ブロック
とから成るものと定義される。
【0032】キーとなる概念は、データの各シリンダ・
グループをログ構造化ファイル(LSF)として扱うこ
とにより、各シリンダ・グループ内でシーク・アフィニ
テイを保つことを可能にする、ということである。シー
ク・アフィニテイを保つには、通常はログ構造化ファイ
ル(LSF)に関連するスペア空間の或るものを各シリ
ンダ上に確保しておけばよい。
【0033】これが有利となるのは連続的なDASD位
置において順次スキャンが生ずる場合である。
【0034】
【実施例】図1のシステムは、ホスト・プロセッサ1と
外部記憶とを含む。この外部記憶は、N+1個のDAS
Dを有するDASDアレイ8と、ホスト・プロセッサ1
をDASDアレイ8へ結合するアレイ制御ユニット2と
から形成されている。ホスト・プロセッサ1は、適用業
務及びシステム・コード(MVS,AIX,CICS等
のオペレーテイング・システムの別称)を実行するため
に使用される少なくとも1つのプロセッサと、適用業務
コード、システム・コード及びデータを保持するメモリ
と、実行中の適用業務からの読み取り及び書き込みコー
ルに応答して前記システム・コードの仲介で情報をアク
セスするための手段とを備えることが望ましい。
【0035】米国特許第4,207,609号及びその
参照文献には、データへのアクセス・パスを確立するこ
とにより、CPUがDASDサブシステムから可変長又
は固定長のレコードを獲得できるようにするアーキテク
チャが記述されている。
【0036】このアーキテクチャでは、CPUは専用の
仮想プロセッサを作成し、一方、この仮想プロセッサは
「チャネル・コマンド・ワード」(CCW)と呼ばれる
特殊目的I/O命令のチェーンを使用して、データ・ス
トリームをアクセスし且つこれを要求/応答式インタフ
ェースを介して接続済みのサブシステムへ転送する。C
CWは、高速のコールをサポートするために、CPU内
部のメモリに記憶されている。或る適用業務プログラム
が外部記憶(通常は接続済みのDASD)へのアクセス
を必要とするような読み取り又は書き込みを実行する場
合、CPUに常駐するシステム/370のMVSオペレ
ーテイング・システムは、「入出力開始」コマンドで以
てこのような参照を開始する。このコマンドに応答し
て、CPUの多重処理状態が中断され、CCWチェーン
へ制御が移行し、このCCWチェーンの完了後にその以
前の状態が再確立される。
【0037】図1を再び参照するに、ホスト・プロセッ
サ1は、パス3を介して記憶制御ユニット5へ適当なC
CWチェーンを送る。記憶制御ユニット5は、CCWの
各々を解釈し、これに応答して適切なアドレス及び制御
信号をパス9を介してデイレクトリ・メモリ10へ与え
ることにより、データの位置がシーク・アフィニテイ/
書き込み感度(SA/WS)バッファ15又はDASD
アレイ8のいずれにあるかということを確認する。ホス
ト・プロセッサ1とDASDアレイ8との間で授受すべ
きデータは、パス3、記憶制御ユニット5、パス13、
アクセス回路16、バッファ15、アクセス回路17及
びパス19を経由する。ホスト・プロセッサ1は、アレ
イ制御ユニット2によって保持される記憶モデルを使用
して、データをアクセスしている。本発明では、この記
憶モデルは、DASDシリンダを個々のログ構造化ファ
イル(LSF)として管理するものとして、アレイ制御
ユニット2内の記憶制御ユニット5によって管理され
る。これは、バッファ15の内容を予定のパターン及び
条件でDASDアレイ8へデステージすることによって
表される。
【0038】アレイ制御ユニット2の構成要素を概説す
るに、これは、CCWを解釈し且つログ構造化ファイル
(LSF)の記憶モデルに従ってバッファ15及びDA
SDアレイ8を管理するためのソフトウエアを記憶する
に十分な容量のメモリを持つ1以上のマイクロプロセッ
サと、デイレクトリ・メモリ10中に設けられ且つ論理
データ・ブロックから物理データ・ブロックへのマッピ
ングを示すデイレクトリと、論理アフィニテイを有する
ブロック・グループを形成し且つこのグループに関する
パリテイ又は他の冗長コードを計算するための手段と、
修正済みのデータ・ブロックを保持するバッファ15
と、任意のDASD及びバッファ15との間でデータ及
び制御信号を移動させるパス7及び19とを備えてい
る。
【0039】DASDアレイ8は、前掲のPatter
son文献で定義されている「RAID 3」又は「R
AID 5」型のアレイとして、記憶制御ユニット5に
よって管理される。米国特許4,914,656号に
は、DASDアレイ8を「RAID 3」型のアレイと
して管理する実施例が記述されており、その内容は、デ
ータ・ストリングをセグメント化又はストライプ化する
こと、グループ内ブロックへパリテイを割り当てるこ
と、対応するDASDから1パリテイ・グループ又はブ
ロックを同期的にアクセスすること、耐障害モード及び
低下モードにおけるアレイ動作を含んでいる。
【0040】図2は、デイレクトリ・メモリ10の編成
を示す。これは、デイスク・デイレクトリと、バッファ
15の内容に対するバッファ・デイレクトリとから成
る。図2の左側に示すデイスク・デイレクトリは、物理
DASD 1ー4を含む、パリテイ付きのDASDアレ
イ用のものである。前述のように、DASDは、1組の
同心円状シリンダから形成され、一方、各シリンダは、
(通常は複数デイスクを有するDASDの)対応するデ
イスク上の1トラックから形成される。同心円状の複数
のシリンダを「ボリューム」と呼ぶ通常の例に倣って、
図2では、DASD 1乃至4を、「Vol−1」乃至
「Vol−4」とそれぞれ表記している。本発明では、
「デイスク・トラック」をアドレス可能な最小単位とし
ているが、1トラック、複数トラック等の内部にある複
数ブロックをアドレス可能な最小単位とすることも可能
である。後者の場合には、一般性を失わないように、
「トラック」という用語を「ブロック」、「セグメン
ト」等の用語で置き換えることができる。
【0041】図2を再び参照するに、その第1欄には、
各デイスク上にある各トラックのシリンダートラック・
アドレス(CC−T)が示され、第2欄には、「Vol
−1」と表記されたDASD 1の内容が示されてい
る。例えば、第2欄の第3行にある[Dgcf」(Vo
l−CC−T=1ー10ー2に相当)という表記は、次
のことを意味する。
【0042】「D」: このトラックがデータのみを保
持することを意味する; 「g」: このトラックがgと命名される論理的なVo
l−CC−Tに対応することを意味する; 「c」: このトラックがパリテイ・グループcに属す
ることを意味する; 「f」: このトラックのデータがフレッシュ(この論
理トラックの最新のデイスク・バージョン)であること
を意味する。
【0043】図2の第5欄には、「Vol−4」と表記
されたDASD 4の内容が示されており、その第1行
にある「P−af」(Vol−CC−T=4ー10ー0
に相当)という表記は、これがパリテイ・グループ
「a」のパリテイ・トラックであり且つこれがフレッシ
ュであることを意味する。本発明において、各パリテイ
・グループは、互いに異なるN個のデイスク上にあるN
個のデータ・トラックと、他の(N+1)番目のデイス
ク上にあるパリテイ・トラックとから成るものとして定
義される。このパリテイ・トラック上にある第1パリテ
イ・ビットは、当該パリテイ・グループに属するN個の
データ・トラック上にある第1ビットを互いに排他OR
したものである。このことは、当該パリテイ・トラック
上の他の全てのビットについても同様である。
【0044】図2の右側にある3欄は、バッファ15に
関連するバッファ・デイレクトリの内容を示す。通常の
場合、バッファ・デイレクトリは4欄以上を含むが、本
発明の要旨を理解するには前記3欄の内容を説明すれば
十分であるという理由で、追加の欄は図2には示されて
いない。これらの3欄の内容は、次のような意味を有す
る。
【0045】(1)第1欄はバッファ15中に現に存在
するデータ・トラックの論理名をリストする。例えば、
「名前−P」欄にある「Dd−b」という表記は、パリ
テイ・グループ「b」に属するデータ・トラック「d」
がバッファ15内に現に存在することを意味する。
【0046】(2)次の「V−CC−T」欄は、「Dd
−b」という表記に対応するデータ・トラックが、「V
ol−CC−T=1ー10ー1」のデイスク・ホーム位
置を有することを示す。図2の左側にあるこの位置を見
ると、「Ddbf] という表記が存在することが
判る。
【0047】(3)バッファ・デイレクトリの最後の欄
は「ダーテイ」欄であり、その内容が1に等しいと、そ
のトラック上の或るデータがバッファ15中で修正され
たが、まだ該当するデイスク上の位置へ書き戻されてい
ないことを意味する。図2にはダーテイ・トラックのみ
がリストされているけれども、実際のバッファ・デイレ
クトリは、クリーン・トラック及びダーテイ・トラック
の両方をリストする。
【0048】本発明は、通常はログ構造化DASDアレ
イに関連するスペア空間を(図2の左側にある「CC−
T」欄のアドレス・エントリ10ー3及び10ー4の内
容「xxxxx」によって示すように)各シリンダ上に
保持することによって、シーク・アフィニテイを保たん
とするものである。
【0049】図2を引き続いて参照するに、その右端部
分には、バッファ15からデイスクへの書き込みを行う
3つのケースが表されている。これらのケースは、次の
通りである。
【0050】ケース1(最良のケース) このケースでは、複数のデイレクトリ・エントリがダー
テイ・ビット及びパリテイ・グループによって分類さ
れ、1パリテイ・グループからの全てのデータ(N=3
トラック)はダーテイである。このケースの場合、同じ
パリテイ・グループの更新済みバージョンをバッファ1
5内で形成することが可能であるから、(図6に示すよ
うに)そのパリテイ・グループ全体をデイスク上の元の
位置へ書き戻すか、又は(図3に示すように)これらの
データ・トラック及びパリテイ・トラックをそれらが元
々読み取られたものと同じ物理シリンダ上のスペア・ト
ラックへ書き戻すことができる。かかるポリシーは両者
ともにシーク・アフィニテイを保つが、第2のポリシー
の方が耐障害性が大きい。この第2のポリシーの結果は
図3に示されており、そこでは4回のデイスク書き込み
が完了した後の、結果的なデイスク及びデイレクトリ・
エントリが1個の大きな丸印で表されている。
【0051】ケース2(最も頻度の高いケース) このケースでは、デイレクトリ・エントリはダーテイ・
ビット及びVol−IDによって分類され、N=3個の
デイスクがダーテイ・トラックを有する。この場合、新
しいパリテイ・グループjをバッファ15内に形成し
て、そのデータ・トラック及びパリテイ・トラックを、
それらが元々読み取られたものと同じ物理シリンダ上の
スペア・トラックへ書き込むことが可能である。各トラ
ックの古い位置に対するデイレクトリ・エントリは、フ
レッシュを意味する表記「f」を、古い又は不良を意味
する表記「b」へ変更されなければならない。このポリ
シーはシーク・アフィニテイを保つ。このポリシーの結
果は図3に示す通りであり、そこでは4回のデイスク書
き込みを完了した後の、結果的なデイスク及びデイレク
トリ・エントリが4個の小さな丸印で表されている。
【0052】ケース3(最も頻度の低い極端なケース) このケースでは、デイレクトリ・エントリはダーテイ・
ビット及びVol−IDによって分類され、全てのダー
テイ・トラックが同一デイスクの異なるシリンダ上にあ
る。もし、これが極端なケースで、しかもこれらのトラ
ックが現にデステージされねばならないのであれば(一
層多くのトラックがダーテイとなって、ケース2又はケ
ース1が存在することになるであろうから、待機するこ
とがより良い措置である)、シーク・アフィニテイを保
つには「その場更新」を行うと良い。かくて、古いパリ
テイ及び古いデータが既にバッファ15内に存在しなけ
れば、これらをバッファ15へ読み込んだ後に、新しい
データ及び新しいパリテイをデイスク上のそれらの元の
位置へ書き戻さなければならない。この動作はシーク・
アフィニテイを保ち、図3には6回のデイスク読み取り
及び6回のデイスク書き込みを完了した後の、結果的な
デイスク及びデイレクトリ・エントリが示されている。
【0053】3トラックの書き込みを行うために最大で
12回のデイスク動作を必要とするような、この「その
場更新」アプローチに対する1つの代替方法は、異なる
2デイスクの各々ごとに3個ずつ、計6個のクリーンな
データ・トラックをバッファ15中で見い出し、これら
のデータ・トラックをダーテイとマークするとともに、
ケース2のように9データ・トラック及び3パリテイ・
トラックのために12回のデイスク書き込みを行う、と
いうものである。しかしながら、このアプローチは自由
空間を使い果たすので、後述する「ガーベジ・コレクシ
ョン」という追加の作業を必要とすることがある。この
ようなクリーンなトラックがバッファ15中に存在しな
い場合の、他の代替方法は、必要なトラックをバッファ
15へ読み込み、これらのトラックをダーテイとマーク
するとともに、ケース1又はケース2の動作を実行す
る、というものである。しかしながら、かかる追加の読
み取りや将来のガーベジ・コレクションを実行するには
追加の作業が増えるから、一般に、これらの方法は「そ
の場更新」の有効な代替方法とはなり得ない。
【0054】前述のケース1乃至ケース3が、全てのケ
ースではない。事実、ダーテイ・ビット、Vol−ID
及びパリテイ・グループに関連して、(例えば、1パリ
テイ・グループのN−1個の要素がダーテイで、N−1
個のボリュームがダーテイ・トラックを有する、等の)
他の種々のケースが生じ得る。更に、同じケース(例え
ば、前述のケース2)でも幾つかのインスタンスが、バ
ッファ・デイレクトリ中で同時に存在し得る。アレイ制
御ユニット2によって作業が実行されている間、種々の
事項についての選択、すなわちどのトラック・グループ
をバッファ15からデイスクへ書き込むのか、ダーテイ
・トラックからの新しいパリテイ・グループをその場で
更新するのか、クリーン・トラックをダーテイとマーク
するのか、又はこれらの代替措置の1つを実行する前に
デイスクから追加のトラックを読み取るのか、といった
選択を行わなければならない。
【0055】本発明について言えば、最良の選択を行う
ために、考察中のトラックの活動に関する情報を使用し
て、実行しなければならない現在及び将来の作業を計算
し、最も非活動的なトラックについて実行すべき最少の
作業を選択するとともに、同じシリンダ上のスペア空間
へ書き込むことが行われる。これは、前掲のRosen
blum外の文献に記述されている。
【0056】図4には、「ガーベジ・コレクション」の
ために維持される「古いトラック・デイレクトリ」が示
されている。「ガーベジ・コレクション」は、バッファ
・マネージャにとっては必要なタスクである。これは、
1以上の「古い」トラックを含む所定のパリテイ・グル
ープからの「フレッシュ」トラックを移動させることに
より、当該パリテイ・グループによって占有されていた
空間をスペア空間へと変化させるようなプロセスであ
る。かくて、本発明のガーベジ・コレクションにとって
キーとなるのは「パリテイ・グループ」である。なぜな
ら、(パリテイ・トラックを含む)空間が利用可能であ
るとマークできるのは、所定のパリテイ・グループの各
データ要素が「古い」場合だけであるからである。
【0057】かかるガーベジ・コレクションの対象とな
るデータ構造は、スペア空間の性質及び必要性に応じて
変わる。図4の古いトラック・デイレクトリは、Vol
−ID及びCCによって分類される。Vol=2及びC
C=12は、2エントリを有することが判る。これは、
当該シリンダ上の全てのスペア空間が使い尽くされたこ
とを意味する。パリテイ・グループh及びiは考察中の
グループであり、このうちパリテイ・グループhからの
ものが最も古いトラックであるから、このパリテイ・グ
ループがガーベジ・コレクションの対象となる。記憶制
御ユニット5中のバッファ・マネージャに含まれるソフ
トウエアは、項目”Dxhf”が位置付けられ、バッフ
ァ15へ読み込まれ、ダーテイとマークされ、その結果
として位置(Vol−CC−T)1ー12ー1、2ー1
2ー1、3ー12ー1及び4ー12ー1を自由にするよ
うに、各パリテイ・グループの全てのメンバを確認する
ためのものである。これらの位置は利用可能とマークす
ることができ、この段階でVol=2,CC=12がス
ペア空間を有することになる。米国特許第5,155,
835号には、パリテイ・グループの識別子を確認する
ためのこれと同様の機構が記述されている。
【0058】図5乃至図9には、本発明に従ったデータ
・シリンダのログ構造化ファイル(LSF)管理を実現
するために、バッファ15及びその内部にあるデータ要
素に関連して、記憶制御ユニット5によって実行される
制御流れ及びデータ・パスの決定に係る擬次コードの翻
訳内容が示されている。これらの内容は、前述の説明を
形式化したものである。かかる制御を記述するに当た
り、(例えば、PASCAL、FORTRAN、PL/
1の如き)特殊な言語におけるソース及びオブジェクト
・コードの翻訳の形式化に必然的に付随するような、プ
ログラミング上の制約に注意が払われている。
【0059】図5は、冗長又はパリテイ・グループ・ア
フィニテイの3つのケースに関連する全体的なデータ管
理の流れを示すとともに、参照ブロックがアレイ中の同
じ又は異なる対応DASDシリンダに置かれることも示
している。図6乃至図8は、ケース1−3の詳細な流れ
をそれぞれ示している。最後の図9は、各シリンダをロ
グ構造化ファイルとして管理するのに必要な制御の、空
間再利用又はガーベジ・コレクションを示している。
【0060】以上では、本発明の実施例は、パリテイ付
きDASDアレイ内の同じシリンダへデータを書き込む
ものとして説明されているが、これを拡張してパリテイ
付きDASDアレイ内にある1グループのシリンダ又は
「近隣」シリンダへ書き込んだり、或いはパリテイ付き
でないDASDサブシステムへ書き込むようにすること
も、当業者には自明の事項に属する。
【0061】更には、「パリテイ・グループ」を拡張し
て、互いに論理的に関係する予定数のデータ・ブロック
及びこれらのデータ・ブロックを互いに排他ORするこ
とにより形成されるパリテイ・ブロックを含むようにす
ることも可能である。すなわち、この「パリテイ・グル
ープ」は、前記論理的に関係する予定数のデータ・ブロ
ックがリード・ソロモン符号又はB隣接符号によって形
成されるような、冗長ブロックをも包含することができ
る。
【0062】
【発明の効果】以上説明したように、本発明によれば、
シーク・アフィニテイ及び書き込み感度を有利に保つよ
うにして、DASDアレイをアクセスすることができ
る。
【図面の簡単な説明】
【図1】本発明に従った仲介用のシーク・アフィニテイ
/書き込み感度バッファを介してDASDアレイをアク
セスするホスト・プロセッサを示す図である。
【図2】デイスク・デイレクトリ及びバッファ・デイレ
クトリにより、パリテイ・グループ、論理シリンダ、D
ASD、パリテイ及び仲介用のシーク・アフィニテイ/
書き込み感度バッファの内容の状態を示す図である。
【図3】デイスク・デイレクトリ及びバッファ・デイレ
クトリの変更として表現されるように、本発明に従った
仲介用のシーク・アフィニテイ/書き込み感度バッファ
の内容を、DASDアレイへ書き出す動作を記述する図
である。
【図4】「古いトラック・デイレクトリ」を含む、デイ
スク・デイレクトリ及びバッファ・デイレクトリの変更
を示す図である。
【図5】本発明に従った仲介用のシーク・アフィニテイ
/書き込み感度バッファの内容を評価するとともに、こ
のバッファから同じ又は近隣シリンダ・グループ上の新
しいDASD位置へ書き込む動作及び「その場更新」と
してこのバッファから書き込む動作を動的にスイッチす
ることに係る擬次コードの翻訳内容を示す図である。
【図6】本発明に従った仲介用のシーク・アフィニテイ
/書き込み感度バッファの内容を評価するとともに、こ
のバッファから同じ又は近隣シリンダ・グループ上の新
しいDASD位置へ書き込む動作及び「その場更新」と
してこのバッファから書き込む動作を動的にスイッチす
ることに係る擬次コードの翻訳内容を示す図である。
【図7】本発明に従った仲介用のシーク・アフィニテイ
/書き込み感度バッファの内容を評価するとともに、こ
のバッファから同じ又は近隣シリンダ・グループ上の新
しいDASD位置へ書き込む動作及び「その場更新」と
してこのバッファから書き込む動作を動的にスイッチす
ることに係る擬次コードの翻訳内容を示す図である。
【図8】本発明に従った仲介用のシーク・アフィニテイ
/書き込み感度バッファの内容を評価するとともに、こ
のバッファから同じ又は近隣シリンダ・グループ上の新
しいDASD位置へ書き込む動作及び「その場更新」と
してこのバッファから書き込む動作を動的にスイッチす
ることに係る擬次コードの翻訳内容を示す図である。
【図9】本発明に従った仲介用のシーク・アフィニテイ
/書き込み感度バッファの内容を評価するとともに、こ
のバッファから同じ又は近隣シリンダ・グループ上の新
しいDASD位置へ書き込む動作及び「その場更新」と
してこのバッファから書き込む動作を動的にスイッチす
ることに係る擬次コードの翻訳内容を示す図である。
【符号の説明】
1・・・・ホスト・プロセッサ 2・・・・アレイ制御ユニット 3・・・・パス 5・・・・記憶制御ユニット 7・・・・アドレス及び制御パス 8・・・・DASDアレイ 9・・・・アドレス及び制御パス 10・・・・デイレクトリ・メモリ 13・・・・データ・パス 15・・・・シーク・アフィニテイ/書き込み感度(S
A/WS)バッファ 16・・・・アクセス回路 17・・・・アクセス回路 19・・・・データ・パス
フロントページの続き (72)発明者 ジェイシヤンカー・モーゼダス・メノン アメリカ合衆国カルフォルニア州、サン・ ホゼ、モントロ・ドライブ 6017番地

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】シリンダ・アドレス可能な複数のDASD
    から構成され且つ各々が論理的に関係する1組のデータ
    ・ブロック及び当該データ・ブロックからコード化され
    た一の冗長ブロックからそれぞれ形成されている複数の
    冗長グループを記憶するためのDASDアレイと、同じ
    か又は異なる冗長グループ・アフィニテイを有し且つ同
    じか又は異なるDASDシリンダ・アドレスに記憶され
    ている複数のデータ及び冗長ブロックをデイレクトリ管
    理されているバッファへ書き込むための手段と、複数の
    ブロック及び冗長グループを前記バッファと前記DAS
    Dアレイとの間で転送するための手段とを備えたDAS
    Dサブシステムにおいて、下記ステップより成る、シー
    ク・アフィニテイ及び書き込み感度を保つための方法。 (1)前記バッファからの複数のブロックが同じ冗長グ
    ループ・アフィニテイを有し且つ同じ対応DASDシリ
    ンダ上に記憶されるように、当該ブロックを同じか又は
    近隣DASDシリンダ上の予約済みのDASDアレイ位
    置へ書き込むステップ。 (2)前記バッファからDASDシリンダ・アドレス
    へ、「その場更新」として書き込みを行うステップ。但
    し、この場合において、(a)前記複数のブロックは同
    じ冗長グループ・アフィニテイを有するが、異なる対応
    DASDシリンダに記憶される、又は(b)前記複数の
    ブロックは異なる冗長グループ・アフィニテイを有し且
    つ少なくとも1つのブロックが異なる対応DASDシリ
    ンダ上に位置付けられる。
  2. 【請求項2】シリンダ・アドレス可能な複数のDASD
    から構成されたDASDアレイと、同じか又は異なるパ
    リテイ・グループ・アフィニテイを有し且つ同じか又は
    異なるDASDシリンダ・アドレスに記憶されている複
    数のデータ及びパリテイ・ブロックをデイレクトリ管理
    されているバッファへ書き込むための手段と、複数のブ
    ロック及びパリテイ・グループを前記バッファと前記D
    ASDアレイとの間で転送するための手段とを備えたD
    ASDサブシステムにおいて、下記ステップより成る、
    シーク・アフィニテイ及び書き込み感度を保つための方
    法。 (1)各DASDシリンダでスペア位置を予約又は再利
    用するステップ。 (2)前記バッファへ書き込まれた各ブロックのパリテ
    イ・グループ・アフィニテイ、位置及び状態を確認する
    ステップ。 (3)前記バッファからの複数のブロックが同じパリテ
    イ・グループ・アフィニテイを有し且つ同じ対応DAS
    Dシリンダ上に記憶されるように、当該ブロックを同じ
    か又は近隣DASDシリンダ上の予約済み又は再利用さ
    れるDASDアレイ位置へ書き込むか、或いは前記バッ
    ファからアドレスされたDASDシリンダへ「その場更
    新」として書き込みを行うステップ。但し、この場合に
    おいて、(a)セグメント中の前記複数のブロックは同
    じパリテイ・グループ・アフィニテイを有するが、異な
    る対応DASDシリンダに記憶される、又は(b)前記
    複数のブロックは異なるパリテイ・グループ・アフィニ
    テイを有し且つ少なくとも1つのブロックが異なる対応
    DASDシリンダ上に位置付けられる。
  3. 【請求項3】デイレクトリ編成されたバッファと、シリ
    ンダ・アドレス可能な複数のDASDから構成されたD
    ASDアレイとの間で、1パリテイ・グループ当たりn
    データ・ブロック+pパリテイ・ブロックを有する複数
    のパリテイ・グループを含む複数のセグメントをデステ
    ージするようにしたDASDサブシステムにおいて、下
    記ステップより成る、シーク・アフィニテイ及び書き込
    み感度を保つための方法。 (1)各DASDシリンダでスペア位置を予約又は再利
    用するステップ。 (2)新しい又は修正済みのパリテイ・グループを含む
    複数のセグメントを前記バッファへ書き込むとともに、
    各セグメント中にある各ブロックのパリテイ・グループ
    ・アフィニテイ、位置及び状態を確認するステップ。 (3)前記バッファからの各セグメント中の複数のブロ
    ックがそれぞれ対応DASDの同じシリンダ上に位置付
    けられる同じパリテイ・グループに属するように、当該
    ブロックを同じか又は近隣DASDシリンダ上のスペア
    DASD位置へ書き込むか、或いは前記バッファからの
    各セグメント中の複数のブロックを元のDASDシリン
    ダ位置へ「その場更新」として書き込むステップ。但
    し、この場合において、(a)各セグメント中の前記複
    数のブロックはそれぞれ異なるパリテイ・グループに属
    し且つ少なくとも1つのブロックは他のブロックとは異
    なるDASDシリンダに記憶されるか、又は(b)前記
    複数のブロックは同じパリテイ・グループに属するが、
    それぞれ異なるDASDシリンダ上に位置付けられる。
  4. 【請求項4】1パリテイ・グループ当たりnデータ・ブ
    ロック+pパリテイ・ブロックを有する複数のパリテイ
    ・グループが、シリンダ・アドレス可能な複数のDAS
    Dから構成されたDASDアレイ中の対応DASD上の
    シリンダ位置に書き込まれ、ステージ又はデステージさ
    れる各トラックが同じ又は異なるシリンダ上に位置付け
    られる同じ又は異なるパリテイ・グループを選択的に含
    むようにしたDASDサブシステムにおいて、下記ステ
    ップより成る、デイレクトリ編成されたバッファと前記
    DASDアレイとの間で複数トラックのデータをデステ
    ージするための方法。 (1)各DASDシリンダでスペア位置を予約又は再利
    用するステップ。 (2)新しい又は修正済みブロックを有する少なくとも
    1つのトラックを前記バッファへ書き込むとともに、各
    トラック中にある各ブロックのパリテイ・グループ、D
    ASDシリンダ・アドレス及び更新状態に関し前記バッ
    ファのデイレクトリを更新するステップ。 (3)前記バッファへ書き込まれた各トラック中の複数
    ブロックが同じ又は異なるDASDシリンダ位置にデス
    テージすべき同じ又は異なるパリテイ・グループを形成
    することを確認するステップ。 (4)前記ステップ(3)に従って前記バッファから前
    記DASDアレイへ複数のトラックをデステージするた
    め、前記バッファからの複数のブロックがそれぞれ対応
    DASDの同じシリンダ上に位置付けられる同じパリテ
    イ・グループに属するように、当該ブロックを同じか又
    は近隣DASDシリンダ上のスペアDASD位置へ書き
    込むか、或いは前記バッファからの複数のブロックを元
    のDASDシリンダ位置へ「その場更新」として書き込
    みを行うステップ。但し、この場合において、(a)前
    記複数のブロックはそれぞれ異なるパリテイ・グループ
    に属し且つ少なくとも1つのブロックは他のブロックと
    は異なるDASDシリンダに位置付けられるか、又は
    (b)前記複数のブロックはそれぞれ異なるDASDシ
    リンダ上に位置付けられる同じパリテイ・グループに属
    する。
  5. 【請求項5】各冗長又はパリテイ・グループは異なるN
    個のDASD上にあるN個の予定トラックに書き込まれ
    るN個のデータ・ブロック及び前記N個のデータ・ブロ
    ックについて計算され且つ(N+1)番目のDASDに
    書き込まれる1個の冗長又はパリテイ・ブロックから成
    る、請求項1、2、3又は4に記載の方法。
  6. 【請求項6】各DASDシリンダ上の位置が予定の期間
    内に上書きされなかったことに従って、当該位置をスペ
    ア位置として予約又は再利用するステップをさらに含
    む、請求項1、2、3又は4に記載の方法。
  7. 【請求項7】下記構成要件を備えて成る、DASDサブ
    システム。 (1)それぞれシリンダ・アドレス可能な複数のDAS
    Dから構成されたDASDアレイ。 (2)デイレクトリ管理されたバッファ。 (3)同じ又は異なるパリテイ・グループ・アフィニテ
    イを有し且つ同じ又は異なるDASDシリンダ・アドレ
    スに記憶されているデータ及びパリテイ・ブロックを前
    記バッファへ書き込むための手段。 (4)複数のブロック及びパリテイ・グループを前記バ
    ッファと前記DASDアレイとの間で転送するための手
    段。この転送手段は、更に下記の要素から構成されてい
    る。 (a)各DASDシリンダでスペア位置を予約又は再利
    用する手段。 (b)前記バッファへ書き込まれた各ブロックのパリテ
    イ・グループ・アフィ ニテイ、位置及び状態を確認する手段。 (c)前記バッファからの複数のブロックが同じパリテ
    イ・グループ・アフィニテイを有し且つ同じ対応DAS
    Dシリンダ上に記憶されるように、当該ブロックを同じ
    又は近隣DASDシリンダ上の予約済み又は再利用され
    るDASDアレイ位置へ書き込むか、或いは前記バッフ
    ァからアドレスされたDASDシリンダへ「その場更
    新」として書き込みを行うための手段。但し、この場合
    において、(c1)前記複数のブロックは同じパリテイ
    ・グループ・アフィニテイを有するが、異なる対応DA
    SDシリンダに記憶される、又は(c2)前記複数のブ
    ロックは異なるパリテイ・グループ・アフィニテイを有
    し且つ少なくとも1つのブロックが異なる対応DASD
    シリンダ上に位置付けられる。
JP5260532A 1992-12-11 1993-10-19 シーク・アフィニテイ及び書き込み感度を保つための方法、複数トラックのデータをデステージするための方法及びdasdサブシステム Pending JPH07210329A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/989,245 US5416915A (en) 1992-12-11 1992-12-11 Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
US989245 1992-12-11

Publications (1)

Publication Number Publication Date
JPH07210329A true JPH07210329A (ja) 1995-08-11

Family

ID=25534904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5260532A Pending JPH07210329A (ja) 1992-12-11 1993-10-19 シーク・アフィニテイ及び書き込み感度を保つための方法、複数トラックのデータをデステージするための方法及びdasdサブシステム

Country Status (3)

Country Link
US (2) US5416915A (ja)
EP (1) EP0606714A1 (ja)
JP (1) JPH07210329A (ja)

Families Citing this family (279)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138126A (en) * 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
JPH06348597A (ja) * 1993-06-08 1994-12-22 Hitachi Ltd キャッシュ制御方法および回転形記憶装置
US5583876A (en) * 1993-10-05 1996-12-10 Hitachi, Ltd. Disk array device and method of updating error correction codes by collectively writing new error correction code at sequentially accessible locations
US5530850A (en) * 1993-10-25 1996-06-25 International Business Machines Corporation Data storage library array with log-structured file system which allows simultaneous write and garbage collection
JP3065481B2 (ja) * 1994-04-22 2000-07-17 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ディスク・アレイ装置およびデータの格納方法
JP3745398B2 (ja) * 1994-06-17 2006-02-15 富士通株式会社 ファイルのディスクブロック制御方式
JPH086843A (ja) * 1994-06-23 1996-01-12 Fujitsu Ltd 半導体記憶装置
JP3687111B2 (ja) * 1994-08-18 2005-08-24 株式会社日立製作所 記憶装置システムおよび記憶装置の制御方法
US5463776A (en) * 1994-09-22 1995-10-31 Hewlett-Packard Company Storage management system for concurrent generation and fair allocation of disk space among competing requests
JPH08152976A (ja) * 1994-11-28 1996-06-11 Fujitsu Ltd 記憶装置のアクセス方法
US5542065A (en) * 1995-02-10 1996-07-30 Hewlett-Packard Company Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system
US5604902A (en) * 1995-02-16 1997-02-18 Hewlett-Packard Company Hole plugging garbage collection for a data storage system
US5574882A (en) * 1995-03-03 1996-11-12 International Business Machines Corporation System and method for identifying inconsistent parity in an array of storage
US5889795A (en) * 1995-04-21 1999-03-30 International Business Machines Corporation Disk array system and method for storing data
US5671390A (en) * 1995-05-23 1997-09-23 International Business Machines Corporation Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media
US5623701A (en) * 1995-06-06 1997-04-22 International Business Machines Corporation Data compression method and structure for a direct access storage device
US6098128A (en) 1995-09-18 2000-08-01 Cyberstorage Systems Corporation Universal storage management system
US5721823A (en) * 1995-09-29 1998-02-24 Hewlett-Packard Co. Digital layout method suitable for near video on demand system
US5799307A (en) * 1995-10-06 1998-08-25 Callware Technologies, Inc. Rapid storage and recall of computer storable messages by utilizing the file structure of a computer's native operating system for message database organization
US5734861A (en) * 1995-12-12 1998-03-31 International Business Machines Corporation Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity
US5974509A (en) * 1996-05-01 1999-10-26 Sun Microsystems, Inc. Method for purging unused data from a cache memory
US5799324A (en) * 1996-05-10 1998-08-25 International Business Machines Corporation System and method for management of persistent data in a log-structured disk array
US5860091A (en) * 1996-06-28 1999-01-12 Symbios, Inc. Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications
US6021408A (en) * 1996-09-12 2000-02-01 Veritas Software Corp. Methods for operating a log device
US5996054A (en) * 1996-09-12 1999-11-30 Veritas Software Corp. Efficient virtualized mapping space for log device data storage system
US5832515A (en) * 1996-09-12 1998-11-03 Veritas Software Log device layered transparently within a filesystem paradigm
GB2317722B (en) * 1996-09-30 2001-07-18 Nokia Mobile Phones Ltd Memory device
US5875457A (en) * 1996-10-08 1999-02-23 Mylex Corporation Fault-tolerant preservation of data integrity during dynamic raid set expansion
US6040953A (en) * 1997-03-25 2000-03-21 International Business Machines Corporation Adaptive data recovery method and means tuned to thermal asperities in a cyclic, multitracked magnetic storage subsystem
US5956735A (en) * 1997-03-28 1999-09-21 International Business Machines Corporation System of compressing the tail of a sparse log stream of a computer system
US5999935A (en) * 1997-03-28 1999-12-07 International Business Machines Corporation Tail compression of a sparse log stream of a multisystem environment
US6125393A (en) * 1997-03-28 2000-09-26 International Business Machines Corporation System of compressing the tail of a sparse log stream of a multisystem environment
US5920875A (en) * 1997-03-28 1999-07-06 International Business Machines Corporation Tail compression of a sparse log stream of a computer system
US6108667A (en) * 1997-03-28 2000-08-22 International Business Machines Corporation System of compressing a log stream using a scratch pad of logically deleted entries
US6199075B1 (en) * 1997-05-30 2001-03-06 Sun Microsystems, Inc. Method and apparatus for generational garbage collection of a heap memory shared by multiple processors
US6055604A (en) * 1997-08-26 2000-04-25 Hewlett-Packard Company Forced transaction log posting using a least busy storage media without maintaining redundancy of the transaction log
US6567889B1 (en) 1997-12-19 2003-05-20 Lsi Logic Corporation Apparatus and method to provide virtual solid state disk in cache memory in a storage controller
US6105103A (en) * 1997-12-19 2000-08-15 Lsi Logic Corporation Method for mapping in dynamically addressed storage subsystems
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6192444B1 (en) * 1998-01-05 2001-02-20 International Business Machines Corporation Method and system for providing additional addressable functional space on a disk for use with a virtual data storage subsystem
US6052799A (en) * 1998-05-15 2000-04-18 International Business Machines Corporation System and method for recovering a directory for a log structured array
US6151685A (en) * 1998-05-15 2000-11-21 International Business Machines Corporation System and method for recovering a segment directory for a log structured array
US6256705B1 (en) 1998-06-05 2001-07-03 International Business Machines Corporation System and method for organizing data stored in a log structured array
US6285774B1 (en) 1998-06-08 2001-09-04 Digital Video Express, L.P. System and methodology for tracing to a source of unauthorized copying of prerecorded proprietary material, such as movies
US6327644B1 (en) 1998-08-18 2001-12-04 International Business Machines Corporation Method and system for managing data in cache
US6141731A (en) * 1998-08-19 2000-10-31 International Business Machines Corporation Method and system for managing data in cache using multiple data structures
US6381677B1 (en) 1998-08-19 2002-04-30 International Business Machines Corporation Method and system for staging data into cache
US6343286B1 (en) 1998-09-24 2002-01-29 International Business Machines Corporation Efficient technique to defer large object access with intermediate results
US6343293B1 (en) 1998-09-24 2002-01-29 International Business Machines Corporation Storing the uncompressed data length in a LOB map to speed substring access within a LOB value
US6694340B1 (en) 1998-09-24 2004-02-17 International Business Machines Corporation Technique for determining the age of the oldest reading transaction with a database object
US6606617B1 (en) 1998-09-24 2003-08-12 International Business Machines Corporation Optimized technique for prefetching LOB table space pages
US6366902B1 (en) 1998-09-24 2002-04-02 International Business Machines Corp. Using an epoch number to optimize access with rowid columns and direct row access
US6363389B1 (en) 1998-09-24 2002-03-26 International Business Machines Corporation Technique for creating a unique quasi-random row identifier
US6144970A (en) * 1998-09-24 2000-11-07 International Business Machines Corporation Technique for inplace reorganization of a LOB table space
US6470359B1 (en) 1998-09-24 2002-10-22 International Business Machines Corporation Fast technique for recovering an index on an auxiliary table
US6321239B1 (en) 1998-09-28 2001-11-20 International Business Machines Corporation Efficient volume copy using pre-configuration of log structured target storage
US6513097B1 (en) * 1999-03-03 2003-01-28 International Business Machines Corporation Method and system for maintaining information about modified data in cache in a storage system for use during a system failure
US6535949B1 (en) 1999-04-19 2003-03-18 Research In Motion Limited Portable electronic device having a log-structured file system in flash memory
US6336164B1 (en) 1999-05-12 2002-01-01 International Business Machines Corporation Method and system for preventing deadlock in a log structured array
US20040044641A1 (en) * 1999-05-24 2004-03-04 George Saliba Error correction in a storage medium configured using a logical cylindrical recording format
US7124124B1 (en) 1999-05-24 2006-10-17 Quantum Corporation Data storage devices for large size data structures
US20040044640A1 (en) * 1999-05-24 2004-03-04 George Saliba Configuring a storage medium using a logical cylindrical recording format
US6490664B1 (en) 1999-06-14 2002-12-03 International Business Machines Corporation Method and system for handling destage requests during shut-down in a log-structured array
US6513093B1 (en) 1999-08-11 2003-01-28 International Business Machines Corporation High reliability, high performance disk array storage system
US6609176B1 (en) * 1999-12-27 2003-08-19 Kabushiki Kaisha Toshiba Disk control system and data rearrangement method
US6678794B1 (en) * 2000-06-14 2004-01-13 International Business Machines Corporation Smoothing bursts of disk load in a file system
US6530004B1 (en) 2000-06-20 2003-03-04 International Business Machines Corporation Efficient fault-tolerant preservation of data integrity during dynamic RAID data migration
GB2366014B (en) * 2000-08-19 2004-10-13 Ibm Free space collection in information storage systems
GB0022131D0 (en) * 2000-09-09 2000-10-25 Ibm Data sorting in information storage systems
US6691136B2 (en) 2000-09-28 2004-02-10 Fair Issac Corporation Fast data retrieval based upon contiguous consolidation of records according to frequency of access
US6587933B2 (en) 2001-01-26 2003-07-01 International Business Machines Corporation Method, system, and program for discarding data in a storage system where updates to a primary storage device are shadowed in a secondary storage device
US20020165942A1 (en) * 2001-01-29 2002-11-07 Ulrich Thomas R. Data path accelerator with variable parity, variable length, and variable extent parity groups
US6990547B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Replacing file system processors by hot swapping
US20020124137A1 (en) * 2001-01-29 2002-09-05 Ulrich Thomas R. Enhancing disk array performance via variable parity based load balancing
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US6741970B2 (en) * 2001-02-26 2004-05-25 International Business Machines Corporation Method and apparatus for enhanced, high speed updating and storing of E-commerce orders in a server
US6816950B2 (en) * 2002-05-08 2004-11-09 Lsi Logic Corporation Method and apparatus for upgrading disk drive firmware in a RAID storage system
US7069465B2 (en) * 2002-07-26 2006-06-27 International Business Machines Corporation Method and apparatus for reliable failover involving incomplete raid disk writes in a clustering system
GB0218891D0 (en) * 2002-08-14 2002-09-25 Ibm Method for data retention in a data cache and data storage system
US6954831B2 (en) * 2002-08-29 2005-10-11 International Business Machines Corporation Method, system, and article of manufacture for borrowing physical volumes
US6954768B2 (en) * 2002-08-29 2005-10-11 International Business Machines Corporation Method, system, and article of manufacture for managing storage pools
US6985916B2 (en) * 2002-08-29 2006-01-10 International Business Machines Corporation Method, system, and article of manufacture for returning physical volumes
US6963959B2 (en) * 2002-10-31 2005-11-08 International Business Machines Corporation Storage system and method for reorganizing data to improve prefetch effectiveness and reduce seek distance
US7136885B2 (en) * 2002-12-20 2006-11-14 International Business Machines Corporation Free space management
US7073029B2 (en) * 2003-01-27 2006-07-04 Hewlett-Packard Development Company, L.P. Storage system using fast storage and log-structured storage
US7043505B1 (en) 2003-01-28 2006-05-09 Unisys Corporation Method variation for collecting stability data from proprietary systems
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
US20050038954A1 (en) * 2003-06-04 2005-02-17 Quantum Corporation Storage drive having universal format across media types
US7398422B2 (en) * 2003-06-26 2008-07-08 Hitachi, Ltd. Method and apparatus for data recovery system using storage based journaling
US20050022213A1 (en) * 2003-07-25 2005-01-27 Hitachi, Ltd. Method and apparatus for synchronizing applications for data recovery using storage based journaling
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US20050015416A1 (en) 2003-07-16 2005-01-20 Hitachi, Ltd. Method and apparatus for data recovery using storage based journaling
JP4124348B2 (ja) 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
US7584264B2 (en) * 2003-08-19 2009-09-01 Google Inc. Data storage and retrieval systems and related methods of storing and retrieving data
US7519629B2 (en) * 2004-09-30 2009-04-14 International Business Machines Corporation System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree
JP2006189976A (ja) * 2004-12-28 2006-07-20 Fujitsu Ltd 記憶装置、そのデータ処理方法、そのデータ処理プログラム及びデータ処理システム
US8521752B2 (en) * 2005-06-03 2013-08-27 Osr Open Systems Resources, Inc. Systems and methods for arbitrary data transformations
US7779054B1 (en) * 2005-09-30 2010-08-17 Oracle America, Inc. Heuristic-based resumption of fully-young garbage collection intervals
US7512748B1 (en) 2006-08-17 2009-03-31 Osr Open Systems Resources, Inc. Managing lock rankings
US8539228B1 (en) 2006-08-24 2013-09-17 Osr Open Systems Resources, Inc. Managing access to a resource
US8949555B1 (en) * 2007-08-30 2015-02-03 Virident Systems, Inc. Methods for sustained read and write performance with non-volatile memory
WO2008070803A1 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for managing data from a requesting device with an empty data token directive
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8074011B2 (en) * 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8719501B2 (en) 2009-09-08 2014-05-06 Fusion-Io Apparatus, system, and method for caching data on a solid-state storage device
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8024433B2 (en) 2007-04-24 2011-09-20 Osr Open Systems Resources, Inc. Managing application resources
US7949693B1 (en) 2007-08-23 2011-05-24 Osr Open Systems Resources, Inc. Log-structured host data storage
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8621137B2 (en) * 2007-12-27 2013-12-31 Sandisk Enterprise Ip Llc Metadata rebuild in a flash memory controller following a loss of power
US8473707B2 (en) * 2008-03-27 2013-06-25 Open Invention Network, Llc Method for achieving sequential I/O performance from a random workload
US8301672B2 (en) * 2008-09-22 2012-10-30 Advanced Micro Devices, Inc. GPU assisted garbage collection
US8473900B2 (en) * 2009-07-01 2013-06-25 Advanced Micro Devices, Inc. Combining classes referenced by immutable classes into a single synthetic class
US8832370B2 (en) * 2010-02-12 2014-09-09 Netapp, Inc. Redundant array of independent storage
US8327109B2 (en) * 2010-03-02 2012-12-04 Advanced Micro Devices, Inc. GPU support for garbage collection
JP2011192240A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
US8521972B1 (en) 2010-06-30 2013-08-27 Western Digital Technologies, Inc. System and method for optimizing garbage collection in data storage
JP2012033002A (ja) * 2010-07-30 2012-02-16 Toshiba Corp メモリ管理装置およびメモリ管理方法
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US8904137B1 (en) * 2011-05-12 2014-12-02 Symantec Corporation Deduplication system space recycling through inode manipulation
US8909982B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
US9189392B1 (en) * 2011-06-30 2015-11-17 Western Digital Technologies, Inc. Opportunistic defragmentation during garbage collection
US8527544B1 (en) 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
US8903874B2 (en) 2011-11-03 2014-12-02 Osr Open Systems Resources, Inc. File system directory attribute correction
US8938658B2 (en) 2011-11-07 2015-01-20 Sandisk Enterprise Ip Llc Statistical read comparison signal generation for memory systems
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US8819375B1 (en) 2011-11-30 2014-08-26 Western Digital Technologies, Inc. Method for selective defragmentation in a data storage device
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US8788778B1 (en) 2012-06-04 2014-07-22 Western Digital Technologies, Inc. Garbage collection based on the inactivity level of stored data
US8898376B2 (en) 2012-06-04 2014-11-25 Fusion-Io, Inc. Apparatus, system, and method for grouping data stored on an array of solid-state storage elements
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
KR102002830B1 (ko) * 2012-09-28 2019-07-23 삼성전자 주식회사 세그먼트 클리닝 장치 및 방법
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9460008B1 (en) 2013-09-20 2016-10-04 Amazon Technologies, Inc. Efficient garbage collection for a log-structured data store
US9158349B2 (en) 2013-10-04 2015-10-13 Sandisk Enterprise Ip Llc System and method for heat dissipation
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
US9280429B2 (en) 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9092370B2 (en) 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9830329B2 (en) 2014-01-15 2017-11-28 W. Anthony Mason Methods and systems for data storage
US9549457B2 (en) 2014-02-12 2017-01-17 Sandisk Technologies Llc System and method for redirecting airflow across an electronic assembly
US9497889B2 (en) 2014-02-27 2016-11-15 Sandisk Technologies Llc Heat dissipation for substrate assemblies
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10162748B2 (en) * 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9715505B1 (en) * 2014-09-30 2017-07-25 EMC IP Holding Company LLC Method and system for maintaining persistent live segment records for garbage collection
US9619158B2 (en) 2014-12-17 2017-04-11 International Business Machines Corporation Two-level hierarchical log structured array architecture with minimized write amplification
US9606734B2 (en) 2014-12-22 2017-03-28 International Business Machines Corporation Two-level hierarchical log structured array architecture using coordinated garbage collection for flash arrays
CN105893266B (zh) * 2015-01-04 2020-04-28 伊姆西Ip控股有限责任公司 用于重新使用文件系统的存储块的方法和装置
JP2016162243A (ja) * 2015-03-02 2016-09-05 富士通株式会社 データ格納制御プログラム、データ格納制御装置、およびデータ格納制御方法
US10628305B2 (en) * 2016-05-13 2020-04-21 International Business Machines Corporation Determining a data layout in a log structured storage system
US10802907B2 (en) * 2018-03-20 2020-10-13 Micron Technology, Inc. Hierarchical buffering scheme to normalize non-volatile media raw bit error rate transients
US10381073B1 (en) 2018-03-20 2019-08-13 Micron Technology, Inc. Converged structure supporting buffering of recent writes and overwrite disturb remediation
KR20200114149A (ko) * 2019-03-27 2020-10-07 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10970210B2 (en) * 2019-04-30 2021-04-06 EMC IP Holding Company LLC Managing data storage devices for spontaneous de-staging of cache
US11232036B2 (en) * 2019-08-02 2022-01-25 EMC IP Holding Company LLC Managing write access to data storage devices for spontaneous de-staging of cache
US11513997B2 (en) 2020-03-18 2022-11-29 EMC IP Holding Company LLC Assignment of longevity ranking values of storage volume snapshots based on snapshot policies
US11372810B2 (en) 2020-03-18 2022-06-28 EMC IP Holding Company LLC Storage system implementing snapshot longevity ranking for efficient management of snapshots
US11119668B1 (en) 2020-03-19 2021-09-14 EMC IP Holding Company LLC Managing incompressible data in a compression-enabled log-structured array storage system
US11163479B2 (en) 2020-03-26 2021-11-02 EMC IP Holding Company LLC Replicated state cluster with standby node state assessment during leadership transition
US11977734B2 (en) 2020-03-26 2024-05-07 EMC IP Holding Company LLC Storage block balancing using volume part migration
US11281404B2 (en) 2020-03-26 2022-03-22 EMC IP Holding Company LLC Storage volume migration scheduling based on storage volume priorities and specified constraints
US11144399B1 (en) 2020-03-27 2021-10-12 EMC IP Holding Company LLC Managing storage device errors during processing of inflight input/output requests
US11163699B2 (en) 2020-03-30 2021-11-02 EMC IP Holding Company LLC Managing least recently used cache using reduced memory footprint sequence container
US11307935B2 (en) 2020-03-31 2022-04-19 EMC IP Holding Company LLC Management of volume snapshots in a data storage system
US11301162B2 (en) 2020-05-31 2022-04-12 EMC IP Holding Company LLC Balancing resiliency and performance by selective use of degraded writes and spare capacity in storage systems
US11262933B2 (en) 2020-07-01 2022-03-01 EMC IP Holding Company LLC Sharing memory resources between asynchronous replication workloads
US11636089B2 (en) 2020-08-03 2023-04-25 EMC IP Holding Company LLC Deferred reclamation of invalidated entries that are associated with a transaction log in a log-structured array
US10986174B1 (en) 2020-09-18 2021-04-20 EMC IP Holding Company LLC Automatic discovery and configuration of server nodes
US11487432B2 (en) 2020-10-08 2022-11-01 EMC IP Holding Company LLC Direct response to IO request in storage system with remote replication
US11687536B2 (en) 2020-10-14 2023-06-27 EMC IP Holding Company LLC Pipeline-based system for configuration checking and reporting associated with an information processing system
US11606429B2 (en) 2020-10-14 2023-03-14 EMC IP Holding Company LLC Direct response to IO request in storage system having an intermediary target apparatus
US11900131B2 (en) 2020-10-15 2024-02-13 EMC IP Holding Company LLC Dynamic remediation actions in response to configuration checks in an information processing system
US11416396B2 (en) 2020-10-22 2022-08-16 EMC IP Holding Company LLC Volume tiering in storage systems
US11573736B2 (en) 2020-11-30 2023-02-07 EMC IP Holding Company LLC Managing host connectivity to a data storage system
US11487460B2 (en) 2020-12-16 2022-11-01 EMC IP Holding Company LLC Deferred reclamation of invalidated entries associated with replication in a log-structured array
US11704160B2 (en) 2021-01-11 2023-07-18 EMC IP Holding Company LLC Redistribution of processing groups between server nodes based on hardware resource utilization
US11418589B1 (en) 2021-04-16 2022-08-16 EMC IP Holding Company LLC Object synchronization of server nodes in a network computing environment
US11809274B2 (en) 2021-04-21 2023-11-07 EMC IP Holding Company LLC Recovery from partial device error in data storage system
US11733874B2 (en) 2021-05-03 2023-08-22 EMC IP Holding Company LLC Managing replication journal in a distributed replication system
US11537312B2 (en) 2021-05-05 2022-12-27 EMC IP Holding Company LLC Maintaining replication consistency during distribution instance changes
US11966294B2 (en) 2021-05-05 2024-04-23 EMC IP Holding Company LLC Journal barrier consistency determination
US11675789B2 (en) 2021-06-29 2023-06-13 EMC IP Holding Company LLC Tracking utilization of data blocks in a storage system
US11650920B1 (en) 2021-10-27 2023-05-16 Dell Products L.P. Write cache management
US11550479B1 (en) 2021-10-27 2023-01-10 Dell Products L.P. Metadata management in storage systems
US11609854B1 (en) 2021-10-28 2023-03-21 Dell Products L.P. Utilizing checkpoints for resiliency of metadata in storage systems
US11630773B1 (en) 2022-01-05 2023-04-18 Dell Products L.P. Utilizing a persistent write cache as a redo log
US11842051B2 (en) 2022-01-25 2023-12-12 Dell Products L.P. Intelligent defragmentation in a storage system
US11789917B2 (en) 2022-01-25 2023-10-17 Dell Products L.P. Data deduplication in a storage system
US11868248B2 (en) 2022-02-25 2024-01-09 Dell Products L.P. Optimization for garbage collection in a storage system
US11704053B1 (en) 2022-04-06 2023-07-18 Dell Products L.P. Optimization for direct writes to raid stripes
US11960481B2 (en) 2022-06-29 2024-04-16 Dell Products L.P. Managing lookup operations of a metadata structure for a storage system
US11971825B2 (en) 2022-07-14 2024-04-30 Dell Products L.P. Managing granularity of a metadata structure for a storage system
US11921714B2 (en) 2022-07-19 2024-03-05 Dell Products L.P. Managing insert operations of a metadata structure for a storage system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4916605A (en) * 1984-03-27 1990-04-10 International Business Machines Corporation Fast write operations
US4987533A (en) * 1988-05-05 1991-01-22 International Business Machines Corporation Method of managing data in a data storage hierarchy and a data storage hierarchy therefor with removal of the least recently mounted medium
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory
US5247647A (en) * 1988-07-28 1993-09-21 International Business Machines Corp. Detection of deletion of stored data by concurrently executing processes in a multiprocessing data processing system
US5150472A (en) * 1989-10-20 1992-09-22 International Business Machines Corp. Cache management method and apparatus for shared, sequentially-accessed, data
US5261088A (en) * 1990-04-26 1993-11-09 International Business Machines Corporation Managing locality in space reuse in a shadow written B-tree via interior node free space list
US5263145A (en) * 1990-05-24 1993-11-16 International Business Machines Corporation Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
US5247638A (en) * 1990-06-18 1993-09-21 Storage Technology Corporation Apparatus for compressing data in a dynamically mapped virtual data storage subsystem
JPH0776950B2 (ja) * 1990-06-22 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理方法及び装置
US5157770A (en) * 1990-08-31 1992-10-20 International Business Machines Corporation Nonsynchronous dasd control
US5235692A (en) * 1990-08-31 1993-08-10 International Business Machines Corporation Disk rotational position controls for channel operations in a cached peripheral subsystem
US5375128A (en) * 1990-10-18 1994-12-20 Ibm Corporation (International Business Machines Corporation) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5325523A (en) * 1991-04-10 1994-06-28 International Business Machines Corporation Method for deleting objects from library resident optical disks by accumulating pending delete requests
US5442752A (en) * 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
US5457793A (en) * 1992-03-30 1995-10-10 International Business Machines Corporation Software cache management of a shared electronic store in a supplex
US5394532A (en) * 1992-04-15 1995-02-28 Storage Technology Corporation Disk drive array memory system having instant format capability

Also Published As

Publication number Publication date
EP0606714A1 (en) 1994-07-20
US5551003A (en) 1996-08-27
US5416915A (en) 1995-05-16

Similar Documents

Publication Publication Date Title
JPH07210329A (ja) シーク・アフィニテイ及び書き込み感度を保つための方法、複数トラックのデータをデステージするための方法及びdasdサブシステム
US6151685A (en) System and method for recovering a segment directory for a log structured array
US5617530A (en) Storage device array architecture with copyback cache
US6052799A (en) System and method for recovering a directory for a log structured array
US7281089B2 (en) System and method for reorganizing data in a raid storage system
US5488701A (en) In log sparing for log structured arrays
US5410667A (en) Data record copy system for a disk drive array data storage subsystem
US6021463A (en) Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem
JP2902970B2 (ja) ディスク・アレイにデータを書き込むためのシステムおよび関連する方法
US5375128A (en) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
US5379391A (en) Method and apparatus to access data records in a cache memory by multiple virtual addresses
JP3348416B2 (ja) アレイにデータを格納する方法および記憶アレイ・システム
US5210866A (en) Incremental disk backup system for a dynamically mapped data storage subsystem
JP3304115B2 (ja) 構成可能な冗長アレイ記憶装置
US5764880A (en) Method and system for rebuilding log-structured arrays
US5412668A (en) Parity striping feature for optical disks
JP2691120B2 (ja) 記憶管理サブシステムおよびブロックの高速書込みの方法
US5581724A (en) Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem
EP0617358A1 (en) Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk
EP0899731B1 (en) Improved disk log using distributed write
JP2004213647A (ja) データ記憶装置およびシステム用のログ構造の書込みキャッシュ
US7523257B2 (en) Method of managing raid level bad blocks in a networked storage system
JP2008519356A (ja) 格納システム状態インジケータおよび方法
JPH06202817A (ja) ディスクアレイ装置及びそのデータ更新方法
US7380198B2 (en) System and method for detecting write errors in a storage device