JP2002323959A - 磁気ディスク制御装置のログ主体不揮発性書き込みキャッシュ・システム及び方法 - Google Patents

磁気ディスク制御装置のログ主体不揮発性書き込みキャッシュ・システム及び方法

Info

Publication number
JP2002323959A
JP2002323959A JP2002027185A JP2002027185A JP2002323959A JP 2002323959 A JP2002323959 A JP 2002323959A JP 2002027185 A JP2002027185 A JP 2002027185A JP 2002027185 A JP2002027185 A JP 2002027185A JP 2002323959 A JP2002323959 A JP 2002323959A
Authority
JP
Japan
Prior art keywords
data
log
write
index structure
cache
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
JP2002027185A
Other languages
English (en)
Inventor
Deepak R Kenchammana-Hoskote
ディーパク・アール・ケンチャマナ−ホスコテ
Prasenjit Sarkar
プラセンジト・サーカー
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 JP2002323959A publication Critical patent/JP2002323959A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 (修正有) 【課題】記憶装置に書き込まれるべきデータのログを主
体とする順次書き込みキャッシュの実行によって記憶制
御装置に対する書き込みを加速させるシステム及びコン
ピュータによって実現される方法を提供。 【解決手段】データ記憶制御装置はデータを含む書き込
み命令を受信し、順次ログを持つ書き込みキャッシュ
と、順次ログ内のデータの記憶位置を示すインデックス
構造とを有する。もしデータが既にログ内に存在しなけ
れば、インデックス構造に記録された記録位置で書き込
みキャッシュに含まれるログに対してデータが書き込ま
れる。もしインデックス構造によって示されるようにロ
グ上に既にデータが存在するならば、インデックス構造
上のデータが無効となり、インデックス構造によって決
められた利用可能な記録位置で新たなデータがログに書
き込まれる。アイドル期間が存在すると、複数の書き込
みコマンドからのログ内のデータはデータ記憶媒体に転
送される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にデータを格
納するための技術、特に記憶装置に書き込みされるデー
タをログ主体の順次書き込みキャッシュを実行すること
によって磁気ディスク制御装置への書き込みを促進する
ためのシステム及び方法に関する。
【0002】
【従来の技術】コンピュータ・インフラの進歩に遅れな
いために、高性能故障許容型データ記憶装置へのアクセ
スに対する要求が高まっている。製造現場における改善
によりハード・ディスク・ドライブ(HDD)等の記憶
装置のコストが急落する一方で、記憶装置を管理するた
めのコストが急騰している。記憶装置管理は、日常業務
での演算及び履歴データに対するオンライン・アクセス
に頼る多くの企業にとって重大な意味をなすものになっ
てきた。
【0003】しかし、HDDは該HDDを構成する電気
機械的部品が故障してしまう傾向がある。したがって、
多くのHDDを含む記憶システムは、HDDが故障した
場合のデータ損失をさけるために、該記憶システム内に
組み込まれた冗長性を持つことが必要である。HDDに
障害が生じた際のデータ損失を避ける一般的な技術の1
つは、複数の独立したディスクからなる冗長なアレイ
(RAID)、すなわち複数のHDD上にデータを冗長
的に格納するアルゴリズムの一クラスである。RAID
アルゴリズムはユーザ・データに対して冗長性を付加し
てHDD上のデータ・レイアウトを決めることから、該
RAIDアルゴリズムを実行するタスクからホストのプ
ロセッサ・メモリ複合体を解放するために専用のハード
ウェア上でRAIDアルゴリズムが実行される。
【0004】RAIDアルゴリズムを実行するハードウ
ェアは、排他的論理和(XOR)パリティ計算、プロト
コル処理等を実行する特定用途向け集積回路(ASI
C)と同様に、一般に専用プロセッサ及びメモリを有す
る。ホスト・マシンは、システム・バス(この場合、ハ
ードウェアはRAID制御装置とも呼ばれる)又は小型
コンピュータ用周辺機器インターフェイス(SCSI)
(この場合、SCSI制御装置とも呼ばれる)を介し
て、このハードウェアと通信する。制御装置に接続され
たHDDは、アプリケーションによって制御装置に送ら
れたコンフィギュレーション命令を介して生成される論
理的装置上にマッピングされる。論理的装置は、該論理
的装置のホストに対して制御装置によって外部に置かれ
たストレージ・エクステントであり、HDD上のAND
エクステントに類似する。論理的装置に対して選択され
たRAIDレベルに依存するRAID制御装置は、記憶
場所及び冗長データ更新の必要性を決める。
【0005】多数の異なるRAIDアルゴリズムがあ
り、より一般的なものとしてRAID−0、RAID−
1、及びRAID−5が挙げられる。全てのRAIDア
ルゴリズムがデータ・ストライピングを採用する。1つ
以上のディスクによって同時に読み取り及び書き込みが
行えるように、複数のドライブにまたがってバイトをイ
ンタリーブする。RAID−0論理的装置は、アレイと
呼ばれる一組のHDDにまたがってストライピングされ
たデータを有する。しかし、データの冗長性がないた
め、任意のHDDで障害が生ずるとデータの損失を引き
起こす。RAID−1論理的装置では、データの各連続
領域が2つの異なるHDD上にミラリングされる。冗長
データが存在することで、たとえ1つのHDDに障害が
生じても制御装置によるデータの回復が可能となる。R
AID−1論理的装置の読み取り性能は優れているが、
更新のたびにそのミラー領域に対しても該更新を伝えな
ければならないので書き込み性能については優れている
とは言えない。さらに、高度のデータ冗長性によって容
量効用が低くなる。
【0006】容量効用と性能とをバランスのとれた状態
に保つために、RAID−5論理的装置は、個々のHD
Dに格納されるべき一組のデータ連続領域の各々に関す
るパリティ情報を演算し、かつ該パリティ情報を別のH
DDに格納することで、それらのデータ連続領域を保護
する。パリティ情報は、2つの異なるドライブでデータ
を演算し、残りを第3のドライブに格納することで引き
出される。パリティ情報の記憶位置は、負荷のバランス
をとるためアレイを構成する複数のHDDにまたがって
分散される。
【0007】RAID−5構成の一例を図1に示す。各
データ連続領域A、B、C、D、E、及びFからなる一
組のデータ連続領域は、3つの異なるハード・ディスク
・ドライブ(HDD)10、12、及び13にまたがっ
てストライピングされる。1つのHDDに障害が生ずる
と、RAID−5論理的装置は損失したデータ連続領域
を残存するデータ連続領域を用いて再構成することがで
きる。RAID−5論理的装置がアレイ容量を効率的に
用いる一方で、書き込みが行われるたびに、パリティの
読み取り、演算、及び更新を行う性能オーバーヘッドの
問題が生ずる。大規模な書き込みに対してはいくつかの
最適化の試みが可能である。しかし、ランダムに行われ
る小規模の書き込みによって作業負荷が他を圧する。
【0008】RAID−5の普及は、2つの技術的進歩
によって達成された。すなわち、(1)制御装置の書き
込みキャッシュの存在(パリティ更新による遅延を先に
延ばす)と、(2)ASICによるパリティ演算のハー
ドウェア・アシストである。これら2つの技術革新がR
AID−5論理的装置の性能を著しく高めたが、任意の
更新に対してパリティの同期性を保つために実行されな
ければならない余計な作業を取り除くものではない。小
規模、書き込み優先、及びバースト状となる傾向の仕事
負荷によって、RAID−5アレイに対するそのような
改善の限界が露呈される。キャッシュ・サイズが増大す
ることで(2〜8GBのサーバが一般的である)、制御
装置に対して生成された入出力トラフィックはそのよう
な作業負荷に類似している。キャッシュ上流があまりに
も大きいことから、未完遂作業データが必要なかぎり該
キャッシュに保持される。ダーティ・データが制御装置
にフラッシュされると、短時間のうちに再利用されるこ
とはほとんどない。なぜなら、同一データを制御装置に
対して同一データを入出力する必要がほとんどないから
である。OS/データベース・カーネルによって生成さ
れたキャッシュ・フラッシュは、バースト的(新たなデ
ータのスペースを確保するためにページが素早く立ち退
かされる)及びランダムになる傾向にある。キャッシュ
上流が大きいことによって引き起こされる別の問題は、
制御装置に対する仕事負荷における高分散によって、軽
い、又はアイドル状態の負荷が後に続く強力な負荷の期
間が生ずることである。
【0009】小から中規模、書き込み優先、及びバース
ト状の仕事負荷下にあるRAID−5論理的装置のより
弱い性能は、パリティ情報を更新するために実行される
必要がある別の仕事の結果である。そのような仕事負荷
下で、各RAID−5書き込みは2つの別の入出力と少
なくとも2つの別のキャッシュ・ページとを生成する。
このことは、データ及び関連パリティの両方が複数のH
DD上で演算及び更新されなければならないことによ
る。ひとたびキャッシュが満たされると、パリティ更新
による高オーバヘッドの影響を受けるフラッシュ率によ
って制限されるようになる。仕事負荷がランダムな書き
込みトラフィックの長いバーストを有する場合、書き込
みキャッシュは最初に良好な応答時間を提供することが
できるが、時間が経ってキャッシュが満たされると応答
時間が悪化する。
【0010】これらの点を鑑みて、小規模から中規模の
ランダムな書き込みによって支配される仕事負荷下で、
RAID−5論理的装置を用いるHDD制御装置等の記
憶制御装置の性能を改善するシステム及び方法が求めら
れている。
【0011】本発明は、上記問題を注意深く検討し、以
下のような解決に到った。
【0012】
【発明が解決しようとする課題】したがって、本発明の
目的は、記憶装置に書き込まれるべきデータのログを主
体とする順次書き込みキャッシュの実行によって記憶制
御装置に対する書き込みを加速させるシステム及びコン
ピュータによって実現される方法を提供することであ
る。
【0013】
【課題を解決するための手段】システムの活動状態が低
下する後になってログに含まれるデータが記憶装置アレ
イに移される。その結果、ランダムな書き込みは順次書
き込みに変換される。全体的に見て、順次書き込みの性
能がランダム書き込みの性能を遙かに上回るので、性能
改善が達成される。本発明の一態様では、データ記憶媒
体に情報を格納するための方法は、以下のステップを含
む。データを含む書き込み命令をデータ記憶制御装置に
よって受ける。ここで、データ記憶制御装置は、順次ロ
グを持つ書き込みキャッシュを有する。データ記憶制御
装置は、順次ログ内にデータの記憶位置を示すインデッ
クス構造を同様に有する。もしデータがログ上に既に存
在していなければ、インデックス構造に記録された記録
位置にある順次ログにデータが書き込まれる。もし、イ
ンデックス構造によって示されるようにログ上に既にデ
ータが存在するばらば、インデックス構造上のデータは
無効となり、インデックス構造によって定まった利用可
能な記録位置でログ上に新たなデータが書き込まれる。
アイドル状態の期間が存在する場合、複数の書き込み命
令からのログにあるデータがデータ記録媒体に転送され
る。
【0014】本発明の別の態様では、データ記憶媒体に
情報を格納するためのシステムは、データ制御装置を有
する。このデータ制御装置は順次ログを持つ書き込みキ
ャッシュを有する。また、順次ログ内のデータの記録位
置を示すインデックス構造もデータ制御装置に含まれ
る。さらに、システムは、データ含有書き込み命令を受
信するための手段と、該データが既にログ上に存在する
かどうかを判断する手段とを有する。もしデータが既に
存在していなければ、書き込み命令内のデータは、イン
デックス構造に記録された記録位置にあるログ上に書き
込まれる。さらに、もしインデックス構造によって示さ
れるようにログ上に既にデータが存在するならば、イン
デックス構造上のデータを無効にし、該インデックス構
造によって決定された利用可能な記録位置にあるログ上
に新たなデータを書き込む手段を有する。移行条件が存
在するかどうかを判断する手段も含まれ、もし移行条件
が存在するならば、複数の書き込み命令からのログに含
まれるデータがデータ記憶媒体に転送される。
【0015】構造及びオペレーションに関する本発明の
詳細は、添付した図面を参照することによって最も良く
理解することができる。また、図面中の同様の参照符号
は同様の構成要素を示す。
【0016】
【発明の実施の形態】最初に図2について説明する。こ
の図では、データの順次書き込みキャッシュを可能にす
るコンピュータ・システムが参照符号16によって示さ
れている。ホスト・コンピュータ18は、キーボード及
び/又は音声入力等の1つ以上の入力デバイス(不図
示)とモニタ、プリンタ、他のコンピュータ、又はコン
ピュータ・ネットワーク等の1つ以上のデバイス(不図
示)を含むことができる。ホスト・コンピュータ18
は、International Business Machines Corporation
(IBM)(米国のArmonk, N.Y.所在)によって製造さ
れたデスクトップ・パーソナル・コンピュータ、ラップ
トップ・コンピュータ、メインフレーム・コンピュー
タ、又は他の任意の適当な処理装置等、種々のデバイス
のいずれものであってもよい。同様に、ポイント及びク
リック・デバイス、キーパッド、トラックボール、及び
音声認識デバイス等、他の入力デバイスも備えることが
でき、同様に他の出力デバイスも備えることができる。
【0017】いずれにせよ、ホスト・コンピュータ18
はデータ処理制御装置20にアクセスして本発明の論理
を実行する。命令は、コード要素が格納されたコンピュ
ータ使用可能媒体持つコンピュータ読み取り可能媒体を
有するデータ記憶装置に含まれるものでってもよい。或
いは、命令は、記憶制御装置20のランダム・アクセス
・メモリ(RAM)、又はDASDアレイ、又は磁気テ
ープ、従来のハード・ディスク・ドライブ、電子式読み
取り専用メモリ、光学式記憶装置、又は他の適当なデー
タ記憶装置に格納されるものであってもよい。本発明の
具体的実施形態では、コンピュータによって実行可能な
命令はC++言語コードによって記述されたものであっ
てもよい。
【0018】実際、ここに示すフローチャートは、コン
ピュータ・プログラム・ソフトウェアに実現されるよう
に、本発明の論理の構造を例証するものである。当業者
は、フローチャートが本発明に基づいて機能する集積回
路上の論理回路を含むコンピュータ・プログラム・コー
ド要素の構造を例証するものであることを容易に理解す
ることができよう。明らかに、本発明は、デジタル処理
機器(すなわち、コンピュータ)に対して、示したもの
に対応する一連の機能ステップを実行するように命令す
るかたちのプログラム・コード要素を読み出すマシン・
コンポーネントによって、その基本的な実施形態で実行
される。
【0019】ホスト・コンピュータ18は、SCSI等
の記憶装置相互接続手段22を介して、又はシステム・
バスを介して、データ記憶制御装置20に接続される。
記憶制御装置20は、順次ログ26と、コンテンツ内に
インデックスを保持し、かつ順次ログ26上にデータの
妥当性を保持するインデックス構造28とを含む。ポイ
ンタ30もまた、専用プロセッサ32、メモリ34、及
びASIC36を有する。ASIC36は、排他的論理
和演算及びプロトコル処理等の機能を実行する。記憶制
御装置20もまた、複数のHDDからなるアレイ38に
接続する。
【0020】一般に順次ログ26は、RAID−5論理
的装置等の論理装置用正規制御装置キャッシュの挙動を
修飾する。データ・ドライブとも呼ばれるRAID−5
論理的装置の環境設定の過程で、全てのHDD上の1つ
の領域が順次ログ26に対して指定される。HDDのロ
グ領域26もまたRAID−1又はRAID−5ドライ
ブ(論理的装置ともいう)として編成される。
【0021】図3は、本発明の一実施形態に基づくデー
タ記憶制御システムの全体的オペレーションを説明する
ためのフローチャートである。最初に、ブロック40に
示すように、書き込み命令が受信される。システムは、
次に判断ブロック42において、ログ内のデータがダー
ティ(陳腐化したもの)であるかどうかを判断する。も
しデータがダーティであるならば、ブロック44で該デ
ータが無効となり、ブロック46に示すようにログが更
新される。ブロック48に示すように、新たなデータが
ログに追加される。もしログ内のデータがダーティでな
ければ、ログ内の既存のデータがそのまま残され、プロ
セスはブロック40に戻り、次の書き込み命令に対する
準備を行う。ログ更新プロセスのさらなる詳細を以下に
説明するとともに、図4に示す。
【0022】次に、ブロック50に示すように、システ
ムは移行が適当なものかどうかを判断する。移行は順次
ログから記憶制御装置上の実際のデータ記憶位置へのデ
ータの転送である。記憶サブシステムによる実験によれ
ば、順次ログからデータの実際の記憶位置へデータを移
行させるための時間を提供するのに十分なログであるイ
ナクティビティの期間が存在する。アイドル期間に加え
て、移行が行われるいくつかの他の状況が存在する。そ
のような状況として、内部タイマに基づいた周期的な移
行、ログがあまりにも大きなものとなった場合の移行、
又はインデックス構造があまりにも大きくなった場合の
移行が挙げられる。
【0023】ブロック52に示すように、データの移行
が行われる。データの移行は、以下に詳細に説明すると
ともに、図5に示されるプロセスである。要するに、移
行の間、記憶制御装置20はログ26からデータを読み
取り、データをその実際の記憶位置に書き込み、さらに
インデックス構造34にあるログの関連部分を無効にす
る。
【0024】例外的環境下で、記憶制御装置内の移行ソ
フトウェアは順次ログ26への書き込みの速度について
行くことができないだろう。判断ブロック54に示すよ
うに、そのような環境が検出される。該環境は、インデ
ックス構造28又はログ26のいずれかがオーバフロー
となる前に所定の閾値を超過し始める。例外的条件の検
出に応答して、ブロック56に示されるように、順次ロ
グ26が無効となる。また、ブロック57に示されるよ
うに、記憶制御装置20は従来のRAID−5に戻る。
すなわち、書き込みはRAID−5アルゴリズムに基づ
いて実際の記憶位置に対して行われる。
【0025】したがって、本発明の書き込みキャッシュ
による性能低下は存在しない。移行が追いつくことがで
きるいくらかの期間がある限り、性能の改善が実現され
る。このことが不可能である場合は、システムはあたか
も書き込みキャッシュが存在していなかったように従来
のオペレーションに復帰する。ここで注目すべきこと
は、イナクティビティの間(わずかな書き込み要求が届
く期間)の移行が統合されることであり、すなわち、ス
トライプ全体の任意のダーティ・データが一度に全て移
行することができる。データは断片化しすぎることはな
い。なぜなら、キャッシュによって頻繁な更新が行われ
るからである。ログの更新は常に順次行われるので、シ
ステムが決して古いデータを飛び越えることはないが、
そのかわり、スイープするか、完全に停止するかであ
り、次のアイドル期間を待つ。
【0026】以下の説明では、本発明のオペレーション
及び構造は説明に役立つ実例として好ましい実施形態を
用いてより詳細に説明される。詳細な説明のより良い理
解を促すために、従来の記憶制御承知キャッシュメモリ
のオペレーションを説明する。従来の記憶制御装置キャ
ッシュは、主にデータ・ページ、キャッシュ・ディクシ
ョナリ、及びキャッシュ・フラッシュをトリガするため
のタイマ機構から構成される。この議論を簡単にするた
めに、ページのサイズはストライプ・ユニット(1つの
HDDに対してマッピングするストライプ内のデータ連
続領域)に等しい。ページ数は制御装置に利用可能なメ
モリのサイズに依存する。最初に、キャッシュは全ての
ページをフリーにし、キャッシュ・ディレクトリを空に
し、さらにタイマを無効にすることから開始される。ホ
スト書き込み命令が制御装置によって受信されると、キ
ャッシュは実行に必要とされるリソースを決定する。こ
のことは、書き込み命令内の論理ブロック・アドレス
(LBA)及びカウントをページの数及び識別属性に翻
訳することによって決定される。次に、命令はそれらの
ページをその使用のために獲得しようと試みる。LBA
とページとの間のマップを保つキャッシュ・ディレクト
リにあるページに対するチェックは、既にLBAに対す
るページが存在するかどうかを示す。もし存在しなけれ
ば、ページはキャッシュ・ディレクトリに割り当てら
れ、かつ該キャッシュ・ディレクトリに入力される。も
しページが既にキャッシュ内に存在するならば、命令は
それをロックしようと試みる。もしそのページが他の命
令によって現在保持されているならば、書き込みオペレ
ーションはその順番で起こされる待ち行列に入れられ
る。命令がそのキャッシュ・ページ全てを獲得する時、
ホストに対してデータを送るように知らせる。DMAエ
ンジンは、データ・ページへのデータの移動を指示す
る。ひとたびデータが受信され、かつキャッシュがその
コンテンツを確認すると、書き込みオペレーションはペ
ージ・マップを更新する。ページ・マップは、保持され
ている各ページについてページ内の各セクタの状態から
なるビット・アレイからなる。次に、命令はそれが保持
する全てのページを解放し、状態をホストに戻す。ロッ
クされたページを待つ他の命令を起こし、完了へ進む。
【0027】制御装置キャッシュが満たされ始めるか、
又はタイマがイナクティビティのためにポップすると、
フラッシュ命令が内部に生成される。一般に、多数のフ
ラッシュ命令が生成されてフラッシュ率が制御される。
一般に、この政策は最低使用頻度(LRU)ページを選
択する。ひとたびページが選択されると、フラッシュ命
令は同一ストライプにマップされるかもしれない他のペ
ージの収集を試みる。同時に1つのストライプにすべて
のページをフラッシュするこの戦略は、RAID−5論
理的装置によってたいへんよく働く。なぜなら、多くの
パリティ更新作業がストライプ内のダーティ・ページに
対して償却される。フラッシュ・セット(選択されたペ
ージのセット)の大きさに応じて、適当なRAID−5
排他的論理和アルゴリズムが選択される。アルゴリズム
は、新しいパリティとデータ及びパリティの古いコピー
とをステージするのに必要とされる追加ページの数を決
定する。これらの追加のページが獲得され、必要な読み
取りオペレーションが完了すると、フラッシュ命令はデ
ータがフラッシュされるストライプに対するストライプ
・ロックを獲得する。ストライプ・ロックを獲得するこ
とは、2つの目的にかなうものである。すなわち、第1
はストライプ・ロックは順次化を実施する。第2に、H
DD上にデータ及びパリティを書き込み、矛盾するパリ
ティが除かれる一方で、制御装置に障害が生ずることか
ら、ロックを記録することで、任意の更新に先立って電
源投入時にストライプのパリティを直す。ストライプ・
ロックを保つことで、フラッシュ命令は必要な排他的論
理和演算を実行し、データ及びパリティをHDDに書き
込む。ひとたびそれらの命令が成功裏に完了すると、ペ
ージ・マップ及び統計量が更新され、全てのロック及び
ページが解放される。それらのページは、有効なデータ
を含むので、該ページはキャッシュ・ディレクトリに保
持される。ページをフレッシュする必要性が生じた場合
(新しい命令に対して)、それらのページが解放されて
再び使用される。
【0028】RAID−5論理的装置に書き込みデータ
がある場合、更新を効率的に行うために利用可能なアル
ゴリズムの選択が複数ある。これらの選択は、ここでは
排他的論理和演算アルゴリズムと呼ぶ。一般的に言っ
て、3種類のアルゴリズムが存在する。すなわち、読み
取り変更書き込み(RMW)、全排他的論理和(FXO
R)、及び全ストライプ書き込み(ESW)アルゴリズ
ムである。
【0029】RMWアルゴリズムは、フラッシュされる
べきストライプ内のページ数がストライプ内の全ページ
数の1/2未満である。ESWは、最も効率的なアルゴ
リズムである。FXORは、ストライプ内のページの半
分以上が更新されている場合に使用されるアルゴリズム
である。ESWは最も効率的なアルゴリズムである。ス
トライプ内の全てのページがダーティ、すなわちストラ
イプ内のページ全てが更新される場合のみ使用される。
【0030】以下の議論は、どのようにして本発明が作
用してESWアルゴリズム本来の効率性を利用するため
にESWアルゴリズムの利用を最大化するかを例証す
る。従来のRAID−5論理的装置は、全てのHDD上
の領域がログ用に取って置かれるようにして環境設定さ
れる。本発明の好ましい実施形態では、ログ領域26も
またRAID−5論理的装置として編成されるが、RA
ID−1論理的装置編成を代わりに用いてもよい。2つ
のカウンタがログの頭及び尾部の論理的ブロック・アド
レス(LBA)を格納する記憶制御装置20によって維
持される。それらのカウンタは、ログ・ドライブの開始
LBAに初期化される。ログ・ドライブに書き込まれた
ダーティ・データに対する記憶位置情報は、インデック
ス構造28内の2つの構造(すなわち、セグメント・マ
ップ(以下、セグマップともいう)及びセグメント・デ
ィレクトリ)に維持される。各セグマップは、セグメン
トと呼ばれるLBAの領域に対するダーティ・データの
記憶位置をデータ・ドライブ上に記述する。それは、最
近のコピーを含むログ・ドライブのセクタに対する複数
のLPBAポインタ(セグメント内の1セクタに対して
1つ)からなるアレイである。図示を簡単にするため
に、セグメント・サイズはページ・サイズに設定されて
いるが、図示された本発明の実施形態に従って実施する
必要はない。
【0031】セクタに対するセグマップにおける無効な
値は、ドライブにあるコピーが最近のコピーであること
を意味する。読み取り及び書き込み処理中におけるセグ
メント検索をスピード・アップするために、インデック
ス構造28内のセグメント・ディレクトリは、セグメン
トLBAとセグマップとの間のマップを維持する。さら
に、各セグマップは1つロック・フィールドと複数のリ
ンク・フィールドとを有する。ロック・フィールドは、
命令がそのセグメント上で実行されている時に設定さ
れ、また解放された時にクリアされる。リンク・フィー
ルドは、ログ・ドライブ内に直ちに継続されているセグ
マップにセグメントを繋げるために使用される。
【0032】記憶制御装置20で受信された書き込み命
令に対する順次ログ26の演算は、基本的に従来のキャ
ッシュ(すなわち、フラッシュ命令内の異なる行)の場
合と同様である。図4をここで参照する。図4は、本発
明の好ましい実施形態例に基づいたフラッシュ命令プロ
セスの詳細を含むフローチャートである。最初に、ブロ
ック58に示すように、書き込み命令が受信される。次
に、ブロック60に示すように、書き込み命令のパラメ
ータを獲得する。書き込みパラメータには、論理ドライ
ブ、オフセット(LBA)、書き込みデータ及び書き込
みすべきデータの量が含まれる。書き込みのターゲット
である論理ドライブのRAIDレベルは、記憶制御装置
20によって許容される任意のものである。ブロック6
2に示すように、次に書き込みすべきデータを一時的に
記憶制御装置上の揮発性ライト・スルー又はライト・バ
ック・キャッシュに格納する。
【0033】本発明によれば、キャッシュへのログ書き
込みは、ステージング・バッファを用いることで最適化
される。ログ26をフラッシュするプロセスは、ブロッ
ク64に示すように、順次ログがダーティ・ページによ
って満たされたかどうか、又はタイマがポップしたかど
うかを判断するために、制御装置のチェックによって開
始される。もしキャッシュが満たされていなければ、既
存のデータが陳腐なものになっていることから、プロセ
スはブロック58に戻る。もしキャッシュがダーティ・
ページによって満たされているならば、ブロック66に
示すように、内部フラッシュ命令が開始される。各フラ
ッシュは、ブロック68に示すように、全ストライプ分
のダーティ・データを書き込むために、必要な数だけペ
ージをピック・アップする。ページの数は効力のある政
策、例えばそのストライプに対して、もし存在している
ならば、他のページと同様に最低使用頻度(LRU)に
基づいて選択される。ひとたこのページ・セットが選択
されると、ブロック70に示すように、ログのヘッド・
ポインタを進めることで書き込みに対してログ空間が割
り当てられる。次に、フラッシュ命令は、ブロック72
に示すように、ストライプ分のダーティ・データに対す
るログ書き込みを実行する。ブロック74に示すよう
に、ログ書き込みが成功すると、フラッシュ命令はフラ
ッシュされた各ページのセグマップに対するセグメント
・ディレクトリを検索する。もしセグメント・ディレク
トリが見つからなければ、ブロック76に示すように、
新しいセグマップが割り当てられ、セグメント・ディレ
クトリに入力される。さらに、ブロック78に示すよう
に、セグメントがロックされる。次に、ブロック80に
示すように、フラッシュされた各ページのダーティ・セ
クタ毎にデータが書き込みされたログ・ドライブにLB
Aを格納する。ひとたび完了すると、ブロック82にお
いて、ブロックフラッシュされた全てのページがフラッ
シュによって解放され、さらにブロック84に示すよう
に、セグマップにおける最も小さい入力の昇順に基づい
て複数のセグマップをロック解除して繋げる。
【0034】ここで図5を参照すると、ブロック86に
示すように、移行が示されるまで上記の用にして順次ロ
グ26が継続する。移行は、アイドル期間(わずかな書
き込み要求が入力される期間として定義される)が検出
されるまで、又はログがあまりにも大きい場合、又はイ
ンデックス構造28があまりにも大きい場合、又は所定
の時間後に生ずる。ブロック88に示すように、次に順
次ログ26は内部的に移行命令を開始する。各移行命令
はセグマップ・リストの尾部で開始され、ブロック90
に示すように、1つのストライプに対するセグメント全
てをピック・アップする。次に、ブロック94に示すよ
うに、選択されたセグマップをブロック92でロック
し、獲得されたページに対して読み取り命令を出す。ス
トライプ・ロックをブロック96で獲得し、ブロック9
8に示すようにフラッシュ及び書き込みを実行する。次
に、ブロック100でセグメントをロック解除及び解放
し、保持されていたページをブロック102で解放し、
さらにブロック104に示すようにログの尾部ポインタ
を進める。移行の速度は、任意の時間における同時発生
的な移行命令の数を制限することによって制御される。
もし制御装置でのロードがピック・アップされるなら、
新しい移行命令は開始されない。
【0035】ESWアルゴリズムの効率を活用する能力
を本発明が備えることから、本発明によってピーク・ロ
ード条件下での書き込み(及び読み取り)命令のスルー
プット及び応答時間の改善が達成される。RAID−5
論理的装置上のランダムな記録位置にダーティ・ページ
が対応する従来のキャッシュでは、該ページに対するフ
ラッシュ命令がRMWを用いる確率がかなり高い。この
ような状況で、FXORは、使用されるべき次の適当な
アルゴリズムであり、ESWはまれに使用されるだけで
ある。さらに、RMWは約2倍の数のフラッシュ・ペー
ジを必要とすることから、より少ない同時発生フラッシ
ュを導くキャッシュ内の追加のページに対する争いが存
在する。そのような条件下で、従来のキャッシュのサー
ビス率(スループット)はフラッシュ率によって制限さ
れ始め、アルゴリズムの全てが最小効率であるRMWを
使用する。
【0036】本発明はESWアルゴリズムの利用を最大
限にする。なぜなら、ステージング・バッファを用いる
ことで、フラッシュされるダーティ・データが順次ログ
26に対する大きな順次書き込みに合体されるからであ
る。したがって、そのような大きな(理想的にはサイズ
的に等しく、かつ位置合わせされたストライプ)順次書
き込みがESWを用いる確率が高い。したがって、フラ
ッシュ操作はたいへん効率的であり、順次ログ26のサ
ービス率を高める。本発明の別の利点は、ダーティ・デ
ータが多くのページから合体され、一度にフラッシュさ
れるので、各フラッシュ命令が再利用のために実施的に
有効なより多くのページを解放することである。このこ
とによって、ページに対する待ち時間が減少し、その結
果、新しい命令に対する応答時間も減少する。ピーク・
ロード条件下で、十分なログ空間により、より効率的な
ESWを使用するフラッシュ率によってキャッシュが制
限され始める。その結果、ピーク・ロード条件の間、従
来のRAID−5キャッシュを著しく上回る性能が得ら
れる。
【0037】ここで注目すべきことは、本発明の順次ロ
グにアクセスするためにフラッシュ後に実行されるべき
多くの作業が存在するということである。移行アクティ
ビティは総作業量を増加させる。なぜなら、ここでデー
タがキャッシュに読み取り戻され、アレイ内の最初の記
憶位置に書き込みされる。移行の際にRMWが用いられ
る確率が高い。要するに、ログの書き込み及び読み取り
は、本発明の順次ログによって実行される余計な作業で
ある。しかし、この作業の多くがオフ・ピーク期間中に
実行されることから、余分の容量がある時はホストがこ
の余分な作業の効果を経験することはない。基本的に、
従来のキャッシュが書き込みの際に作業のかなりの部分
を後の時間(フラッシュの間)に先延ばしするように、
本発明の順次ログはフラッシュの際の作業のより多くの
部分を後の時間(移行の間)に先延ばしする。
【0038】本発明の性能利得は、相当な代償を払って
得られる。すなわち、(1)制御装置メモリはセグマッ
プ及びセグメント・ディレクトリを格納することが求め
られること、(2)HDD上のログ空間が必要であるこ
と、(3)セグメント・ディレクトリを検索しなければ
ならないことから、ホストの読み取り及び書き込み処理
のパスが長いこと、(4)移行は別の処理サイクルを必
要とすること、(5)移行によって休止までの時間(制
御装置での全てのアクティビティが休止する時)が長い
こと、さらにログからデータを検索して取り出すことか
ら、移行によってキャッシュ汚染が生ずることである。
多くのアプリケーションにおいて、これらの欠点は問題
とはならない。
【0039】さらに、本発明の順次ログ36は、正常な
オペレーションを続けるにはリソースが不十分である状
態に入る。拡張されたオペレーション中に欠乏し始める
2つのリソースは、セグマップ及びログ空間である。セ
グマップは記憶制御装置メモリ34に割り当てられ、一
方ログ空間はRAID−5構成の一部としてアレイ内に
割り当てられる。これら2つの間で、制御装置上のメモ
リがディスク空間よりもよりいっそう高価であることか
らセグマップのほうがよりいっそう制限される。さら
に、記憶制御装置20がセグマップ用に十分なメモリを
有している場合でも、新たなフラッシュ命令に対して割
り当てるフリーのセグマップをキャッシュが使い果たす
場合の状況がある。同様な状況はログ空間が不十分であ
る場合でも生ずる。いずれの場合でも、順次ログ26
は、新しい命令を処理し続けなければならない場合、そ
のフラッシュ挙動を変更する必要がある。
【0040】フラッシュ変更は、図3に示すように、順
次ログ26を無効にし、かつオペレーションの例外モー
ドに転換することで達成される。次に、記憶制御装置2
0は、従来の書き込みキャッシュのように動作し始め、
最初にログ・ドライブに書き込みする代わりに、フラッ
シュ命令はデータ・ドライブ上の記憶位置に対して直接
書き込みを行う。記憶制御装置20が例外モードにある
場合のフラッシュ命令と従来のキャッシュとの間の違い
の1つは、例外モードでは、フラッシュ命令はどれでも
ページに対するセグマップ入力のセグマップ・ディレク
トリを検索することである。もし命令が任意のページに
対するセグメントを見いだすならば、該命令によってセ
グメントが更新され、ページ内のダーティ・セクタのい
ずれもがセグメント内のLBAポインタを無効にされ
る。このことは、それらのセクタの順次読み取りによっ
てログ・ドライブの代わりにデータ・ドライブからのア
クセスを引き起こすことを確実にする。例外モードにあ
る場合、順次ログ26は新たなセグマップを追加した
り、ログ空間を使用したりするようなことはない。十分
なセグマップ及び/又はログ空間が継続中の移行によっ
て解放されるまで、順次ログ26が例外モードで動作す
る。
【0041】他の2つの状況が本発明の記憶制御装置2
0の動作に対して影響を及ぼすかもしれない。その1つ
は読み取り断片化であり、もう1つはログ書き込みのミ
スアライメントである。読み取り断片化は、ホスト読み
取り動作がログ/ドライブに現在あるデータに部分的又
は完全にまたがるデータを要求する場合に生ずる。従来
のキャッシュでは、キャッシュ・ミスの際に、読み取り
動作がRAID−5ドライブに対する一回の読み取りと
なる。本発明では、一定の環境下で、同一のホスト読み
取りによって複数の読み取りが得られ、いくつかはログ
・ドライブに対して、またいくつかはデータ・ドライブ
に対する読み取りである。読み取りの断片化は、動作を
遅くし、またオーバーヘッドを大きくする。読み取りが
断片化する環境は、ログ・ドライブにまだ存在するデー
タに対して読み取り要求を提出する時である(すなわ
ち、まだ移行されていない)。本発明における読み取り
命令のいずれもがセグメント・ディレクトリをチェック
して、読み取りを断片化する必要がなく、ディレクトリ
に入力がなければ、読み取りが従来のキャッシュと同様
に進行することを記述する。しかし、もしセグマップ入
力が存在するならば、読み取りはセグマップ内の有効L
BAポインタに対して向けられる。このチェックは読み
取り要求にオーバラップしているセグマップ毎に行われ
る。
【0042】ログ書き込みのミスアライメントも起こ
る。正常な動作において、ログ・ドライブに対するフラ
ッシュが常にESWを用いることはありそうもない。ス
トライプ全体を満たすのに全く十分なデータがある限
り、ESWを用いることができるが、そのようなことは
ほとんど起こらない。その理由として、(1)一般に、
ページは決して部分的にフラッシュされないので、ダー
ティ・データの1つのストライプの価値と一致させるこ
とが難しくなり、また(2)時々、満たすには不十分な
ダーティ・データと完全なストライプとが存在するとい
う2つがある。動作中、ある点において、ログに対する
書き込みがストライプに対するヘッド・ポインタのミス
アラインメントを引き起こす。ひとたびそれが起こる
と、後に続くログ書き込みはESWを用いることができ
ず、その代わりにFSORを使用し、たまにはRMWを
使用するだろう。このことはヘッド・ポインタがストラ
イプによって再調整されるまで続くだろう。
【0043】この問題に対する1つの解決策は、ESW
オペレーションを確かなものにするために偽りのデータ
によってログ書き込みを水増しすることである。ログに
対する書き込みがストライプ・サイズよりも多かった
り、少なかったりした場合はいつでも、ダーティ・デー
タそれ自体が使用されて(タイルのように並べられて)
最も近いストライプ・サイズに合わせられる。排他的論
理和演算及びプロトコル・プロセッサすべてが散乱−収
集入力リストを許容するので、このことによって制御装
置に対する作業が著しく追加されるようなことはない。
挿入された偽りのデータは決して読み取られない。なぜ
ならセグマップ内でそれに対する入力が行われないから
である。セグメントが移行され、かつセグマップが再要
求されると、ログ空間が再要求されて偽りのデータによ
って使用されていた空間を解放する。この解決策によっ
てヘッド・ポインタが常tにストライプと並び、それに
よってESWが常に用いられる。
【0044】以上、詳細に説明した磁気ディスク制御装
置のログ主体不揮発性書き込みキャッシュ・システム及
び方法によって、上記の本発明の目的を完全に達成する
ことができる。また、この発明の精神と範囲に反するこ
となしに、広範に異なる実施態様を構成することができ
ることは明白なので、この発明は、特許請求の範囲に限
定した以外は、その特定の実施態様に制限されるもので
はない。すなわち、特許請求の範囲の要件内のあらゆる
変更、又はその要件に対する均等物(今後、新たに世の
中に出てくる物も含む)は特許請求の範囲内に包含され
るものである。また、上記の詳細な説明において用いた
表現及び用語は、説明を目的としたものであって、それ
に限定されるものではない。例えば、構成要素の表現が
単数形又は複数形で表されている場合、当業者が容易に
理解するように、決してその表現そのものに限定される
ものではなく、必要に応じて単数形又は複数形の表現に
改めて理解すべきであることは言うまでもない。さら
に、「手段」を「装置」、「工程」等に読み替えること
も可能であろう。
【0045】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)データ記憶媒体に情報を格納するためのコンピュ
ータ実行型の方法であって、順次ログを有する書き込み
キャッシュ及び前記順次ログ内のデータの記憶位置を示
すインデックス構造データを含む記憶制御装置にデータ
を含む書き込み命令を受信するステップと、前記データ
が既に前記ログ内に含まれるかどうかを判断し、もし含
まれなければ前記インデックス構造に記録された記録位
置で前記書き込みキャッシュに含まれた前記ログ上に前
記データを書き込むステップと、前記インデックス構造
によって示されるように前記ログに前記データが既に存
在する場合に、前記インデックス構造上の前記データを
無効にし、新たなデータを前記インデックス構造によて
決定された利用可能な記録位置で前記ログ上に書き込む
ステップと、移行条件が存在するかどうかを判断し、も
し移行条件が存在するならば、前記ログ内のデータを複
数の書き込み命令から前記データ記憶媒体へ転送するス
テップと、を有することを特徴とする方法。 (2)前記ログにデータを書き込んだ後に、前記インデ
ックス構造上のポインタを前記ログの次の位置へ進める
ステップをさらに有することを特徴とする上記(1)に
記載の方法。 (3)前記データ記憶媒体は、ハード・ディスク・ドラ
イブ(HDD)からなるアレイであることを特徴とする
上記(1)に記載の方法。 (4)前記ログから前記HDDへ前記データを転送する
ステップは、RAID−5構成に基づくことを特徴とす
る上記(3)に記載の方法。 (5)前記ログは前記HDDに格納され、かつ前記RA
ID構成の所定のレベルに基づいて編成されることを特
徴とする上記(4)に記載の方法。 (6)例外的な条件が存在するかを判断し、もし前記例
外的な条件が存在するならば、前記書き込みを不活性化
させ、さらに格納データが書き込み要求に応答すると、
書き込みキャッシュを迂回させるステップをさらに有す
ることを特徴とする上記(5)に記載の方法。 (7)前記例外的な条件が存在するかどうかを判断する
ステップは、前記インデックス構造に対する前記記憶制
御装置の利用可能なメモリ空間が所定の閾値を下回って
いるかどうかを判断するか、もしくは前記書き込みキャ
ッシュ内の前記ログに対する前記利用可能なメモリ空間
が所定の閾値を下回っているかを判断するステップをさ
らに有することを特徴とする上記(6)に記載の方法。 (8)前記移行条件が存在するかどうかを判断するステ
ップは、前記書き込み要求の受信の頻度が所定の閾値を
下回るかどうかを判断するステップ、前記ログのデータ
量が所定の閾値を上回るかどうかを判断するステップ、
前記インデックス構造のデータ量があまりにも大きいか
どうかを判断するステップ、及び所定の時間が過ぎたか
どうかを判断するステップからなる群から選択される少
なくとも1つのステップを含むことを特徴とする上記
(1)に記載の方法。 (9)前記書き込み命令を受信するステップは、論理ド
ライブ、オフセット、及び書き込みされるべきデータ量
を含む前記書き込み命令のパラメータを得るステップを
有することを特徴とする上記(1)に記載の方法。 (10)前記データを前記ログを含む前記書き込みキャ
ッシュへ転送する前に、前記書き込み命令を受信するス
テップは、揮発性ライト・スルー又はライト・バック・
キャッシュのいずれかで前記書き込み命令にデータを一
時的に格納するステップを有することを特徴とする上記
(1)に記載の方法。 (11)前記書き込みキャッシュは、不揮発性書き込み
キャッシュであることを特徴とする上記(1)に記載の
方法。 (12)前記書き込み命令に含まれる前記データをステ
ージング・バッファに転送して前記書き込みキャッシュ
における前記ログへの書き込みを最適化するステップを
さらに有することを特徴とする上記(1)に記載の方
法。 (13)データ記憶媒体に情報を格納するためのシステ
ムであって、順次ログを有する書き込みキャッシュ及び
前記順次ログ内のデータの記憶位置を示すインデックス
構造データを含む記憶制御装置と、データを含む書き込
み命令を受信する手段と、前記データが既に前記ログ内
に含まれるかどうかを判断し、もし含まれなければ前記
インデックス構造に記録された記録位置で前記ログ上に
前記データを書き込む手段と、前記インデックス構造に
よって示されるように前記ログに前記データが既に存在
するならば、前記インデックス構造上の前記データを無
効にし、新たなデータを前記インデックス構造によて決
定された利用可能な記録位置で前記ログ上に書き込む手
段と、移行条件が存在するかどうかを判断し、もし移行
条件が存在するならば、前記ログ内のデータを複数の書
き込み命令から前記データ記憶媒体へ転送する手段と、
を備えることを特徴とするシステム。 (14)前記インデックス構造上のポインタをさらに有
し、前記ログにデータを書き込んだ後に、前記ポインタ
を前記ログの次の位置へ進めることを特徴とする上記
(13)に記載のシステム。 (15)前記データ記憶媒体は、ハード・ディスク・ド
ライブ(HDD)からなるアレイであることを特徴とす
る上記(13)に記載のシステム。 (16)前記HDD上の前記データは、RIAD−5構
成によって編成されることを特徴とする上記(15)に
記載のシステム。 (17)前記ログは前記HDDに格納され、かつ前記R
AID構成の所定のレベルに基づいて編成されることを
特徴とする上記(13)に記載のシステム。 (18)例外的な条件が存在するかを判断し、もし前記
例外的な条件が存在するならば、前記書き込みを不活性
化させ、さらに格納データが書き込み要求に応答する
と、書き込みキャッシュを迂回させる手段をさらに有す
ることを特徴とする上記(13)に記載のシステム。 (19)前記例外的な条件が存在するかどうかを判断す
る手段は、前記インデックス構造に対する前記記憶制御
装置の利用可能なメモリ空間が所定の閾値を下回ってい
るかどうかを判断するか、もしくは前記書き込みキャッ
シュ内の前記ログに対する前記利用可能なメモリ空間が
所定の閾値を下回っているかを判断する手段をさらに有
することを特徴とする上記(18)に記載のシステム。 (20)前記移行条件が存在するかどうかを判断する手
段は、前記書き込み要求の受信の頻度が所定の閾値を下
回るかどうかを判断する手段、前記ログのデータ量が所
定の閾値を上回るかどうかを判断する手段、前記インデ
ックス構造のデータ量があまりにも大きいかどうかを判
断する手段、及び所定の時間が過ぎたかどうかを判断す
る手段からなる群から選択される少なくとも1つの手段
を含むことを特徴とする上記(13)に記載のシステ
ム。 (21)前記データを前記ログを含む前記書き込みキャ
ッシュへ転送する前に、前記書き込み命令にデータを一
時的に格納するための揮発性ライト・スルー又はライト
・バック・キャッシュのいずれかを有することを特徴と
する上記(13)に記載のシステム。 (22)前記書き込みキャッシュは、不揮発性書き込み
キャッシュであることを特徴とする上記(13)に記載
のシステム。 (23)前記書き込み命令に含まれる前記データを受信
し、前記書き込みキャッシュにおける前記ログへの書き
込みを最適化するステージング・バッファをさらに有す
ることを特徴とする上記(13)に記載のシステム。 (24)前記インデックス構造は、前記ログ・ドライブ
に書き込まれたデータに関する記憶位置情報を保持する
セグメント・マップとセグメント・ディレクトリとを含
むことを特徴とする上記(13)に記載のシステム。 (25)前記セグメント・マップは、書き込み命令が現
在実行されている時に設定されるロック・フィールドを
含むことを特徴とする上記(24)に記載のシステム。 (26)前記セグメント・マップは、前記ログ・ドライ
ブで前記セグメント・マップの直後のセグメント・マッ
プをつなげるリンク・フィールドを含むことを特徴とす
る上記(24)に記載のシステム。 (27)コンピュータ・プログラム・プロダクトであっ
て、コンピュータ・プログラム記憶装置と、コンピュー
タに対してデータ記憶制御装置によってデータ記憶媒体
へのデータの格納を促進させるように働く方法を実施さ
せるための前記記憶装置上のコンピュータ読み取り可能
命令とを含み、さらに前記方法は、順次ログを有する書
き込みキャッシュ及び前記順次ログ内のデータの記憶位
置を示すインデックス構造データを含む記憶制御装置に
データを含む書き込み命令を受信するステップと、前記
データが既に前記ログ内に含まれるかどうかを判断し、
もし含まれなければ前記インデックス構造に記録された
記録位置で前記書き込みキャッシュに含まれた前記ログ
上に前記データを書き込むステップと、前記インデック
ス構造によって示されるように前記ログに前記データが
既に存在するならば、前記インデックス構造上の前記デ
ータを無効にし、新たなデータを前記インデックス構造
によて決定された利用可能な記録位置で前記ログ上に書
き込むステップと、移行条件が存在するかどうかを判断
し、もし移行条件が存在するならば、前記ログ内のデー
タを複数の書き込み命令から前記データ記憶媒体へ転送
するステップと、を有することを特徴とするコンピュー
タ・プログラム・プロダクト。
【図面の簡単な説明】
【図1】従来技術に基づくデータ・ストライピング及び
耐障害性に対するRAID−5論理的ドライブ構成を説
明するための模式図である。
【図2】本発明の一実施形態に基づくデータ記憶制御装
置の主要部の構成を説明するためのブロック図である。
【図3】本発明の一実施形態に基づいて書き込み命令に
応答して実行される主要なステップを説明するためのフ
ローチャートである。
【図4】本発明の一実施形態に基づいて順次ログの更新
の間に実行されるステップを説明するためのフローチャ
ートである。
【図5】本発明の一実施形態に基づいてHDDに対して
順次ログからのデータを移行させる間に実行されるステ
ップを説明するためのフローチャートである。
【符号の説明】
16 コンピュータ・システム 18 ホスト・コンピュータ 20 データ処理制御装置(記憶制御装置) 22 記憶装置相互接続手段 26 順次ログ 28 インデックス構造 30 ポインタ 32 専用プロセッサ 34 メモリ 36 ASIC 38 アレイ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/08 503 G06F 12/08 503B 541 541C 557 557 (72)発明者 ディーパク・アール・ケンチャマナ−ホス コテ アメリカ合衆国95123 カリフォルニア州、 サン・ノゼ、 バーチ・リッジ・サーク ル 102 (72)発明者 プラセンジト・サーカー アメリカ合衆国95120 カリフォルニア州、 サン・ノゼ、 ヴィア・デル・ロス・グ ランデ 1420 Fターム(参考) 5B005 JJ01 JJ12 MM11 NN12 5B042 GA34 MA04 MA08 MA09 MC40 5B065 BA01 CA11 CA16 CA30 CH01 EK05

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】データ記憶媒体に情報を格納するためのコ
    ンピュータ実行型の方法であって、 順次ログを有する書き込みキャッシュ及び前記順次ログ
    内のデータの記憶位置を示すインデックス構造データを
    含む記憶制御装置にデータを含む書き込み命令を受信す
    るステップと、 前記データが既に前記ログ内に含まれるかどうかを判断
    し、もし含まれなければ前記インデックス構造に記録さ
    れた記録位置で前記書き込みキャッシュに含まれた前記
    ログ上に前記データを書き込むステップと、 前記インデックス構造によって示されるように前記ログ
    に前記データが既に存在する場合に、前記インデックス
    構造上の前記データを無効にし、新たなデータを前記イ
    ンデックス構造によて決定された利用可能な記録位置で
    前記ログ上に書き込むステップと、 移行条件が存在するかどうかを判断し、もし移行条件が
    存在するならば、前記ログ内のデータを複数の書き込み
    命令から前記データ記憶媒体へ転送するステップと、 を有することを特徴とする方法。
  2. 【請求項2】前記ログにデータを書き込んだ後に、前記
    インデックス構造上のポインタを前記ログの次の位置へ
    進めるステップをさらに有することを特徴とする請求項
    1に記載の方法。
  3. 【請求項3】前記データ記憶媒体は、ハード・ディスク
    ・ドライブ(HDD)からなるアレイであることを特徴
    とする請求項1に記載の方法。
  4. 【請求項4】前記ログから前記HDDへ前記データを転
    送するステップは、RAID−5構成に基づくことを特
    徴とする請求項3に記載の方法。
  5. 【請求項5】前記ログは前記HDDに格納され、かつ前
    記RAID構成の所定のレベルに基づいて編成されるこ
    とを特徴とする請求項4に記載の方法。
  6. 【請求項6】例外的な条件が存在するかを判断し、もし
    前記例外的な条件が存在するならば、前記書き込みを不
    活性化させ、さらに格納データが書き込み要求に応答す
    ると、書き込みキャッシュを迂回させるステップをさら
    に有することを特徴とする請求項5に記載の方法。
  7. 【請求項7】前記例外的な条件が存在するかどうかを判
    断するステップは、前記インデックス構造に対する前記
    記憶制御装置の利用可能なメモリ空間が所定の閾値を下
    回っているかどうかを判断するか、もしくは前記書き込
    みキャッシュ内の前記ログに対する前記利用可能なメモ
    リ空間が所定の閾値を下回っているかを判断するステッ
    プをさらに有することを特徴とする請求項6に記載の方
    法。
  8. 【請求項8】前記移行条件が存在するかどうかを判断す
    るステップは、前記書き込み要求の受信の頻度が所定の
    閾値を下回るかどうかを判断するステップ、前記ログの
    データ量が所定の閾値を上回るかどうかを判断するステ
    ップ、前記インデックス構造のデータ量があまりにも大
    きいかどうかを判断するステップ、及び所定の時間が過
    ぎたかどうかを判断するステップからなる群から選択さ
    れる少なくとも1つのステップを含むことを特徴とする
    請求項1に記載の方法。
  9. 【請求項9】前記書き込み命令を受信するステップは、
    論理ドライブ、オフセット、及び書き込みされるべきデ
    ータ量を含む前記書き込み命令のパラメータを得るステ
    ップを有することを特徴とする請求項1に記載の方法。
  10. 【請求項10】前記データを前記ログを含む前記書き込
    みキャッシュへ転送する前に、前記書き込み命令を受信
    するステップは、揮発性ライト・スルー又はライト・バ
    ック・キャッシュのいずれかで前記書き込み命令にデー
    タを一時的に格納するステップを有することを特徴とす
    る請求項1に記載の方法。
  11. 【請求項11】前記書き込みキャッシュは、不揮発性書
    き込みキャッシュであることを特徴とする請求項1に記
    載の方法。
  12. 【請求項12】前記書き込み命令に含まれる前記データ
    をステージング・バッファに転送して前記書き込みキャ
    ッシュにおける前記ログへの書き込みを最適化するステ
    ップをさらに有することを特徴とする請求項1に記載の
    方法。
  13. 【請求項13】データ記憶媒体に情報を格納するための
    システムであって、 順次ログを有する書き込みキャッシュ及び前記順次ログ
    内のデータの記憶位置を示すインデックス構造データを
    含む記憶制御装置と、 データを含む書き込み命令を受信する手段と、 前記データが既に前記ログ内に含まれるかどうかを判断
    し、もし含まれなければ前記インデックス構造に記録さ
    れた記録位置で前記ログ上に前記データを書き込む手段
    と、 前記インデックス構造によって示されるように前記ログ
    に前記データが既に存在するならば、前記インデックス
    構造上の前記データを無効にし、新たなデータを前記イ
    ンデックス構造によて決定された利用可能な記録位置で
    前記ログ上に書き込む手段と、 移行条件が存在するかどうかを判断し、もし移行条件が
    存在するならば、前記ログ内のデータを複数の書き込み
    命令から前記データ記憶媒体へ転送する手段と、 を備えることを特徴とするシステム。
  14. 【請求項14】前記インデックス構造上のポインタをさ
    らに有し、前記ログにデータを書き込んだ後に、前記ポ
    インタを前記ログの次の位置へ進めることを特徴とする
    請求項13に記載のシステム。
  15. 【請求項15】前記データ記憶媒体は、ハード・ディス
    ク・ドライブ(HDD)からなるアレイであることを特
    徴とする請求項13に記載のシステム。
  16. 【請求項16】前記HDD上の前記データは、RIAD
    −5構成によって編成されることを特徴とする請求項1
    5に記載のシステム。
  17. 【請求項17】前記ログは前記HDDに格納され、かつ
    前記RAID構成の所定のレベルに基づいて編成される
    ことを特徴とする請求項13に記載のシステム。
  18. 【請求項18】例外的な条件が存在するかを判断し、も
    し前記例外的な条件が存在するならば、前記書き込みを
    不活性化させ、さらに格納データが書き込み要求に応答
    すると、書き込みキャッシュを迂回させる手段をさらに
    有することを特徴とする請求項13に記載のシステム。
  19. 【請求項19】前記例外的な条件が存在するかどうかを
    判断する手段は、前記インデックス構造に対する前記記
    憶制御装置の利用可能なメモリ空間が所定の閾値を下回
    っているかどうかを判断するか、もしくは前記書き込み
    キャッシュ内の前記ログに対する前記利用可能なメモリ
    空間が所定の閾値を下回っているかを判断する手段をさ
    らに有することを特徴とする請求項18に記載のシステ
    ム。
  20. 【請求項20】前記移行条件が存在するかどうかを判断
    する手段は、前記書き込み要求の受信の頻度が所定の閾
    値を下回るかどうかを判断する手段、前記ログのデータ
    量が所定の閾値を上回るかどうかを判断する手段、前記
    インデックス構造のデータ量があまりにも大きいかどう
    かを判断する手段、及び所定の時間が過ぎたかどうかを
    判断する手段からなる群から選択される少なくとも1つ
    の手段を含むことを特徴とする請求項13に記載のシス
    テム。
  21. 【請求項21】前記データを前記ログを含む前記書き込
    みキャッシュへ転送する前に、前記書き込み命令にデー
    タを一時的に格納するための揮発性ライト・スルー又は
    ライト・バック・キャッシュのいずれかを有することを
    特徴とする請求項13に記載のシステム。
  22. 【請求項22】前記書き込みキャッシュは、不揮発性書
    き込みキャッシュであることを特徴とする請求項13に
    記載のシステム。
  23. 【請求項23】前記書き込み命令に含まれる前記データ
    を受信し、前記書き込みキャッシュにおける前記ログへ
    の書き込みを最適化するステージング・バッファをさら
    に有することを特徴とする請求項13に記載のシステ
    ム。
  24. 【請求項24】前記インデックス構造は、前記ログ・ド
    ライブに書き込まれたデータに関する記憶位置情報を保
    持するセグメント・マップとセグメント・ディレクトリ
    とを含むことを特徴とする請求項13に記載のシステ
    ム。
  25. 【請求項25】前記セグメント・マップは、書き込み命
    令が現在実行されている時に設定されるロック・フィー
    ルドを含むことを特徴とする請求項24に記載のシステ
    ム。
  26. 【請求項26】前記セグメント・マップは、前記ログ・
    ドライブで前記セグメント・マップの直後のセグメント
    ・マップをつなげるリンク・フィールドを含むことを特
    徴とする請求項24に記載のシステム。
  27. 【請求項27】コンピュータ・プログラム・プロダクト
    であって、 コンピュータ・プログラム記憶装置と、 コンピュータに対してデータ記憶制御装置によってデー
    タ記憶媒体へのデータの格納を促進させるように働く方
    法を実施させるための前記記憶装置上のコンピュータ読
    み取り可能命令とを含み、さらに前記方法は、 順次ログを有する書き込みキャッシュ及び前記順次ログ
    内のデータの記憶位置を示すインデックス構造データを
    含む記憶制御装置にデータを含む書き込み命令を受信す
    るステップと、 前記データが既に前記ログ内に含まれるかどうかを判断
    し、もし含まれなければ前記インデックス構造に記録さ
    れた記録位置で前記書き込みキャッシュに含まれた前記
    ログ上に前記データを書き込むステップと、 前記インデックス構造によって示されるように前記ログ
    に前記データが既に存在するならば、前記インデックス
    構造上の前記データを無効にし、新たなデータを前記イ
    ンデックス構造によて決定された利用可能な記録位置で
    前記ログ上に書き込むステップと、 移行条件が存在するかどうかを判断し、もし移行条件が
    存在するならば、前記ログ内のデータを複数の書き込み
    命令から前記データ記憶媒体へ転送するステップと、 を有することを特徴とするコンピュータ・プログラム・
    プロダクト。
JP2002027185A 2001-02-05 2002-02-04 磁気ディスク制御装置のログ主体不揮発性書き込みキャッシュ・システム及び方法 Pending JP2002323959A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/776982 2001-02-05
US09/776,982 US6516380B2 (en) 2001-02-05 2001-02-05 System and method for a log-based non-volatile write cache in a storage controller

Publications (1)

Publication Number Publication Date
JP2002323959A true JP2002323959A (ja) 2002-11-08

Family

ID=25108920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002027185A Pending JP2002323959A (ja) 2001-02-05 2002-02-04 磁気ディスク制御装置のログ主体不揮発性書き込みキャッシュ・システム及び方法

Country Status (2)

Country Link
US (1) US6516380B2 (ja)
JP (1) JP2002323959A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284497A (ja) * 2004-03-29 2005-10-13 Hitachi Ltd 中継装置、管理サーバ、中継方法および認証方法
JP2005292932A (ja) * 2004-03-31 2005-10-20 Saxa Inc ログ情報の取得装置
JP2008526109A (ja) * 2004-12-23 2008-07-17 ソレラ ネットワークス インコーポレイテッド ネットワークパケットキャプチャ分散ストレージシステムの方法及び機器
JP2009104488A (ja) * 2007-10-24 2009-05-14 Hitachi Ltd ストレージ装置及びその制御方法並びにストレージシステム
JP2012503250A (ja) * 2008-09-19 2012-02-02 マイクロソフト コーポレーション データ・ストアへの書き込みトラフィックの統合
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
JP2014526735A (ja) * 2011-09-11 2014-10-06 マイクロソフト コーポレーション 検証されたデータセットの不揮発性媒体ジャーナリング
US9396141B2 (en) 2013-08-07 2016-07-19 Kabushiki Kaisha Toshiba Memory system and information processing device by which data is written and read in response to commands from a host
US9690496B2 (en) 2004-10-21 2017-06-27 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US10387313B2 (en) 2008-09-15 2019-08-20 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
JP2021517684A (ja) * 2018-04-12 2021-07-26 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation トラック・ロックおよびストライド・グループ・ロックを使用したキャッシュ動作の管理

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996580B2 (en) * 2001-06-22 2006-02-07 International Business Machines Corporation System and method for granular control of message logging
JP2003030018A (ja) * 2001-07-13 2003-01-31 Sony Corp データ通信装置および方法、データ通信システム、情報処理装置および方法、記録媒体、並びにプログラム
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7197614B2 (en) * 2002-05-08 2007-03-27 Xiotech Corporation Method and apparatus for mirroring data stored in a mass storage system
US7181581B2 (en) * 2002-05-09 2007-02-20 Xiotech Corporation Method and apparatus for mirroring data stored in a mass storage system
US7340486B1 (en) * 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
JP4186602B2 (ja) * 2002-12-04 2008-11-26 株式会社日立製作所 ジャーナルログを利用した更新データ書込方法
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
JP2004213435A (ja) * 2003-01-07 2004-07-29 Hitachi Ltd 記憶装置システム
US7383378B1 (en) * 2003-04-11 2008-06-03 Network Appliance, Inc. System and method for supporting file and block access to storage object on a storage appliance
US7099993B2 (en) * 2003-09-24 2006-08-29 Seagate Technology Llc Multi-level caching in data storage devices
US7478101B1 (en) 2003-12-23 2009-01-13 Networks Appliance, Inc. System-independent data format in a mirrored storage system environment and method for using the same
US7370163B2 (en) * 2004-05-03 2008-05-06 Gemini Storage Adaptive cache engine for storage area network including systems and methods related thereto
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US20060036904A1 (en) * 2004-08-13 2006-02-16 Gemini Storage Data replication method over a limited bandwidth network by mirroring parities
US7457980B2 (en) * 2004-08-13 2008-11-25 Ken Qing Yang Data replication method over a limited bandwidth network by mirroring parities
JP4082614B2 (ja) * 2004-11-12 2008-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース管理システム、データベース管理方法、及びプログラム
US7523286B2 (en) * 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US8019842B1 (en) 2005-01-27 2011-09-13 Netapp, Inc. System and method for distributing enclosure services data to coordinate shared storage
US8180855B2 (en) 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
JP4440803B2 (ja) * 2005-03-03 2010-03-24 富士通株式会社 記憶装置、その制御方法及びプログラム
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
JP2006268524A (ja) * 2005-03-24 2006-10-05 Fujitsu Ltd 記憶装置、その制御方法及びプログラム
JP4249719B2 (ja) * 2005-03-29 2009-04-08 株式会社日立製作所 バックアップシステム、プログラム及びバックアップ方法
US7617370B2 (en) * 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7739318B2 (en) * 2005-06-20 2010-06-15 Netapp, Inc. System and method for maintaining mappings from data containers to their parent directories
US7653682B2 (en) * 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
US7516285B1 (en) 2005-07-22 2009-04-07 Network Appliance, Inc. Server side API for fencing cluster hosts via export access rights
US20070088917A1 (en) * 2005-10-14 2007-04-19 Ranaweera Samantha L System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US20070162691A1 (en) * 2006-01-06 2007-07-12 Bhakta Snehal S Apparatus and method to store information
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US7734603B1 (en) 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
JP2007233896A (ja) * 2006-03-03 2007-09-13 Hitachi Ltd ストレージ装置及びその制御方法
US8285817B1 (en) 2006-03-20 2012-10-09 Netapp, Inc. Migration engine for use in a logical namespace of a storage system environment
US20070233868A1 (en) * 2006-03-31 2007-10-04 Tyrrell John C System and method for intelligent provisioning of storage across a plurality of storage systems
US8260831B2 (en) * 2006-03-31 2012-09-04 Netapp, Inc. System and method for implementing a flexible storage manager with threshold control
US7769723B2 (en) * 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
US7500070B2 (en) * 2006-08-23 2009-03-03 Lsi Corporation Methods and apparatus for improved RAID 1 mirror re-synchronization
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
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
JP4148529B2 (ja) * 2006-12-28 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースにおける索引の整合性をチェックするためのシステム、方法およびプログラム
US8301673B2 (en) * 2006-12-29 2012-10-30 Netapp, Inc. System and method for performing distributed consistency verification of a clustered file system
TWI360113B (en) * 2007-02-16 2012-03-11 Mediatek Inc Buffer management method and optical disc drive
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US8312214B1 (en) 2007-03-28 2012-11-13 Netapp, Inc. System and method for pausing disk drives in an aggregate
US8219749B2 (en) * 2007-04-27 2012-07-10 Netapp, Inc. System and method for efficient updates of sequential block storage
US7827350B1 (en) 2007-04-27 2010-11-02 Netapp, Inc. Method and system for promoting a snapshot in a distributed file system
US7882304B2 (en) * 2007-04-27 2011-02-01 Netapp, Inc. System and method for efficient updates of sequential block storage
US8734245B2 (en) * 2007-11-02 2014-05-27 Bally Gaming, Inc. Game related systems, methods, and articles that combine virtual and physical elements
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
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
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US7984259B1 (en) 2007-12-17 2011-07-19 Netapp, Inc. Reducing load imbalance in a storage system
US9134917B2 (en) * 2008-02-12 2015-09-15 Netapp, Inc. Hybrid media storage system architecture
US8549222B1 (en) 2008-02-12 2013-10-01 Netapp, Inc. Cache-based storage system architecture
US8725986B1 (en) 2008-04-18 2014-05-13 Netapp, Inc. System and method for volume block number to disk block number mapping
US8004998B2 (en) * 2008-05-23 2011-08-23 Solera Networks, Inc. Capture and regeneration of a network data using a virtual software switch
US20090292736A1 (en) * 2008-05-23 2009-11-26 Matthew Scott Wood On demand network activity reporting through a dynamic file system and method
US8055846B2 (en) * 2008-08-15 2011-11-08 International Business Machines Corporation Data vaulting in emergency shutdown
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US20100191907A1 (en) * 2009-01-26 2010-07-29 Lsi Corporation RAID Converter and Methods for Transforming a First RAID Array to a Second RAID Array Without Creating a Backup Copy
KR101562794B1 (ko) * 2009-08-04 2015-10-26 삼성전자주식회사 데이터 저장 장치
WO2011031796A2 (en) 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
WO2011060368A1 (en) * 2009-11-15 2011-05-19 Solera Networks, Inc. Method and apparatus for storing and indexing high-speed network traffic data
WO2011060377A1 (en) * 2009-11-15 2011-05-19 Solera Networks, Inc. Method and apparatus for real time identification and recording of artifacts
CN102667734B (zh) 2009-12-25 2014-08-20 国际商业机器公司 用于检查分层型数据库中的指针的一致性的系统和方法
US8868575B2 (en) * 2010-01-13 2014-10-21 International Business Machines Corporation Method and system for transformation of logical data objects for storage
US9672150B2 (en) 2010-05-26 2017-06-06 Hewlett Packard Enterprise Development Lp Migrating write information in a write cache of a storage system
US8380962B2 (en) * 2010-08-16 2013-02-19 Symantec Corporation Systems and methods for efficient sequential logging on caching-enabled storage devices
US8849991B2 (en) 2010-12-15 2014-09-30 Blue Coat Systems, Inc. System and method for hypertext transfer protocol layered reconstruction
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
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
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US9396067B1 (en) 2011-04-18 2016-07-19 American Megatrends, Inc. I/O accelerator for striped disk arrays using parity
US8806588B2 (en) 2011-06-30 2014-08-12 Amazon Technologies, Inc. Storage gateway activation process
US8706834B2 (en) 2011-06-30 2014-04-22 Amazon Technologies, Inc. Methods and apparatus for remotely updating executing processes
US9294564B2 (en) 2011-06-30 2016-03-22 Amazon Technologies, Inc. Shadowing storage gateway
US10754813B1 (en) * 2011-06-30 2020-08-25 Amazon Technologies, Inc. Methods and apparatus for block storage I/O operations in a storage gateway
US8832039B1 (en) 2011-06-30 2014-09-09 Amazon Technologies, Inc. Methods and apparatus for data restore and recovery from a remote data store
US8793343B1 (en) 2011-08-18 2014-07-29 Amazon Technologies, Inc. Redundant storage gateways
US8789208B1 (en) 2011-10-04 2014-07-22 Amazon Technologies, Inc. Methods and apparatus for controlling snapshot exports
KR101889298B1 (ko) 2011-11-08 2018-08-20 삼성전자주식회사 불휘발성 메모리를 포함하는 메모리 장치 및 불휘발성 메모리의 제어 방법
US9635132B1 (en) 2011-12-15 2017-04-25 Amazon Technologies, Inc. Service and APIs for remote volume-based block storage
US20130179634A1 (en) * 2012-01-05 2013-07-11 Lsi Corporation Systems and methods for idle time backup of storage system volumes
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
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
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
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
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9317436B2 (en) * 2013-06-21 2016-04-19 Hewlett Packard Enterprise Development Lp Cache node processing
US9779138B2 (en) * 2013-08-13 2017-10-03 Micron Technology, Inc. Methods and systems for autonomous memory searching
US10003675B2 (en) 2013-12-02 2018-06-19 Micron Technology, Inc. Packet processor receiving packets containing instructions, data, and starting location and generating packets containing instructions and data
US9252148B2 (en) 2014-01-22 2016-02-02 Micron Technology, Inc. Methods and apparatuses with vertical strings of memory cells and support circuitry
US9734066B1 (en) * 2014-05-22 2017-08-15 Sk Hynix Memory Solutions Inc. Workload-based adjustable cache size
US9760485B2 (en) 2015-01-28 2017-09-12 International Business Machines Corporation Fast write and management of persistent cache in a system that includes tertiary storage
JP6476969B2 (ja) * 2015-02-17 2019-03-06 富士通株式会社 ストレージ制御装置、制御プログラムおよび制御方法
WO2016174729A1 (ja) * 2015-04-28 2016-11-03 株式会社日立製作所 ストレージ装置
JP6540363B2 (ja) * 2015-08-19 2019-07-10 富士通株式会社 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
TWI588824B (zh) * 2015-12-11 2017-06-21 捷鼎國際股份有限公司 加快在不連續頁面寫入資料之電腦系統及其方法
US9626111B1 (en) 2016-01-07 2017-04-18 International Business Machines Corporation Sequential write of random workload in mirrored performance pool environments
US10564865B2 (en) * 2016-03-22 2020-02-18 Seagate Technology Llc Lockless parity management in a distributed data storage system
US10437521B2 (en) * 2016-03-25 2019-10-08 Netapp, Inc. Consistent method of indexing file system information
US20170357656A1 (en) * 2016-06-08 2017-12-14 Hewlett Packard Enterprise Development Lp Reducing file system journaling writes
CN108206044B (zh) * 2016-12-20 2021-09-21 工业和信息化部电信研究院 一种测试固态硬盘饱和写入性能的方法和装置
US10484015B2 (en) 2016-12-28 2019-11-19 Amazon Technologies, Inc. Data storage system with enforced fencing
US10514847B2 (en) 2016-12-28 2019-12-24 Amazon Technologies, Inc. Data storage system with multiple durability levels
US11301144B2 (en) 2016-12-28 2022-04-12 Amazon Technologies, Inc. Data storage system
US10521135B2 (en) * 2017-02-15 2019-12-31 Amazon Technologies, Inc. Data system with data flush mechanism
CN108630285B (zh) * 2017-03-16 2021-08-06 工业和信息化部电信研究院 一种测试固态硬盘的方法和装置
US11023381B2 (en) * 2017-05-16 2021-06-01 Sony Semiconductor Solutions Corporation System and method for a hit-based ratio write cache operation mode in a storage controller
US11112970B2 (en) * 2017-06-12 2021-09-07 Sap Se Software system logging based on runtime analysis
US10776267B2 (en) 2017-12-11 2020-09-15 Red Hat, Inc. Mirrored byte addressable storage
CN109992402B (zh) * 2017-12-29 2021-07-09 Oppo广东移动通信有限公司 内存处理方法和装置、电子设备、计算机可读存储介质
US11132145B2 (en) * 2018-03-14 2021-09-28 Apple Inc. Techniques for reducing write amplification on solid state storage devices (SSDs)
US11169723B2 (en) 2019-06-28 2021-11-09 Amazon Technologies, Inc. Data storage system with metadata check-pointing
US11620233B1 (en) * 2019-09-30 2023-04-04 Amazon Technologies, Inc. Memory data migration hardware
US11182096B1 (en) 2020-05-18 2021-11-23 Amazon Technologies, Inc. Data storage system with configurable durability
KR20220025405A (ko) * 2020-08-24 2022-03-03 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
US11681443B1 (en) 2020-08-28 2023-06-20 Amazon Technologies, Inc. Durable data storage with snapshot storage space optimization
CN113434296B (zh) * 2021-07-01 2023-03-21 曙光信息产业股份有限公司 缓存回刷方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787242A (en) * 1995-12-29 1998-07-28 Symbios Logic Inc. Method and apparatus for treatment of deferred write data for a dead raid device
US6148368A (en) * 1997-07-31 2000-11-14 Lsi Logic Corporation Method for accelerating disk array write operations using segmented cache memory and data logging
US6185663B1 (en) * 1998-06-15 2001-02-06 Compaq Computer Corporation Computer method and apparatus for file system block allocation with multiple redo

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284497A (ja) * 2004-03-29 2005-10-13 Hitachi Ltd 中継装置、管理サーバ、中継方法および認証方法
JP2005292932A (ja) * 2004-03-31 2005-10-20 Saxa Inc ログ情報の取得装置
US9690496B2 (en) 2004-10-21 2017-06-27 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
JP2008526109A (ja) * 2004-12-23 2008-07-17 ソレラ ネットワークス インコーポレイテッド ネットワークパケットキャプチャ分散ストレージシステムの方法及び機器
JP4759574B2 (ja) * 2004-12-23 2011-08-31 ソレラ ネットワークス インコーポレイテッド ネットワークパケットキャプチャ分散ストレージシステムの方法及び機器
JP2011222006A (ja) * 2004-12-23 2011-11-04 Solera Networks Inc ネットワークパケットキャプチャ分散ストレージシステムの方法及び機器
JP2009104488A (ja) * 2007-10-24 2009-05-14 Hitachi Ltd ストレージ装置及びその制御方法並びにストレージシステム
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US10387313B2 (en) 2008-09-15 2019-08-20 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
JP2012503250A (ja) * 2008-09-19 2012-02-02 マイクロソフト コーポレーション データ・ストアへの書き込みトラフィックの統合
US10509730B2 (en) 2008-09-19 2019-12-17 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
JP2014526735A (ja) * 2011-09-11 2014-10-06 マイクロソフト コーポレーション 検証されたデータセットの不揮発性媒体ジャーナリング
US9229809B2 (en) 2011-09-11 2016-01-05 Microsoft Technology Licensing Llc Nonvolatile media journaling of verified data sets
US9396141B2 (en) 2013-08-07 2016-07-19 Kabushiki Kaisha Toshiba Memory system and information processing device by which data is written and read in response to commands from a host
JP2021517684A (ja) * 2018-04-12 2021-07-26 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation トラック・ロックおよびストライド・グループ・ロックを使用したキャッシュ動作の管理
JP7256815B2 (ja) 2018-04-12 2023-04-12 インターナショナル・ビジネス・マシーンズ・コーポレーション トラック・ロックおよびストライド・グループ・ロックを使用したキャッシュ動作の管理

Also Published As

Publication number Publication date
US20020108017A1 (en) 2002-08-08
US6516380B2 (en) 2003-02-04

Similar Documents

Publication Publication Date Title
JP2002323959A (ja) 磁気ディスク制御装置のログ主体不揮発性書き込みキャッシュ・システム及び方法
US8296534B1 (en) Techniques for using flash-based memory in recovery processing
US7793061B1 (en) Techniques for using flash-based memory as a write cache and a vault
US9292206B2 (en) Method and apparatus for optimizing the performance of a storage system
US6658542B2 (en) Method and system for caching data in a storage system
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
US6738863B2 (en) Method for rebuilding meta-data in a data storage system and a data storage system
US8041914B2 (en) Storage system comprising function for reducing power consumption
US7849254B2 (en) Create virtual track buffers in NVS using customer segments to maintain newly written data across a power loss
JP3697149B2 (ja) キャッシュ・メモリを管理する方法
US20090210620A1 (en) Method to handle demand based dynamic cache allocation between SSD and RAID cache
JP5529283B2 (ja) ストレージシステム及びストレージシステムにおけるキャッシュの構成変更方法
US7930588B2 (en) Deferred volume metadata invalidation
US20040123068A1 (en) Computer systems, disk systems, and method for controlling disk cache
AU1578092A (en) Cache memory system and method of operating the cache memory system
WO2002071230A1 (en) Utilizing parity caching and parity logging while closing the raid 5 write hole
US10877922B2 (en) Flushes based on intent log entry states
US10564865B2 (en) Lockless parity management in a distributed data storage system
JPH06236322A (ja) ディスクアレイ用キャッシュシステム
CN108319430B (zh) 处理io请求的方法及装置
US11379326B2 (en) Data access method, apparatus and computer program product
JPH11288387A (ja) ディスクキャッシュ装置
US7398448B2 (en) Storage system has the function of preventing drive write error
TWI522805B (zh) 用來於一儲存系統中進行快取管理之方法與裝置
US20140351521A1 (en) Storage system and method for controlling storage system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050301

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050531

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060502

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070315

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070807