JPH06324817A - ディスク・システム及びデータ記憶方法 - Google Patents
ディスク・システム及びデータ記憶方法Info
- Publication number
- JPH06324817A JPH06324817A JP6049991A JP4999194A JPH06324817A JP H06324817 A JPH06324817 A JP H06324817A JP 6049991 A JP6049991 A JP 6049991A JP 4999194 A JP4999194 A JP 4999194A JP H06324817 A JPH06324817 A JP H06324817A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- data
- area
- data block
- log
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B20/1252—Formatting, e.g. arrangement of data block or words on the record carriers on discs for discontinuous data, e.g. digital information signals or computer program data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/32—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
- G11B27/327—Table of contents
- G11B27/329—Table of contents on a disc [VTOC]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】ディスク・システム及びデータ記憶方法を提供
する。 【構成】ディスク制御装置にフォルト・トレラント・メ
モリが使われ、書き込まれるデータ・ブロック叉はペー
ジを一時的に記憶する。更新されたブロックは、フォル
ト・トレラント・メモリにおいて、ディスクのデータ部
分の物理的ホーム位置に従って分類される。分類された
実行単位は、ディスクのログ部分に一時的に書き出され
る。並行処理で、分類された実行単位は、ディスクのロ
グ部分から検索され、フォルト・トレラント・メモリに
マージされ、ディスクのデータ部分のホーム位置に書き
出される。ディスク上のデータの物理的クラスタリング
を保持しながら、ランダム・ディスク書込みを大部分シ
ーケンシャルI/Oに変換する。
する。 【構成】ディスク制御装置にフォルト・トレラント・メ
モリが使われ、書き込まれるデータ・ブロック叉はペー
ジを一時的に記憶する。更新されたブロックは、フォル
ト・トレラント・メモリにおいて、ディスクのデータ部
分の物理的ホーム位置に従って分類される。分類された
実行単位は、ディスクのログ部分に一時的に書き出され
る。並行処理で、分類された実行単位は、ディスクのロ
グ部分から検索され、フォルト・トレラント・メモリに
マージされ、ディスクのデータ部分のホーム位置に書き
出される。ディスク上のデータの物理的クラスタリング
を保持しながら、ランダム・ディスク書込みを大部分シ
ーケンシャルI/Oに変換する。
Description
【0001】
【産業上の利用分野】本発明は、一般に電子式コンピュ
ータのディジタル・ディスク記憶システムに関連し、特
にランダム・アドレスを有するディスク書込み動作を大
部分シーケンシャル・アドレスの順序に変換することに
よって、高いパフォーマンスを提供するために、ログ及
び分類メカニズムが使われているディスク記憶方法及び
装置に関連する。
ータのディジタル・ディスク記憶システムに関連し、特
にランダム・アドレスを有するディスク書込み動作を大
部分シーケンシャル・アドレスの順序に変換することに
よって、高いパフォーマンスを提供するために、ログ及
び分類メカニズムが使われているディスク記憶方法及び
装置に関連する。
【0002】
【従来の技術】オンライン・データベース・トランザク
ション処理(OLTP)に対する要求が増大するにつれ
て、1秒間に何千ものオーダーの高いトランザクション
処理レートが、OLTPシステムでサポートされなけれ
ばならない。OLTPのようなアプリケーションにおい
て、データの大部分はディスク上に存在し、ディスク・
サブシステムは、従って1秒間に数千回のオーダーのラ
ンダム・アクセスのレートをサポートしなければならな
い。ランダム・ディスクの入出力(I/O)は、(CP
U MIPS、すなわちCPUの命令実行速度)のよう
な他のシステム・パラメータと同様のレートでは向上し
ていない。
ション処理(OLTP)に対する要求が増大するにつれ
て、1秒間に何千ものオーダーの高いトランザクション
処理レートが、OLTPシステムでサポートされなけれ
ばならない。OLTPのようなアプリケーションにおい
て、データの大部分はディスク上に存在し、ディスク・
サブシステムは、従って1秒間に数千回のオーダーのラ
ンダム・アクセスのレートをサポートしなければならな
い。ランダム・ディスクの入出力(I/O)は、(CP
U MIPS、すなわちCPUの命令実行速度)のよう
な他のシステム・パラメータと同様のレートでは向上し
ていない。
【0003】それ故、データへのランダム・アクセスが
主導権を握るOLTPのようなアプリケーションは、デ
ィスク・アーム・バウンドとなり、ディスク・コストが
システム・コストの大きな部分になっている。従って、
従来のディスク・システムに比べて、よりよい価格・性
能特性で高速のランダム・アクセスをサポートするディ
スク・サブシステムが必要となる。M.ローゼンブラム及
びJ.アウスターハウトの論文「ログ構造ファイル・シス
テムの設計と製作ー1991年10月、オペレーティン
グ・システムの本質に関する第13回ACMシンポジウ
ム議事録("TheDesign and Implementations of a Log-
Structured File System", Proccedings of the Thirte
enth ACM Symposium on Operating System Principles
(October 1991),M.Rosenblum andJ.Ousterhout)」にお
いて、ランダム・ディスクの入出力パフォーマンスは、
同じ割合では向上していないけれども、シーケンシャル
・アクセスのディスクに対する入出力パフォーマンス
は、ディスク表面密度の増加によって向上しているとい
う基本的観察がなされている。
主導権を握るOLTPのようなアプリケーションは、デ
ィスク・アーム・バウンドとなり、ディスク・コストが
システム・コストの大きな部分になっている。従って、
従来のディスク・システムに比べて、よりよい価格・性
能特性で高速のランダム・アクセスをサポートするディ
スク・サブシステムが必要となる。M.ローゼンブラム及
びJ.アウスターハウトの論文「ログ構造ファイル・シス
テムの設計と製作ー1991年10月、オペレーティン
グ・システムの本質に関する第13回ACMシンポジウ
ム議事録("TheDesign and Implementations of a Log-
Structured File System", Proccedings of the Thirte
enth ACM Symposium on Operating System Principles
(October 1991),M.Rosenblum andJ.Ousterhout)」にお
いて、ランダム・ディスクの入出力パフォーマンスは、
同じ割合では向上していないけれども、シーケンシャル
・アクセスのディスクに対する入出力パフォーマンス
は、ディスク表面密度の増加によって向上しているとい
う基本的観察がなされている。
【0004】従って、ローゼンブラム及びアウスターハ
ウトは、ランダム書き込みをシーケンシャル・書き込み
で置き換える解決策を提案した。特に具体的には、シー
ケンシャル・ログに書き込み、更新するログ構造のファ
イル・システムが提案されている。続いて、ディスク上
の大きな自由領域をつくるために、不要部分の整理及び
圧縮が使われている。この方法の基本的問題は、ディス
ク上のデータのクラスタリングが消失することである。
すなわち、データのページ(叉はブロック)をディスク
上の別の位置に再マップすることによって、以前隣接し
ていたページ(叉はブロック)は、勝手にディスク上の
遠い位置へ動かされる。
ウトは、ランダム書き込みをシーケンシャル・書き込み
で置き換える解決策を提案した。特に具体的には、シー
ケンシャル・ログに書き込み、更新するログ構造のファ
イル・システムが提案されている。続いて、ディスク上
の大きな自由領域をつくるために、不要部分の整理及び
圧縮が使われている。この方法の基本的問題は、ディス
ク上のデータのクラスタリングが消失することである。
すなわち、データのページ(叉はブロック)をディスク
上の別の位置に再マップすることによって、以前隣接し
ていたページ(叉はブロック)は、勝手にディスク上の
遠い位置へ動かされる。
【0005】この結果、以前隣接していたページ(叉は
ブロック)に対する後からのシーケンシャル読み込み
は、ディスク上での隔たった離れた位置へのアクセスを
必要とする(すなわち、以前シーケンシャルにアクセス
された読み込み動作は、ランダムにアクセスされる読み
込み動作に変換される)。OLTPアプリケーションに
おいては、ランダム・アクセスの読み込みが支配的であ
るけれども、重要なシーケンシャル・アクセスもまた存
在する。例えば、「トランザクション処理諮問委員会ベ
ンチマークC(TPC‐C)、標準仕様、改訂1.0、
1992年8月13日、F.ラーブ編集(Transaction Pr
ocessing Council Benchmark C (TPC-C),Standard Spec
ification, Revision 1.0", Edited by Francois Raab
(August 13,1992)」を考えてみる。
ブロック)に対する後からのシーケンシャル読み込み
は、ディスク上での隔たった離れた位置へのアクセスを
必要とする(すなわち、以前シーケンシャルにアクセス
された読み込み動作は、ランダムにアクセスされる読み
込み動作に変換される)。OLTPアプリケーションに
おいては、ランダム・アクセスの読み込みが支配的であ
るけれども、重要なシーケンシャル・アクセスもまた存
在する。例えば、「トランザクション処理諮問委員会ベ
ンチマークC(TPC‐C)、標準仕様、改訂1.0、
1992年8月13日、F.ラーブ編集(Transaction Pr
ocessing Council Benchmark C (TPC-C),Standard Spec
ification, Revision 1.0", Edited by Francois Raab
(August 13,1992)」を考えてみる。
【0006】TPC‐Cベンチマークにおいて、1つの
トランザクション・タイプは、顧客の注文のテーブルを
つくる注文処理である。後で、出荷処理が、バッチ処理
で、最も古い未出荷の注文からシーケンシャルに(順番
に)処理する。これは、大勢をしめるランダム・アクセ
スに加えてデータに対するかなりのシーケンシャル・ア
クセスを起こさせる。更に、データベースに対する問合
せは、クラスタリングの順番に、すなわちディスク上の
特定の順序に従ってアクセスされるテーブル空間走査(t
able-space scan)を通してしばしばアクセスする。
トランザクション・タイプは、顧客の注文のテーブルを
つくる注文処理である。後で、出荷処理が、バッチ処理
で、最も古い未出荷の注文からシーケンシャルに(順番
に)処理する。これは、大勢をしめるランダム・アクセ
スに加えてデータに対するかなりのシーケンシャル・ア
クセスを起こさせる。更に、データベースに対する問合
せは、クラスタリングの順番に、すなわちディスク上の
特定の順序に従ってアクセスされるテーブル空間走査(t
able-space scan)を通してしばしばアクセスする。
【0007】
【発明が解決しようとする課題】それ故、ランダム・デ
ィスク入出力を大部分シーケンシャル入出力に変換する
ことによって、ランダム・ディスク入出力の向上したパ
フォーマンスを有するディスク・サブシステムを提供す
ることが本発明の目的である。ディスク上のデータの物
理的クラスタリングを維持することがまた、本発明の目
的である(すなわち、ディスク上のデータが単に更新さ
れたという理由で、永久にディスク上の別の物理的位置
に再配置されることはないということである)。また更
に本発明の目的は、ディスク又はプロセッサの故障から
回復することができる高性能ディスク・サブシステムを
提供することである。
ィスク入出力を大部分シーケンシャル入出力に変換する
ことによって、ランダム・ディスク入出力の向上したパ
フォーマンスを有するディスク・サブシステムを提供す
ることが本発明の目的である。ディスク上のデータの物
理的クラスタリングを維持することがまた、本発明の目
的である(すなわち、ディスク上のデータが単に更新さ
れたという理由で、永久にディスク上の別の物理的位置
に再配置されることはないということである)。また更
に本発明の目的は、ディスク又はプロセッサの故障から
回復することができる高性能ディスク・サブシステムを
提供することである。
【0008】
【課題を解決するための手段】これらの目的及び利点
は、本発明によるディスク入出力システムを提供するこ
とにより達成される。ディスクへの更新(すなわち、書
込み)が一時的にディスク制御装置のフォルト・トレラ
ント・メモリに記憶されそこでこれらの更新は、連続し
た更新の実行単位に分類され、その分類はディスク上の
更新のホーム位置に従ってなされる。各分類された実行
単位は、ディスクのログ領域上にシーケンシャルに書か
れる。この動作と平行して、少なくとも1つの実行単位
が、(望ましくは、同じ分類順序でマージされてもっと
大きな実行単位を形成する多重の実行単位が)ディスク
上のホーム位置に書かれる。
は、本発明によるディスク入出力システムを提供するこ
とにより達成される。ディスクへの更新(すなわち、書
込み)が一時的にディスク制御装置のフォルト・トレラ
ント・メモリに記憶されそこでこれらの更新は、連続し
た更新の実行単位に分類され、その分類はディスク上の
更新のホーム位置に従ってなされる。各分類された実行
単位は、ディスクのログ領域上にシーケンシャルに書か
れる。この動作と平行して、少なくとも1つの実行単位
が、(望ましくは、同じ分類順序でマージされてもっと
大きな実行単位を形成する多重の実行単位が)ディスク
上のホーム位置に書かれる。
【0009】ディスク上の物理的順序に従って、更新が
ホーム位置へ書かれるので、ホーム位置への書込みは、
大部分シーケンシャル順序でなされる。この方法を使っ
て、ディスクへのランダム書込みは、大部分ディスクへ
のシーケンシャル書込みに変換され、ディスク上のデー
タのクラスタリングは保存される。
ホーム位置へ書かれるので、ホーム位置への書込みは、
大部分シーケンシャル順序でなされる。この方法を使っ
て、ディスクへのランダム書込みは、大部分ディスクへ
のシーケンシャル書込みに変換され、ディスク上のデー
タのクラスタリングは保存される。
【0010】
【実施例】図1は、本発明の望ましい具体化のブロック
・ダイヤグラムであり、ログディスク(LDISK)・
サブシステムと呼ばれている。それは、入出力プロセッ
サ200(IOP)及び多くのディスク300ー1から
300ーKによって構成される。一方IOPは、CPU
100に接続している。IOPは、プロセッサ210及
びフォルト・トレラント・メモリ220を有する。各デ
ィスクは、2つの部分に分割される。1つの部分(デー
タ部分と呼ばれる)は、そのディスク上に存在し、ディ
スク300ー1に対して310ー1(ディスク300ー
Kに対しては310ーK)と分類されるデータ・ブロッ
クに関するホーム位置として働く。
・ダイヤグラムであり、ログディスク(LDISK)・
サブシステムと呼ばれている。それは、入出力プロセッ
サ200(IOP)及び多くのディスク300ー1から
300ーKによって構成される。一方IOPは、CPU
100に接続している。IOPは、プロセッサ210及
びフォルト・トレラント・メモリ220を有する。各デ
ィスクは、2つの部分に分割される。1つの部分(デー
タ部分と呼ばれる)は、そのディスク上に存在し、ディ
スク300ー1に対して310ー1(ディスク300ー
Kに対しては310ーK)と分類されるデータ・ブロッ
クに関するホーム位置として働く。
【0011】他の部分(ログ部分と呼ばれる)は、更新
をディスク上のデータ・ブロックに記憶するために使わ
れ、ディスク300ー1に対しては320ー1(ディス
ク300ーKに対しては320ーK)と分類される。図
2は、1つのディスク300ーa上に記憶された情報の
ブロック・ダイヤグラムを示す。ログ部分320ーa
は、2つの部分に分割される。1つは、書込みが記憶さ
れる新しいログ部分325ーaであり、もう一方は、書
込みがこの方法の前のサイクルにおいて記憶された古い
ログ部分321ーaであり、ホーム位置に適用される。
一方新しいログ部分325ーaは、一組の領域(326
ー1aから326ーNa)によって構成され、修正され
たデータ・ブロックの個々の分類された実行単位が記憶
される。
をディスク上のデータ・ブロックに記憶するために使わ
れ、ディスク300ー1に対しては320ー1(ディス
ク300ーKに対しては320ーK)と分類される。図
2は、1つのディスク300ーa上に記憶された情報の
ブロック・ダイヤグラムを示す。ログ部分320ーa
は、2つの部分に分割される。1つは、書込みが記憶さ
れる新しいログ部分325ーaであり、もう一方は、書
込みがこの方法の前のサイクルにおいて記憶された古い
ログ部分321ーaであり、ホーム位置に適用される。
一方新しいログ部分325ーaは、一組の領域(326
ー1aから326ーNa)によって構成され、修正され
たデータ・ブロックの個々の分類された実行単位が記憶
される。
【0012】修正されたデータ・ブロックの分類された
実行単位の各々は、ディスクのデータ部分における対応
するデータ・ブロックの物理的位置(すなわち、アドレ
ス)によって分類される。同様に、古いログ部分321
ーaは、一組の領域(322ー1aから322ーNa)
で構成され、修正されたデータ・ブロックの分類された
実行単位の前のセットが記憶される。各部分における分
類された実行単位の数Nは、全体のログ部分320ーa
に割り当てられたディスク上の空間の量によって、任意
に決定される。各部分における実行単位の数が同じであ
る必要はなく、或いは、各部分の実行単位の数は、一定
である必要もない。
実行単位の各々は、ディスクのデータ部分における対応
するデータ・ブロックの物理的位置(すなわち、アドレ
ス)によって分類される。同様に、古いログ部分321
ーaは、一組の領域(322ー1aから322ーNa)
で構成され、修正されたデータ・ブロックの分類された
実行単位の前のセットが記憶される。各部分における分
類された実行単位の数Nは、全体のログ部分320ーa
に割り当てられたディスク上の空間の量によって、任意
に決定される。各部分における実行単位の数が同じであ
る必要はなく、或いは、各部分の実行単位の数は、一定
である必要もない。
【0013】また、分類された実行単位におけるデータ
・ブロックが「修正された」データ・ブロックと呼ばれ
る一方、このフレーズ(phrase)は、これらのデータ・ブ
ロックがデータ部分に記憶された対応するデータ・ブロ
ックを永久に置き換えるということを意味している。そ
れ故、それらのうちの1つ又はいくつか又はすべてが置
き換えることを意図しているデータ・ブロックとは異な
るので、全て又は何れか1つが、異なるかあるいは実際
に修正される必要はない。図3は、フォルト・トレラン
ト・メモリ220が220ー1から220ーKの部分に
分割され、各部分が1つのディスクに割り当てられてい
ることを示している。図4は、ディスクaに関するフォ
ルト・トレラント・メモリ部分220ーaが更にいくつ
かの部分に分割されていることを示している。
・ブロックが「修正された」データ・ブロックと呼ばれ
る一方、このフレーズ(phrase)は、これらのデータ・ブ
ロックがデータ部分に記憶された対応するデータ・ブロ
ックを永久に置き換えるということを意味している。そ
れ故、それらのうちの1つ又はいくつか又はすべてが置
き換えることを意図しているデータ・ブロックとは異な
るので、全て又は何れか1つが、異なるかあるいは実際
に修正される必要はない。図3は、フォルト・トレラン
ト・メモリ220が220ー1から220ーKの部分に
分割され、各部分が1つのディスクに割り当てられてい
ることを示している。図4は、ディスクaに関するフォ
ルト・トレラント・メモリ部分220ーaが更にいくつ
かの部分に分割されていることを示している。
【0014】分類された実行単位が、1つの部分の領域
225ーaにおいてつくられ、分類された実行単位とし
て完了したときディスクの新しいログ部分に後で書かれ
る。フォルト・トレラント・メモリの230ーaのもう
ひとつの部分において、古いログ部分における各実行単
位の塊(叉は断片)がコピーされる。これらの塊は、2
30ー1aから230ーNaとラベルが付いた別々の領
域に記憶される。これらの塊は、マージされ、ディスク
310ーaのデータ部分上のホーム位置に適用されてい
る。LDISKサブシステムにおいて、2つの処理が並
行して行われる。図6及び図7に示す1つの処理におい
て、新しいディスク書込みは、フォルト・トレラント・
メモリに記憶される。それらは、物理的ディスク・ブロ
ック・アドレスに従って分類される。
225ーaにおいてつくられ、分類された実行単位とし
て完了したときディスクの新しいログ部分に後で書かれ
る。フォルト・トレラント・メモリの230ーaのもう
ひとつの部分において、古いログ部分における各実行単
位の塊(叉は断片)がコピーされる。これらの塊は、2
30ー1aから230ーNaとラベルが付いた別々の領
域に記憶される。これらの塊は、マージされ、ディスク
310ーaのデータ部分上のホーム位置に適用されてい
る。LDISKサブシステムにおいて、2つの処理が並
行して行われる。図6及び図7に示す1つの処理におい
て、新しいディスク書込みは、フォルト・トレラント・
メモリに記憶される。それらは、物理的ディスク・ブロ
ック・アドレスに従って分類される。
【0015】分類されたリストをメモリに保持する1つ
の方法は、トーナメント・ツリーに更新されるディスク
・アドレスのブロックを挿入することによる。これは例
えば、D.クヌース(Knuth) による「分類と検索、第3
巻(Sorting and Searching,Volume 3」という題名の本
(アヂソン・ウェスレイ出版)で教示されている。この
新しく分類された実行単位を記憶することに割り当てら
れたフォルト・トレラント・メモリの部分が一定の閾値
を越えて一杯になるとき、全実行単位は、ディスク30
0ーaの新しいログ部分325ーaの領域に書かれる
(図2参照)。図6を参照して、LDISKサブシステ
ムに、新しいディスク書込み要求がなされるとき(ステ
ップ510)、関連した新しい実行単位(図4に225
−aとしてラベルをつけられている)の作成に割り当て
られたフォルト・トレラント・メモリの領域が、ディス
クに書出し処理中かどうかのチェックが最初に行われる
(ブロック520)。
の方法は、トーナメント・ツリーに更新されるディスク
・アドレスのブロックを挿入することによる。これは例
えば、D.クヌース(Knuth) による「分類と検索、第3
巻(Sorting and Searching,Volume 3」という題名の本
(アヂソン・ウェスレイ出版)で教示されている。この
新しく分類された実行単位を記憶することに割り当てら
れたフォルト・トレラント・メモリの部分が一定の閾値
を越えて一杯になるとき、全実行単位は、ディスク30
0ーaの新しいログ部分325ーaの領域に書かれる
(図2参照)。図6を参照して、LDISKサブシステ
ムに、新しいディスク書込み要求がなされるとき(ステ
ップ510)、関連した新しい実行単位(図4に225
−aとしてラベルをつけられている)の作成に割り当て
られたフォルト・トレラント・メモリの領域が、ディス
クに書出し処理中かどうかのチェックが最初に行われる
(ブロック520)。
【0016】もしそうなら、書かれるべきブロックは、
図6のブロック560に示すように図4において226
ーaとラベルが付いた一時的書込み領域に記憶され、こ
の場合書込み要求に対する処理を終了する。図6のブロ
ック520におけるテストが否定(NO)ならば(すなわ
ち、分類された実行単位領域225ーaが、ディスクに
書出し処理中でない)、図6のブロック530に示すよ
うに、書込み要求を有するブロックが、フォルト・トレ
ラント・メモリの領域225ーaにつくられている分類
された実行単位に挿入される。この分野の技術知識を有
するものは、分類された実行単位を維持するための、ト
ーナメント・ツリー或いは群(heap)を作るといったよう
ないくつかの既知の方法があり、何れも使うことができ
る。
図6のブロック560に示すように図4において226
ーaとラベルが付いた一時的書込み領域に記憶され、こ
の場合書込み要求に対する処理を終了する。図6のブロ
ック520におけるテストが否定(NO)ならば(すなわ
ち、分類された実行単位領域225ーaが、ディスクに
書出し処理中でない)、図6のブロック530に示すよ
うに、書込み要求を有するブロックが、フォルト・トレ
ラント・メモリの領域225ーaにつくられている分類
された実行単位に挿入される。この分野の技術知識を有
するものは、分類された実行単位を維持するための、ト
ーナメント・ツリー或いは群(heap)を作るといったよう
ないくつかの既知の方法があり、何れも使うことができ
る。
【0017】書込みブロックを領域225ーaに挿入す
ることによって、そのサイズが所定の閾値に近くなれば
(図6のブロック540でテスト)、処理は分類された
実行単位を、図6のブロック550及び図7の全体で示
すように、ディスクに書き始める。それ以外の場合、書
込みに対する処理は、図6のブロック570に示すよう
に完了する。図7は、フォルトトレラント・メモリ(図
4参照)の領域225ーaから、ディスク(図2参照)
上の新しいログ部分325ーaに、実行単位を書き出す
処理を示している。先に述べたように、実行単位を書き
込む処理は、図6のブロック550で始まり、図7のブ
ロック610における事象のきっかけになる。
ることによって、そのサイズが所定の閾値に近くなれば
(図6のブロック540でテスト)、処理は分類された
実行単位を、図6のブロック550及び図7の全体で示
すように、ディスクに書き始める。それ以外の場合、書
込みに対する処理は、図6のブロック570に示すよう
に完了する。図7は、フォルトトレラント・メモリ(図
4参照)の領域225ーaから、ディスク(図2参照)
上の新しいログ部分325ーaに、実行単位を書き出す
処理を示している。先に述べたように、実行単位を書き
込む処理は、図6のブロック550で始まり、図7のブ
ロック610における事象のきっかけになる。
【0018】図7のブロック620に示すように、最初
にチェックが行われて、新しいログ部分325ーaがい
っぱい(すなわち、実行単位Nの所定の数を累算して)
であるかどうか判定する。もし「ノー」なら(すなわ
ち、新しいログ部分はいっぱいでない)、図7のブロッ
ク630に示すように、p番目の実行単位領域326ー
pa、1≦p≦N(図2参照)が選ばれ、フォルト・ト
レラント・メモリの領域225ーaにある分類された実
行単位領域が、ディスク上の領域326ーpaに書かれ
る。この書込みが完了したとき、フォルト・トレラント
・メモリの領域226ーaにおいて累算したブロック
は、(ディスクへの分類された実行単位の書込みがなさ
れている間)図7のブロック640に示すように、フォ
ルト・トレラント・メモリの領域225ーaにおける分
類された実行単位に挿入される。
にチェックが行われて、新しいログ部分325ーaがい
っぱい(すなわち、実行単位Nの所定の数を累算して)
であるかどうか判定する。もし「ノー」なら(すなわ
ち、新しいログ部分はいっぱいでない)、図7のブロッ
ク630に示すように、p番目の実行単位領域326ー
pa、1≦p≦N(図2参照)が選ばれ、フォルト・ト
レラント・メモリの領域225ーaにある分類された実
行単位領域が、ディスク上の領域326ーpaに書かれ
る。この書込みが完了したとき、フォルト・トレラント
・メモリの領域226ーaにおいて累算したブロック
は、(ディスクへの分類された実行単位の書込みがなさ
れている間)図7のブロック640に示すように、フォ
ルト・トレラント・メモリの領域225ーaにおける分
類された実行単位に挿入される。
【0019】この場合に関して、ブロック680に示す
ように、分類された実行単位をディスクに書く処理を完
了する。図7のブロック620において、テストの結果
が「イエス」であるならば(すなわち、新しいログ部分
325ーaがいっぱいである)、ブロック650におい
て、ディスクに対する古いログの(平行した)適用が完
了したかどうかのチェックがなされる。もし「ノー」な
ら、ブロック650及び660のループで示すように、
古いログ・アプリケーションが完了するまで、分類され
た実行単位の書込みは遅れる。この分野の技術知識を有
するものは、この遅れが他の実施オプションの間でセマ
フォ(semaphore)を使って達成できることが分かるであ
ろう。
ように、分類された実行単位をディスクに書く処理を完
了する。図7のブロック620において、テストの結果
が「イエス」であるならば(すなわち、新しいログ部分
325ーaがいっぱいである)、ブロック650におい
て、ディスクに対する古いログの(平行した)適用が完
了したかどうかのチェックがなされる。もし「ノー」な
ら、ブロック650及び660のループで示すように、
古いログ・アプリケーションが完了するまで、分類され
た実行単位の書込みは遅れる。この分野の技術知識を有
するものは、この遅れが他の実施オプションの間でセマ
フォ(semaphore)を使って達成できることが分かるであ
ろう。
【0020】代わりに、古いログ・アプリケーションが
完了する前に新しいログの書込みが始まるように、小さ
い予備の領域を使うことができる。図7のブロック67
0に示すように、古いログ・アプリケーションが完了す
ると、前の新しいログが古いログとなるように、新しい
ログ部分325ーa及び古いログ部分321ーaは交換
される。それから、先に述べたようにブロック630が
入れられ、分類された実行単位が新しいログ領域326
ーpaに書かれる。平行して、古いログ部分における各
実行単位の最初の断片(又は塊)が、領域230ーa
(図4)のメモリに読み込まれる。
完了する前に新しいログの書込みが始まるように、小さ
い予備の領域を使うことができる。図7のブロック67
0に示すように、古いログ・アプリケーションが完了す
ると、前の新しいログが古いログとなるように、新しい
ログ部分325ーa及び古いログ部分321ーaは交換
される。それから、先に述べたようにブロック630が
入れられ、分類された実行単位が新しいログ領域326
ーpaに書かれる。平行して、古いログ部分における各
実行単位の最初の断片(又は塊)が、領域230ーa
(図4)のメモリに読み込まれる。
【0021】領域230ーaへ読み込まれた各実行単位
の最初の塊は、分類における最下位(又は、最上位)の
順位を有する塊である。最初の塊(叉は断片)はまた、
ディスク300ーa(図2)のデータ部分310ーaか
ら読まれ、領域235ーa(図4)のフォルト・トレラ
ント・メモリに置かれる。また、データ部分310ーa
から読まれた最初の塊は、分類における最下位(又は、
最上位)の順位を有する塊である(それはまた、最下位
又は最上位の物理的位置やアドレスを有する塊であ
る)。領域230ーaにおいて塊によって代表されるデ
ィスクの更新はマージされ、更新の流れは、メモリ内の
塊又は領域235ーa(図4)に記憶されたデータ・ブ
ロックに、シーケンシャルに適用される。
の最初の塊は、分類における最下位(又は、最上位)の
順位を有する塊である。最初の塊(叉は断片)はまた、
ディスク300ーa(図2)のデータ部分310ーaか
ら読まれ、領域235ーa(図4)のフォルト・トレラ
ント・メモリに置かれる。また、データ部分310ーa
から読まれた最初の塊は、分類における最下位(又は、
最上位)の順位を有する塊である(それはまた、最下位
又は最上位の物理的位置やアドレスを有する塊であ
る)。領域230ーaにおいて塊によって代表されるデ
ィスクの更新はマージされ、更新の流れは、メモリ内の
塊又は領域235ーa(図4)に記憶されたデータ・ブ
ロックに、シーケンシャルに適用される。
【0022】領域235ーaにおいて、領域230ーa
における各塊からの適用可能な部分が、領域235ーa
におけるデータ・ブロックの塊に適用された後、領域2
35ーaにおいて更新された塊は、データ領域310ー
aへ書かれ、次のデータの塊が、データ領域235ーa
に読込まれる。次のデータの塊は、分類(及び物理的位
置やアドレス)の順序においてその次の塊である。1つ
の実行単位からの領域230ーaにおける塊が枯渇した
とき(すなわち、その塊における全ての修正されたデー
タ・ブロックが、その塊(又は領域235ーaの連続し
た塊)に適用されたとき)、入出力操作が開始され、デ
ィスクの古いログ部分321ーaからの実行単位から、
次の塊を検索する。次の塊は、分類の順序において常に
次の塊である。
における各塊からの適用可能な部分が、領域235ーa
におけるデータ・ブロックの塊に適用された後、領域2
35ーaにおいて更新された塊は、データ領域310ー
aへ書かれ、次のデータの塊が、データ領域235ーa
に読込まれる。次のデータの塊は、分類(及び物理的位
置やアドレス)の順序においてその次の塊である。1つ
の実行単位からの領域230ーaにおける塊が枯渇した
とき(すなわち、その塊における全ての修正されたデー
タ・ブロックが、その塊(又は領域235ーaの連続し
た塊)に適用されたとき)、入出力操作が開始され、デ
ィスクの古いログ部分321ーaからの実行単位から、
次の塊を検索する。次の塊は、分類の順序において常に
次の塊である。
【0023】上で概説された処理を、以下に更に詳細に
説明する。図8は、実行される動作のフロー・チャート
を示す。最初に、すべてのデータ領域が初期化される。
ブロック720に示すように、塊は、フォルト・トレラ
ント・メモリ部分230ーaの対応する領域に、古いロ
グ部分321ーaにおけるそれぞれの分類された実行単
位から読まれる。次に、ブロック730に示すように、
塊は同様に、フォルト・トレラント・メモリ領域235
ーaにディスクのデータ部分310ーaから読まれる。
ブロック740に示すように、各分類された実行単位の
塊からの更新は、データ領域235ーaにおける塊に適
用される。1つの分類された実行単位の塊が完了すれ
ば、ブロック750に示すように、同じ実行単位からの
もう1つの塊がディスクから読込まれて、それを置き換
える。
説明する。図8は、実行される動作のフロー・チャート
を示す。最初に、すべてのデータ領域が初期化される。
ブロック720に示すように、塊は、フォルト・トレラ
ント・メモリ部分230ーaの対応する領域に、古いロ
グ部分321ーaにおけるそれぞれの分類された実行単
位から読まれる。次に、ブロック730に示すように、
塊は同様に、フォルト・トレラント・メモリ領域235
ーaにディスクのデータ部分310ーaから読まれる。
ブロック740に示すように、各分類された実行単位の
塊からの更新は、データ領域235ーaにおける塊に適
用される。1つの分類された実行単位の塊が完了すれ
ば、ブロック750に示すように、同じ実行単位からの
もう1つの塊がディスクから読込まれて、それを置き換
える。
【0024】最終的に、すべての更新はデータ領域23
5ーaにおいて塊に適用される。それから、その塊は、
ブロック770に示すように、ディスクへ書かれる。も
しデータ部分が領域235ーaに完全に塊毎に書かれ
て、310ーaへコピーされれば、ブロック780に示
すように、出来上がりである。そうでない場合、ブロッ
ク730に示すように、データ領域310ーaから次の
塊をフォルト・トレラント記憶域235ーaに、データ
領域310ーaから次の塊を読み込んで続ける。ディス
クの新しいログ部分を書く処理は、ディスの新しいログ
部分の全てのディスク空間を使い尽すか、或いは、他の
処理によって1パスでメモリにマージされるよりも多く
の実行単位が生成されるとき、完結したとみなされる。
5ーaにおいて塊に適用される。それから、その塊は、
ブロック770に示すように、ディスクへ書かれる。も
しデータ部分が領域235ーaに完全に塊毎に書かれ
て、310ーaへコピーされれば、ブロック780に示
すように、出来上がりである。そうでない場合、ブロッ
ク730に示すように、データ領域310ーaから次の
塊をフォルト・トレラント記憶域235ーaに、データ
領域310ーaから次の塊を読み込んで続ける。ディス
クの新しいログ部分を書く処理は、ディスの新しいログ
部分の全てのディスク空間を使い尽すか、或いは、他の
処理によって1パスでメモリにマージされるよりも多く
の実行単位が生成されるとき、完結したとみなされる。
【0025】ディスクの古いログ部分をマージする処理
は、すべての実行単位のマージを完了したとき、終了し
たものとみなされる。両方の処理が終了したとき、古い
ログ部分と新しいログ部分は交換され、処理は再び全て
にわたって始まる。与えられたデータ・ブロックに対し
て、LDISKサブシステムが読取り要求を受け取る
と、ブロックの最新の値は、4つの異なる場所に存在し
得る。 1.依然として、図4における領域225ーaにつくら
れている新しい実行単位のフォルト・トレラント・メモ
リに存在し得る。 2.図2において325ーaとラベルをつけたディスク
の新しいログ部分に存在し得る。 3.図2において321ーaとラベルをつけたディスク
の古いログ部分に存在し得る。 4.最後に、データ・ブロックは最近の過去において更
新されず、ディスクのデータ領域部分、図2の310ー
a、に存在し得る。
は、すべての実行単位のマージを完了したとき、終了し
たものとみなされる。両方の処理が終了したとき、古い
ログ部分と新しいログ部分は交換され、処理は再び全て
にわたって始まる。与えられたデータ・ブロックに対し
て、LDISKサブシステムが読取り要求を受け取る
と、ブロックの最新の値は、4つの異なる場所に存在し
得る。 1.依然として、図4における領域225ーaにつくら
れている新しい実行単位のフォルト・トレラント・メモ
リに存在し得る。 2.図2において325ーaとラベルをつけたディスク
の新しいログ部分に存在し得る。 3.図2において321ーaとラベルをつけたディスク
の古いログ部分に存在し得る。 4.最後に、データ・ブロックは最近の過去において更
新されず、ディスクのデータ領域部分、図2の310ー
a、に存在し得る。
【0026】ディスクの各ブロックに対して指示を出す
メモリ内テーブル(図4において240ーaとラベルを
つけた)が保持され、そこにブロックの最新の値が存在
し、最新のコピーが見つけられるであろうディスク又は
メモリ・アドレスが存在する。このテーブルは、最新の
値の場所が変る度毎に更新される。読取りは、前段で概
説したメモリ内テーブルを使って必要なブロックが最近
更新されたかどうかに基づいて、ホーム・データ位置又
はログに向けられることに注意する必要がある(新しい
ログ領域又は古いログ領域叉は新しい実行単位領域)。
メモリ内テーブル(図4において240ーaとラベルを
つけた)が保持され、そこにブロックの最新の値が存在
し、最新のコピーが見つけられるであろうディスク又は
メモリ・アドレスが存在する。このテーブルは、最新の
値の場所が変る度毎に更新される。読取りは、前段で概
説したメモリ内テーブルを使って必要なブロックが最近
更新されたかどうかに基づいて、ホーム・データ位置又
はログに向けられることに注意する必要がある(新しい
ログ領域又は古いログ領域叉は新しい実行単位領域)。
【0027】従って、上記のシーケンシャルの読み込み
/書き込みは、ランダム読み込みを点在させることがで
きる。効率的シーケンシャル入出力のために、塊の中の
多数のブロックを一度に書き込み/読込みすることによ
って、ディスク・シークを償却(amortize)することが必
要である。例えば、これは数多くのトラック叉はシリン
ダであってよい。シーケンシャル入出力の効率とランダ
ム読取りの応答時間の間にトレードオフが存在する。本
発明による相対入出力レートと普通のディスクによる相
対入出力レートを比較してみる。λを入出力要求レー
ト、wを書込みの部分であるとする。
/書き込みは、ランダム読み込みを点在させることがで
きる。効率的シーケンシャル入出力のために、塊の中の
多数のブロックを一度に書き込み/読込みすることによ
って、ディスク・シークを償却(amortize)することが必
要である。例えば、これは数多くのトラック叉はシリン
ダであってよい。シーケンシャル入出力の効率とランダ
ム読取りの応答時間の間にトレードオフが存在する。本
発明による相対入出力レートと普通のディスクによる相
対入出力レートを比較してみる。λを入出力要求レー
ト、wを書込みの部分であるとする。
【0028】ディスク上の1回のランダム要求にかかる
時間をtranとする。tL seqを、ログ(いくつかのトラ
ックの書込みに対して償却された)に1ブロックを書込
むために必要な1ブロック当たりの平均時間とする。t
D seqを、分類され、更新されたブロックをホーム位置に
書き戻すために必要とされる1ブロック当たりの平均の
時間とする。平均のディスク・ユーティライゼーション
は、式1で与えられる。
時間をtranとする。tL seqを、ログ(いくつかのトラ
ックの書込みに対して償却された)に1ブロックを書込
むために必要な1ブロック当たりの平均時間とする。t
D seqを、分類され、更新されたブロックをホーム位置に
書き戻すために必要とされる1ブロック当たりの平均の
時間とする。平均のディスク・ユーティライゼーション
は、式1で与えられる。
【0029】
【数1】 上の式において、第1項は書き込みへの適用に対応し、
第2項はランダム読取りをすることに対応する。各論理
的書込みは、3回の入出力オペレーションに対応する。
すなわち、新しく更新されたブロックをログに書き、ロ
グからそれを読み(マージのため)、それをホーム位置
に適用する。この場合、
第2項はランダム読取りをすることに対応する。各論理
的書込みは、3回の入出力オペレーションに対応する。
すなわち、新しく更新されたブロックをログに書き、ロ
グからそれを読み(マージのため)、それをホーム位置
に適用する。この場合、
【0030】
【数2】 ここで、償却トラックは、一度に書き込まれるトラック
の数である。また、
の数である。また、
【0031】
【数3】 ここで、Ddataは、データに対して使われたディスクの
部分であり、Dlognewは、ログの新しい部分に対して使
われたディスクの部分である。本発明を使用しないディ
スクに関して、ディスク・ユーティライゼーションは、
Unormal disk=λ×tranで与えられる。2つの構成に
おける特定のトランザクション負荷をサポートするのに
必要なディスクの数の比率は、Unormal disk/U
ourmethod diskである。
部分であり、Dlognewは、ログの新しい部分に対して使
われたディスクの部分である。本発明を使用しないディ
スクに関して、ディスク・ユーティライゼーションは、
Unormal disk=λ×tranで与えられる。2つの構成に
おける特定のトランザクション負荷をサポートするのに
必要なディスクの数の比率は、Unormal disk/U
ourmethod diskである。
【0032】ここで、Unormal diskは、通常のディスク
・システムの場合であり、Uourmet hod diskは、本発明
によるディスク・システムの場合である。典型的パラメ
ータ値tran=28ms、償却トラック=5、1トラッ
クあたりのブロック=8、thea d switch=1.0m
s、ttrack write=16ms、tseek=18ms、を
使って、tL seq=2.5msを得る。ディスクの半分が
データのため、残りの半分がログのために使われると仮
定すると、tD seq=2 × tL seq=5.1msとな
る。2つの構成における特定のトランザクション負荷を
サポートするのに必要なディスクの数の比率は、 Unormal disk/Uourmethod disk=28/((1ーw)
×28+w×10.2) となり、w=0.5に対して、比率は1.47である。
・システムの場合であり、Uourmet hod diskは、本発明
によるディスク・システムの場合である。典型的パラメ
ータ値tran=28ms、償却トラック=5、1トラッ
クあたりのブロック=8、thea d switch=1.0m
s、ttrack write=16ms、tseek=18ms、を
使って、tL seq=2.5msを得る。ディスクの半分が
データのため、残りの半分がログのために使われると仮
定すると、tD seq=2 × tL seq=5.1msとな
る。2つの構成における特定のトランザクション負荷を
サポートするのに必要なディスクの数の比率は、 Unormal disk/Uourmethod disk=28/((1ーw)
×28+w×10.2) となり、w=0.5に対して、比率は1.47である。
【0033】1トラック当たりのブロック数が2倍とな
り、16ブロック/トラックと仮定すると、比率は1.
69である。w=0.5によって可能な最高の比率が2
であるということに注意されたい。メモリ・バッファが
大きくなるにつれて、ディスクに見られるように、読取
りに対する書込みの比率が増加すると示唆されている。
従って、w=1を考慮し多限界では、比率は11とな
る。シーケンシャル読取りに関して、データの大部分
は、ディスクのデータ部分に対するシーケンシャル読取
りによって見つけられる。しかし、データ部分に「隙間
(hole)」があると、ディスクのログ部分に対するランダ
ム読取りが起こる。ディスクのログ部分が大きければ大
きいほど、ランダム書込みに対する本発明の構成は、よ
り効率的である。
り、16ブロック/トラックと仮定すると、比率は1.
69である。w=0.5によって可能な最高の比率が2
であるということに注意されたい。メモリ・バッファが
大きくなるにつれて、ディスクに見られるように、読取
りに対する書込みの比率が増加すると示唆されている。
従って、w=1を考慮し多限界では、比率は11とな
る。シーケンシャル読取りに関して、データの大部分
は、ディスクのデータ部分に対するシーケンシャル読取
りによって見つけられる。しかし、データ部分に「隙間
(hole)」があると、ディスクのログ部分に対するランダ
ム読取りが起こる。ディスクのログ部分が大きければ大
きいほど、ランダム書込みに対する本発明の構成は、よ
り効率的である。
【0034】しかしながら、大きなログ部分は、データ
部分に多数の「隙間」があることを意味し、必然的にシ
ーケンシャル読取りに対するパフォーマンスの低下を意
味する。ディスク・ドライバのインターフェースが変わ
り、ブロック読取りの順序が重要でないならば(例え
ば、テーブル空間スキャンにおいて)、ディスクのデー
タ部分をシーケンシャルに走査し、「隙間」を後からを
読むことができる。もう1つのオプションは、データ部
分がデータの古いバージョンで、一方新しいバージョン
はデータとログ部分の組合せであるというバージョン構
成を考慮することである。
部分に多数の「隙間」があることを意味し、必然的にシ
ーケンシャル読取りに対するパフォーマンスの低下を意
味する。ディスク・ドライバのインターフェースが変わ
り、ブロック読取りの順序が重要でないならば(例え
ば、テーブル空間スキャンにおいて)、ディスクのデー
タ部分をシーケンシャルに走査し、「隙間」を後からを
読むことができる。もう1つのオプションは、データ部
分がデータの古いバージョンで、一方新しいバージョン
はデータとログ部分の組合せであるというバージョン構
成を考慮することである。
【0035】RAIDへの応用:低価格ディスクの冗長
アレイ体系(RAID)において、パリティ情報が計算
され、ディスクのエラーが起こると、そのディスク上の
情報が他のディスクから再生できるような方法で記憶さ
れる。このような構成は例えば、D.パターソン、G.
ギブソン、R.カッツによる「低価格ディスクの冗長ア
レイに関する事例(A Case for Redundant Arrays of In
expensive Disks)」ー1988年のSIGMOD会議の
議事録、に記述されている。本発明がそのままRAID
構成に適用されるならば、パフォーマンスは極めて悪い
であろう。上で示したように、そのまま適用すること
は、各ディスクにログ部分を備え、パリティ・ストライ
プ構成に従って配置されたストライプの中の対応するブ
ロックに対するパリティを備えたC個のディスクを持つ
であろう。
アレイ体系(RAID)において、パリティ情報が計算
され、ディスクのエラーが起こると、そのディスク上の
情報が他のディスクから再生できるような方法で記憶さ
れる。このような構成は例えば、D.パターソン、G.
ギブソン、R.カッツによる「低価格ディスクの冗長ア
レイに関する事例(A Case for Redundant Arrays of In
expensive Disks)」ー1988年のSIGMOD会議の
議事録、に記述されている。本発明がそのままRAID
構成に適用されるならば、パフォーマンスは極めて悪い
であろう。上で示したように、そのまま適用すること
は、各ディスクにログ部分を備え、パリティ・ストライ
プ構成に従って配置されたストライプの中の対応するブ
ロックに対するパリティを備えたC個のディスクを持つ
であろう。
【0036】この方法に関する問題は、ログが各ディス
ク上にシーケンシャルに書かれるが、各ログの書込み
は、ランダム・パリティ読み・書きサイクル(に近い)
に関与するということである。解決策は、上に引用した
記事で、D.パターソン等によって記述されたRAID
‐5設計にあるように、ログをストライプの中にインタ
ーリーブ(interleave)させることである。この場合、イ
ンターリーブは、トラックのレベルであり、ストライプ
上のC個のトラックで事前に計算され、ストライプ全体
に対して1回書かれた新しいパリティであり、パリティ
の書き込みをシーケンシャルにする。全てのディスクに
対するログの更新を記憶するために、1つのログ領域が
使われ、このログ領域は、全てのディスクに対してイン
ターリーブされる。
ク上にシーケンシャルに書かれるが、各ログの書込み
は、ランダム・パリティ読み・書きサイクル(に近い)
に関与するということである。解決策は、上に引用した
記事で、D.パターソン等によって記述されたRAID
‐5設計にあるように、ログをストライプの中にインタ
ーリーブ(interleave)させることである。この場合、イ
ンターリーブは、トラックのレベルであり、ストライプ
上のC個のトラックで事前に計算され、ストライプ全体
に対して1回書かれた新しいパリティであり、パリティ
の書き込みをシーケンシャルにする。全てのディスクに
対するログの更新を記憶するために、1つのログ領域が
使われ、このログ領域は、全てのディスクに対してイン
ターリーブされる。
【0037】ディスクのデータ部分の分類は、引き続い
てディスク毎に順序づけることができる。しかし分類さ
れたログをディスクに適用する間、依然としてパリティ
のランダム書込みを起こす。従って、望ましい解決策
は、RAID‐5のディスクをN倍のサイズのディスク
としてインターリーブさせることであり、上に引用した
パターソンの記事におけると同様、データを複数のディ
スクに対してインタリーブさせることである。この場
合、分類順序は、ディスク間にインターリーブした順序
となる。すなわち、トラック1ディスク1、トラック1
ディスク2、トラック1ディスクN、トラック2ディス
ク1、等々。
てディスク毎に順序づけることができる。しかし分類さ
れたログをディスクに適用する間、依然としてパリティ
のランダム書込みを起こす。従って、望ましい解決策
は、RAID‐5のディスクをN倍のサイズのディスク
としてインターリーブさせることであり、上に引用した
パターソンの記事におけると同様、データを複数のディ
スクに対してインタリーブさせることである。この場
合、分類順序は、ディスク間にインターリーブした順序
となる。すなわち、トラック1ディスク1、トラック1
ディスク2、トラック1ディスクN、トラック2ディス
ク1、等々。
【0038】この順位付けによって、分類されたログを
ディスクのデータ部分に適用している間に、パリティが
事前に計算され得る。上述の方法によって、全ての書込
みは、配列されたディスクのストライプに対するシーケ
ンシャル書込みに変換される。この場合、上述の構成を
使っているRAIDー5及びRAIDー4の間にパフォ
ーマンス上の差はない。(これは、パリティが事前に計
算され、ストライプにおける各データの書込みに対して
1回だけパリティ書込みを必要とするためである。)上
述の構成は、図5に示されている。C個のディスクがア
レイ状になっている。各ディスクは、3つの部分に分割
されている。データ部分、古いログ部分、及び新しいロ
グ部分である。図5は、各ディスクがトラックに分割さ
れていることを示している。
ディスクのデータ部分に適用している間に、パリティが
事前に計算され得る。上述の方法によって、全ての書込
みは、配列されたディスクのストライプに対するシーケ
ンシャル書込みに変換される。この場合、上述の構成を
使っているRAIDー5及びRAIDー4の間にパフォ
ーマンス上の差はない。(これは、パリティが事前に計
算され、ストライプにおける各データの書込みに対して
1回だけパリティ書込みを必要とするためである。)上
述の構成は、図5に示されている。C個のディスクがア
レイ状になっている。各ディスクは、3つの部分に分割
されている。データ部分、古いログ部分、及び新しいロ
グ部分である。図5は、各ディスクがトラックに分割さ
れていることを示している。
【0039】ディスクのデータ部分は、400ー1ー
1、次に400ー2ー1、次に400ー3ー1、・・・
400ーC−1次に400ー1ー2等々。従って、RA
IDアレイは、各部分のデータがストライプされ、トラ
ック・レベルでインターリーブされた、1つの大きなデ
ィスクと考えられる。本発明について、特に望ましい具
体化を参照して記述したけれども、この分野の技術知識
を有する者は、本発明の精神と範囲を逸脱することな
く、形式と詳しさにおける種々の変化がなされ得ること
が分かるであろう。
1、次に400ー2ー1、次に400ー3ー1、・・・
400ーC−1次に400ー1ー2等々。従って、RA
IDアレイは、各部分のデータがストライプされ、トラ
ック・レベルでインターリーブされた、1つの大きなデ
ィスクと考えられる。本発明について、特に望ましい具
体化を参照して記述したけれども、この分野の技術知識
を有する者は、本発明の精神と範囲を逸脱することな
く、形式と詳しさにおける種々の変化がなされ得ること
が分かるであろう。
【0040】
【発明の効果】ランダム・ディスクの入出力を大部分シ
ーケンシャル入出力に変換することによって、ランダム
・ディスクに対する入出力の向上したパフォーマンスを
有するディスク・サブシステムを提供することができ、
ディスク上のデータの物理的クラスタリングを維持する
ことできる(すなわち、ディスク上のデータが単に更新
されたという理由で、永久にディスク上の別の物理的位
置に再配置されることはないということである)。また
更に本発明によって、ディスク又はのプロセッサの故障
から回復することができる高性能ディスク・サブシステ
ムを提供することができる。
ーケンシャル入出力に変換することによって、ランダム
・ディスクに対する入出力の向上したパフォーマンスを
有するディスク・サブシステムを提供することができ、
ディスク上のデータの物理的クラスタリングを維持する
ことできる(すなわち、ディスク上のデータが単に更新
されたという理由で、永久にディスク上の別の物理的位
置に再配置されることはないということである)。また
更に本発明によって、ディスク又はのプロセッサの故障
から回復することができる高性能ディスク・サブシステ
ムを提供することができる。
【図1】本発明の望ましい具体化の総体的ブロック・ダ
イヤグラムである。
イヤグラムである。
【図2】本発明による1つのディスクの望ましい構成を
示し、ディスクが論理上どのようにデータ部分とログ部
分に各々組織されるかを示す図である。
示し、ディスクが論理上どのようにデータ部分とログ部
分に各々組織されるかを示す図である。
【図3】フォルト・トレラント・メモリにおいてデータ
がどのように異なるディスクに対して組織されているか
を示す図である。
がどのように異なるディスクに対して組織されているか
を示す図である。
【図4】フォルト・トレラント・メモリにおいてデータ
がどのように1つのディスクに関して組織されているか
を示す図である。
がどのように1つのディスクに関して組織されているか
を示す図である。
【図5】本発明がどのようにRAIDに適用されるかを
示し、RAIDディスクがどのようにしてデータ部分と
ログ部分に論理上組織されるかを示す図である。
示し、RAIDディスクがどのようにしてデータ部分と
ログ部分に論理上組織されるかを示す図である。
【図6】書き込み要求を受け取ったとき、関与するステ
ップを示すフロー・チャート。
ップを示すフロー・チャート。
【図7】フォルト・トレラント・メモリにおいて分類さ
れた実行単位をディスク上の新しいログ領域に書くこと
に関与するステップを示すフロー・チャートである。
れた実行単位をディスク上の新しいログ領域に書くこと
に関与するステップを示すフロー・チャートである。
【図8】古いログ領域をディスクのデータ部分に適用す
ることに関与するステップを示すフロー・チャートであ
る。
ることに関与するステップを示すフロー・チャートであ
る。
100 中央処理装置 200 入出力プロセッサ 210 プロセッサ 220 フォルト・トレラント・メモリ
フロントページの続き (72)発明者 ダニエル マヌエル ヂアス アメリカ合衆国 10541 ニューヨーク州 マホパック パイク プレース 16
Claims (14)
- 【請求項1】 ディスク・システムが、コンピュータ・
システムのためにディジタル情報のデータ・ブロックを
記憶し、上記ディスク・システムが上記コンピュータ・
システムに対して上記コンピュータ・システムによって
要求される上記データ・ブロックのコピーを提供し、上
記コンピュータ・システムが上記たディスク・システム
に対して、上記ディスク・システムによって提供された
少くともいくつかの上記データ・ブロックの修正された
バージョンを提供し、上記ディスク・システムが、上記
コンピュータ・システムによって提供された上記修正さ
れたデータ・ブロックに対応する記憶されたデータ・ブ
ロックを、上記修正されたデータ・ブロックで置き換え
るコンピュータ・システムにおいて、 データ領域が、上記データ・ブロックの永久記憶のため
に使われ、上記各データ・ブロックが、上記データ領域
に物理的ホーム位置を有する、データ領域及びログ領域
に論理的に分割されたディスク記憶手段と、 フォルト・トレラント・メモリを有し、上記コンピュー
タ・システムによって提供された上記修正されたデータ
・ブロックを上記フォルト・トレラント・メモリに一時
的に記憶する上記ディスク記憶手段のための制御装置
と、 上記修正されたデータ・ブロックを、上記提供された修
正データ・ブロックの上記物理的位置に従って分類して
修正されたデータ・ブロックの分類された実行単位を生
成し、上記分類された実行単位を、一時的に上記ディス
ク記憶手段の上記ログ領域に記憶する上記制御装置内の
手段と、 上記ディスク記憶手段の上記ログ領域に一時的に記憶さ
れた上記分類された実行単位を読み込み、上記ディスク
記憶手段の上記データ領域におけるデータ・ブロック
を、上記分類された実行単位で更新する上記制御装置内
の手段と、を備え、上記データ領域における上記データ
・ブロックが、上記コンピュータ・システムによって、
おそらくランダムな順序で提供される上記修正されたデ
ータ・ブロックによって、上記データ領域における上記
データ・ブロックの物理的順序に従って更新されるディ
スク・システム。 - 【請求項2】 上記分類手段が、修正されたデータ・ブ
ロックの連続的に分類された実行単位を生成し、多数の
上記連続的に分類された実行単位が、上記ディスク記憶
手段の上記ログ領域に一時的に記憶される請求項1に記
載のディスク・システム。 - 【請求項3】 上記制御装置が、上記ディスク記憶手段
の上記ログ領域に一時的に記憶した多数の上記分類され
た実行単位をマージし、上記ディスク記憶手段における
上記データ領域の上記データ・ブロックを、上記マージ
された多数の実行単位によって、上記データ領域の上記
データ・ブロックの上記物理的ホーム位置に対応する順
序で更新する手段と、を備えた請求項2に記載のディス
ク・システム。 - 【請求項4】 上記制御装置が、上記フォルト・トレラ
ント・メモリに、上記コンピュータ・システムによって
要求されたデータ・ブロックが、上記ディスク・システ
ムによって上記フォルト・トレラント・メモリか叉は上
記ログ領域に一時的に記憶された修正されたデータ・ブ
ロックに対応するかどうか及び、まだ上記データ領域に
更新されていないことを判定するためのテーブルを備え
た請求項1に記載のディスク・システム。 - 【請求項5】 上記テーブルが、上記ディスク・システ
ムに記憶された上記データ・ブロックの最新のコピー
の、上記ディスク・システムにおける位置を追跡する請
求項4に記載のディスク・システム。 - 【請求項6】 上記制御装置が、上記コンピュータ・シ
ステムによって要求され、上記ディスク・システムによ
って記憶されたデータ・ブロックの最新のコピーを検索
する手段を備えた請求項4に記載のディスク・システ
ム。 - 【請求項7】 上記ディスク記憶手段が、多数のディジ
タル記憶ディスクから構成された請求項1に記載のディ
スク・システム。 - 【請求項8】 上記ディジタル記憶ディスクの各々が、
論理的にデータ部分及びログ部分に分割され、上記ディ
スク記憶手段の上記データ領域が、全ての上記データ部
分を含み、上記ディスク記憶手段の上記ログ領域が、全
ての上記ログ部分を含む、請求項7に記載のディスク・
システム。 - 【請求項9】 上記ディスク記憶手段及び制御装置が、
上記データ領域が多数のディジタル記憶ディスクに対し
てインターリーブされ、上記ログ領域もまた、多数のデ
ィジタル記憶ディスクに対してインターリーブされる、
RAID‐5システムを備えた請求項1に記載のディス
ク・システム。 - 【請求項10】 上記インターリーブされたデータ領域
及びインターリーブされたログ領域が、トラック・レベ
ルでインターリーブされる請求項9に記載のディスク・
システム。 - 【請求項11】 上記読み込み及び更新の手段が、上記
データ・ブロックを上記データ領域から上記フォルト・
トレラント・メモリに一度に1つの塊でコピーし、上記
フォルト・トレラント・メモリにおいて上記塊を更新
し、次に上記更新された塊を上記データ領域にコピー・
バックする請求項9に記載のディスク・システム。 - 【請求項12】 デジタル情報のデータ・ブロックをデ
ィスク記憶域に記憶し、上記ディスク記憶域がコンピュ
ータ・システムに対して上記コンピュータ・システムに
よって要求される上記データ・ブロックのコピーを提供
し、上記コンピュータ・システムが上記ディスク記憶域
に対して、上記ディスク記憶域によって提供された少く
ともいくつかの上記データ・ブロックの修正されたバー
ジョンを提供し、上記ディスク記憶域が、上記コンピュ
ータ・システムによって提供された上記修正されたデー
タ・ブロックに対応する記憶されたデータ・ブロック
を、上記修正されたデータ・ブロックで置き換えるコン
ピュータ・システムにおいて、 上記データ領域が、上記コンピュータ・システムのため
の上記データ・ブロックの永久記憶のために使われ、各
上記データ・ブロックが、上記データ領域に物理的ホー
ム位置を有するように、上記ディスク記憶域を、論理的
にデータ領域及びログ領域に分割するステップと、 上記コンピュータ・システムによって提供される修正さ
れたデータ・ブロックを、一時的に上記ディスク記憶域
に対する制御装置のフォルト・トレラント・メモリに記
憶するステップと、 上記提供された修正データ・ブロックを、上記提供され
た修正データ・ブロックに対応する上記データ・ブロッ
クの上記データ領域における物理的ホーム位置に従って
分類して、修正されたデータ・ブロックの分類された実
行単位を生成し、上記分類された実行単位を上記ログ領
域に一時的に記憶するステップと、 上記ログ領域に一時的に記憶された上記分類された実行
単位を読み込み、上記データ領域の上記データ・ブロッ
クを上記分類された実行単位で更新するステップと、か
ら成り、上記データ領域における上記データ・ブロック
が、上記コンピュータ・システムによって、おそらくラ
ンダムな順序で提供される上記修正されたデータ・ブロ
ックによって、上記データ領域における上記データ・ブ
ロックの物理的順序に従って更新されることを特徴とす
るディスク・システムのデータ記憶方法。 - 【請求項13】 上記分類するステップが、修正された
データ・ブロックの連続的に分類された実行単位を生成
し、多数の上記連続的に分類された実行単位が、上記デ
ィスク記憶手段の上記ログ領域に一時的に記憶されるこ
とを特徴とする請求項12に記載のディスク・システム
のデータ記憶方法。 - 【請求項14】 上記ディスク記憶手段の上記ログ領域
に一時的に記憶した多数の上記分類された実行単位をマ
ージし、上記ディスク記憶手段の上記データ領域の上記
データ・ブロックを、上記マージされた多数の分類され
た実行単位によって、上記データ領域の上記データ・ブ
ロックの上記物理的ホーム位置に対応する順序で更新す
るステップから成る請求項13に記載のディスク・シス
テムのデータ記憶方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/036,636 | 1993-03-24 | ||
| US08/036,636 US5557770A (en) | 1993-03-24 | 1993-03-24 | Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06324817A true JPH06324817A (ja) | 1994-11-25 |
| JP2784430B2 JP2784430B2 (ja) | 1998-08-06 |
Family
ID=21889749
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6049991A Expired - Fee Related JP2784430B2 (ja) | 1993-03-24 | 1994-02-24 | ディスク・サブシステム及びそのデータ記憶方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5557770A (ja) |
| EP (1) | EP0617358A1 (ja) |
| JP (1) | JP2784430B2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007012139A (ja) * | 2005-06-29 | 2007-01-18 | Hitachi Global Storage Technologies Netherlands Bv | データ書き込み方法及びディスク装置 |
| JP2012503250A (ja) * | 2008-09-19 | 2012-02-02 | マイクロソフト コーポレーション | データ・ストアへの書き込みトラフィックの統合 |
| 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 |
Families Citing this family (81)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3745398B2 (ja) * | 1994-06-17 | 2006-02-15 | 富士通株式会社 | ファイルのディスクブロック制御方式 |
| US5815649A (en) * | 1995-10-20 | 1998-09-29 | Stratus Computer, Inc. | Distributed fault tolerant digital data storage subsystem for fault tolerant computer system |
| US6067635A (en) * | 1995-10-27 | 2000-05-23 | Lsi Logic Corporation | Preservation of data integrity in a raid storage device |
| US5802344A (en) * | 1995-11-03 | 1998-09-01 | International Business Machines Corporation | Method and apparatus for dynamic segment allocation in log structured arrays |
| US5737577A (en) * | 1996-08-12 | 1998-04-07 | Digital Video Systems, Inc. | Complementary block storage for breater minimumdata transfer rate |
| US6021408A (en) * | 1996-09-12 | 2000-02-01 | Veritas Software Corp. | Methods for operating a log device |
| CN1126102C (zh) | 1996-11-18 | 2003-10-29 | 皇家菲利浦电子有限公司 | 写入装置、写入信息块的方法以及用于读出信息块的读出装置 |
| 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 |
| US6016553A (en) * | 1997-09-05 | 2000-01-18 | Wild File, Inc. | Method, software and apparatus for saving, using and recovering data |
| US6105103A (en) * | 1997-12-19 | 2000-08-15 | Lsi Logic Corporation | Method for mapping in dynamically addressed storage subsystems |
| US6658417B1 (en) | 1997-12-31 | 2003-12-02 | International Business Machines Corporation | Term-based methods and apparatus for access to files on shared storage devices |
| US6732293B1 (en) | 1998-03-16 | 2004-05-04 | Symantec Corporation | Method, software and apparatus for recovering and recycling data in conjunction with an operating system |
| US6289415B1 (en) * | 1998-12-23 | 2001-09-11 | At&T Corporation | System and method for storage media group parity protection |
| US7055055B1 (en) | 1999-04-23 | 2006-05-30 | Symantec Corporation | Write cache flushing method for reducing data corruption |
| US6408314B1 (en) | 1999-07-06 | 2002-06-18 | Synscort Incorporated | Method of performing a high-performance sort which gains efficiency by reading input file blocks sequentially |
| US6415300B1 (en) | 1999-07-06 | 2002-07-02 | Syncsort Incorporated | Method of performing a high-performance backup which gains efficiency by reading input file blocks sequentially |
| US7051055B1 (en) | 1999-07-09 | 2006-05-23 | Symantec Corporation | Optimized disk storage defragmentation with swapping capabilities |
| AU6081200A (en) * | 1999-07-09 | 2001-01-30 | Eric D. Schneider | Optimized disk storage defragmentation with swapping capabilities |
| US6513093B1 (en) | 1999-08-11 | 2003-01-28 | International Business Machines Corporation | High reliability, high performance disk array storage system |
| JP4131894B2 (ja) * | 2000-02-29 | 2008-08-13 | 株式会社東芝 | ランダムディスクライトに好適なディスク制御機構 |
| US6802022B1 (en) | 2000-04-14 | 2004-10-05 | Stratus Technologies Bermuda Ltd. | Maintenance of consistent, redundant mass storage images |
| US6901481B2 (en) | 2000-04-14 | 2005-05-31 | Stratus Technologies Bermuda Ltd. | Method and apparatus for storing transactional information in persistent memory |
| US6862689B2 (en) | 2001-04-12 | 2005-03-01 | Stratus Technologies Bermuda Ltd. | Method and apparatus for managing session information |
| GB0022131D0 (en) * | 2000-09-09 | 2000-10-25 | Ibm | Data sorting in information storage systems |
| US7587428B2 (en) * | 2000-10-13 | 2009-09-08 | Microsoft Corporation | Maintaining a relationship between two different items of data |
| US7689560B2 (en) | 2000-10-13 | 2010-03-30 | Miosoft Corporation | Persistent data storage techniques |
| US6948010B2 (en) | 2000-12-20 | 2005-09-20 | Stratus Technologies Bermuda Ltd. | Method and apparatus for efficiently moving portions of a memory block |
| US6886171B2 (en) * | 2001-02-20 | 2005-04-26 | Stratus Technologies Bermuda Ltd. | Caching for I/O virtual address translation and validation using device drivers |
| US6766413B2 (en) | 2001-03-01 | 2004-07-20 | Stratus Technologies Bermuda Ltd. | Systems and methods for caching with file-level granularity |
| US6874102B2 (en) | 2001-03-05 | 2005-03-29 | Stratus Technologies Bermuda Ltd. | Coordinated recalibration of high bandwidth memories in a multiprocessor computer |
| US6996750B2 (en) | 2001-05-31 | 2006-02-07 | Stratus Technologies Bermuda Ltd. | Methods and apparatus for computer bus error termination |
| US7047379B2 (en) * | 2003-07-11 | 2006-05-16 | International Business Machines Corporation | Autonomic link optimization through elimination of unnecessary transfers |
| US7251691B2 (en) * | 2003-07-11 | 2007-07-31 | International Business Machines Corporation | Autonomic predictive load balancing of output transfers for two peer computers for data storage applications |
| US7584264B2 (en) * | 2003-08-19 | 2009-09-01 | Google Inc. | Data storage and retrieval systems and related methods of storing and retrieving data |
| US7409587B2 (en) | 2004-08-24 | 2008-08-05 | Symantec Operating Corporation | Recovering from storage transaction failures using checkpoints |
| US7296008B2 (en) | 2004-08-24 | 2007-11-13 | Symantec Operating Corporation | Generation and use of a time map for accessing a prior image of a storage device |
| US7730222B2 (en) | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
| US7577806B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
| US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
| US7631120B2 (en) | 2004-08-24 | 2009-12-08 | Symantec Operating Corporation | Methods and apparatus for optimally selecting a storage buffer for the storage of data |
| US7827362B2 (en) | 2004-08-24 | 2010-11-02 | Symantec Corporation | Systems, apparatus, and methods for processing I/O requests |
| US7577807B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Methods and devices for restoring a portion of a data store |
| US7287133B2 (en) | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
| US7239581B2 (en) | 2004-08-24 | 2007-07-03 | Symantec Operating Corporation | Systems and methods for synchronizing the internal clocks of a plurality of processor modules |
| US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
| US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
| US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
| US7243201B2 (en) * | 2004-07-22 | 2007-07-10 | International Business Machines Corporation | Application-based commit for local storage subsystems and remote storage subsystems |
| US7949665B1 (en) * | 2004-11-19 | 2011-05-24 | Symantec Corporation | Rapidly traversing disc volumes during file content examination |
| CN100373318C (zh) * | 2004-12-30 | 2008-03-05 | 英业达股份有限公司 | 资料存储单元失效状况响应处理方法及系统 |
| US7360112B2 (en) * | 2005-02-07 | 2008-04-15 | International Business Machines Corporation | Detection and recovery of dropped writes in storage devices |
| GB0507912D0 (en) * | 2005-04-20 | 2005-05-25 | Ibm | Disk drive and method for protecting data writes in a disk drive |
| US7506116B2 (en) * | 2005-07-19 | 2009-03-17 | International Business Machines Corporation | Maintaining and using information on updates to a data group after a logical copy is made of the data group |
| US7567966B2 (en) * | 2005-09-15 | 2009-07-28 | International Business Machines Corporation | Method and apparatus for managing multi-stream input/output requests in a network file server |
| CN101313279A (zh) | 2005-10-14 | 2008-11-26 | 塞门铁克操作公司 | 一种在数据存储器中用于时间线压缩的技术 |
| US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
| JP2007188341A (ja) * | 2006-01-13 | 2007-07-26 | Hitachi Ltd | 記憶デバイス制御装置 |
| US7571292B2 (en) | 2006-03-21 | 2009-08-04 | International Business Machines Corporation | Producing tertiary instant virtual copies without volume suspension |
| US7707356B2 (en) * | 2006-09-28 | 2010-04-27 | Agere Systems Inc. | Method and apparatus for scheduling disk read requests |
| US8219749B2 (en) | 2007-04-27 | 2012-07-10 | Netapp, Inc. | System and method for efficient updates of sequential block storage |
| US7882304B2 (en) * | 2007-04-27 | 2011-02-01 | Netapp, Inc. | System and method for efficient updates of sequential block storage |
| US7913075B2 (en) * | 2007-07-03 | 2011-03-22 | Pmc-Sierra, Inc. | Systems and methods for automatic provisioning of storage and operating system installation from pre-existing iSCSI target |
| US8631203B2 (en) | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
| US8151068B2 (en) | 2008-02-04 | 2012-04-03 | Microsoft Corporation | Data copy management for faster reads |
| US8725986B1 (en) | 2008-04-18 | 2014-05-13 | Netapp, Inc. | System and method for volume block number to disk block number mapping |
| US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
| US8943357B2 (en) * | 2008-10-27 | 2015-01-27 | Kaminario Technologies Ltd. | System and methods for RAID writing and asynchronous parity computation |
| CN101876949B (zh) * | 2009-11-30 | 2012-04-25 | 威盛电子股份有限公司 | 数据储存系统与方法 |
| US9396067B1 (en) * | 2011-04-18 | 2016-07-19 | American Megatrends, Inc. | I/O accelerator for striped disk arrays using parity |
| US8494674B2 (en) | 2011-08-24 | 2013-07-23 | International Business Machines Corporation | Fast-access self-repairing tape library using mobile robots |
| US9423983B2 (en) | 2012-01-19 | 2016-08-23 | Syncsort Incorporated | Intelligent storage controller |
| US9263082B2 (en) | 2013-01-30 | 2016-02-16 | International Business Machines Corporation | High density hybrid storage system |
| US9588886B2 (en) * | 2013-03-15 | 2017-03-07 | Seagate Technology Llc | Staging sorted data in intermediate storage |
| US20140281194A1 (en) | 2013-03-15 | 2014-09-18 | Seagate Technology Llc | Dynamically-sizeable granule storage |
| US9176820B2 (en) | 2013-03-19 | 2015-11-03 | Industrial Technology Research Institute | Disk logging method applicable to storage medium and electronic device, storage medium using the same and electronic device using the same |
| 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 |
| EP3535674A4 (en) | 2016-10-28 | 2020-04-29 | Atavium, Inc. | Systems and methods for data management using zero-touch tagging |
| WO2018081582A1 (en) * | 2016-10-28 | 2018-05-03 | Atavium, Inc. | Systems and methods for random to sequential storage mapping |
| US11429296B2 (en) | 2020-06-01 | 2022-08-30 | Western Digital Technologies, Inc. | Storage system, host, and method for extended and imaginary logical-to-physical address mapping |
| CN116737064B (zh) * | 2023-03-29 | 2024-04-05 | 深圳市领德创科技有限公司 | 一种固态硬盘的数据管理方法和系统 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57201949A (en) * | 1981-06-05 | 1982-12-10 | Hitachi Ltd | Secondary storage controller |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB8905435D0 (en) * | 1989-03-09 | 1989-04-19 | Hewlett Packard Ltd | Data storage apparatus |
| JPH0373037A (ja) * | 1989-05-26 | 1991-03-28 | Hitachi Ltd | データベース障害回復方法 |
| US5274799A (en) * | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
| US5297258A (en) * | 1991-11-21 | 1994-03-22 | Ast Research, Inc. | Data logging for hard disk data storage systems |
| US5379417A (en) * | 1991-11-25 | 1995-01-03 | Tandem Computers Incorporated | System and method for ensuring write data integrity in a redundant array data storage system |
| EP0559975B1 (en) * | 1992-03-10 | 1999-06-16 | Hewlett-Packard Limited | Data storage apparatus |
| US5420983A (en) * | 1992-08-12 | 1995-05-30 | Digital Equipment Corporation | Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data |
| US5367669A (en) * | 1993-03-23 | 1994-11-22 | Eclipse Technologies, Inc. | Fault tolerant hard disk array controller |
-
1993
- 1993-03-24 US US08/036,636 patent/US5557770A/en not_active Expired - Fee Related
-
1994
- 1994-02-24 JP JP6049991A patent/JP2784430B2/ja not_active Expired - Fee Related
- 1994-03-04 EP EP94103264A patent/EP0617358A1/en not_active Withdrawn
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57201949A (en) * | 1981-06-05 | 1982-12-10 | Hitachi Ltd | Secondary storage controller |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9690496B2 (en) | 2004-10-21 | 2017-06-27 | Microsoft Technology Licensing, Llc | Using external memory devices to improve system performance |
| JP2007012139A (ja) * | 2005-06-29 | 2007-01-18 | Hitachi Global Storage Technologies Netherlands Bv | データ書き込み方法及びディスク装置 |
| 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 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5557770A (en) | 1996-09-17 |
| JP2784430B2 (ja) | 1998-08-06 |
| EP0617358A1 (en) | 1994-09-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06324817A (ja) | ディスク・システム及びデータ記憶方法 | |
| US12332775B1 (en) | Fast block device, system and methodology | |
| US6021509A (en) | Method and system for rebuilding log-structured arrays | |
| US5551003A (en) | System for managing log structured array (LSA) of DASDS by managing segment space availability and reclaiming regions of segments using garbage collection procedure | |
| US5574952A (en) | Data storage system and method for operating a disk controller including allocating disk space for compressed data | |
| JP2902970B2 (ja) | ディスク・アレイにデータを書き込むためのシステムおよび関連する方法 | |
| US6671772B1 (en) | Hierarchical file system structure for enhancing disk transfer efficiency | |
| KR100211790B1 (ko) | 직접 액세스 저장 장치에서 데이터 압축을 위한 디렉토리 재 구축 방법 및 장치 | |
| US7010645B2 (en) | System and method for sequentially staging received data to a write cache in advance of storing the received data | |
| JP3862274B2 (ja) | Raidディスクサブシステムと統合されたファイルシステムのファイル割り当て方法 | |
| US6901479B2 (en) | Disk array apparatus for and method of expanding storage capacity dynamically | |
| US7577815B2 (en) | Apparatus and method for reallocating logical to physical disk devices using a storage controller, with access frequency and sequential access ratio calculations and display | |
| US5537588A (en) | Partitioned log-structured file system and methods for operating the same | |
| US5754888A (en) | System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment | |
| US5802344A (en) | Method and apparatus for dynamic segment allocation in log structured arrays | |
| US6000009A (en) | Method and apparatus for allocation of disk memory space for compressed data records | |
| US20110302178A1 (en) | Systems for performing an external (disk-based) sort of a large data file which take advantage of "presorted" data already present in the input | |
| US20040123039A1 (en) | System and method for adatipvely loading input data into a multi-dimensional clustering table | |
| Yokota et al. | Fbd: a fault-tolerant buffering disk system for improving write performance of raid5 systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |