JPH05225065A - データ空間を用いるデータ・オブジェクトの論理的な写像 - Google Patents
データ空間を用いるデータ・オブジェクトの論理的な写像Info
- Publication number
- JPH05225065A JPH05225065A JP4295727A JP29572792A JPH05225065A JP H05225065 A JPH05225065 A JP H05225065A JP 4295727 A JP4295727 A JP 4295727A JP 29572792 A JP29572792 A JP 29572792A JP H05225065 A JPH05225065 A JP H05225065A
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- space
- data space
- addressable
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】コンピュータ・メモリ内の隣接するデータ空間
をシミュレートし、前記シミュレートされた隣接するデ
ータ空間内に種々のサイズのデータ・オブジェクトを配
列しアクセスする方法及び手段を提供すること。 【構成】隣接するデータ空間内の各ページ及び各サブデ
ータ空間が特定して識別されるように複数のサブデータ
空間が連結される。データ・オブジェクトは前記隣接す
るデータ空間に配列され、前記データ・オブジェクトを
最初に参照するとき、前記隣接するデータ空間内の前記
参照されたページを含むセグメントがデータベース記憶
ディスクに写像される。ひとたびデータ空間ページが写
像されれば、オペレーティングシステムはデータベース
・マネジャからディスク動作を要求せずに前記ページを
メモリに読取ることができる。
をシミュレートし、前記シミュレートされた隣接するデ
ータ空間内に種々のサイズのデータ・オブジェクトを配
列しアクセスする方法及び手段を提供すること。 【構成】隣接するデータ空間内の各ページ及び各サブデ
ータ空間が特定して識別されるように複数のサブデータ
空間が連結される。データ・オブジェクトは前記隣接す
るデータ空間に配列され、前記データ・オブジェクトを
最初に参照するとき、前記隣接するデータ空間内の前記
参照されたページを含むセグメントがデータベース記憶
ディスクに写像される。ひとたびデータ空間ページが写
像されれば、オペレーティングシステムはデータベース
・マネジャからディスク動作を要求せずに前記ページを
メモリに読取ることができる。
Description
【0001】
【産業上の利用分野】本発明は一般にシミュレートされ
た隣接するデータ空間からコンピュータ・システムのメ
モリにデータ・オブジェクトを写像する方法及び手段に
関する。
た隣接するデータ空間からコンピュータ・システムのメ
モリにデータ・オブジェクトを写像する方法及び手段に
関する。
【0002】
【従来の技術】コンピュータ化されたデータ処理システ
ムはデータを処理し記憶するために種々のタイプの記憶
空間に依存する。例えば、主記憶装置はデータを処理す
るためにそこから中央処理装置(CPU)のレジスタに
データを直にロードできるプログラム・アドレス可能記
憶装置である。補助記憶装置は入出力(I/O)チャネ
ルによりアクセスできる主記憶装置以外のアドレス可能
記憶装置であり、かつ磁気記憶ディスクのような直接ア
クセス記憶装置を含む。拡張記憶装置は複数バイト、例
えば、ページと呼ばれることがある4096(4K)バ
イトの増加単位で非同期にアクセスされる、主記憶装置
の高速大容量電子拡張装置である。
ムはデータを処理し記憶するために種々のタイプの記憶
空間に依存する。例えば、主記憶装置はデータを処理す
るためにそこから中央処理装置(CPU)のレジスタに
データを直にロードできるプログラム・アドレス可能記
憶装置である。補助記憶装置は入出力(I/O)チャネ
ルによりアクセスできる主記憶装置以外のアドレス可能
記憶装置であり、かつ磁気記憶ディスクのような直接ア
クセス記憶装置を含む。拡張記憶装置は複数バイト、例
えば、ページと呼ばれることがある4096(4K)バ
イトの増加単位で非同期にアクセスされる、主記憶装置
の高速大容量電子拡張装置である。
【0003】記憶ディスク上のデータはページでアクセ
スできる固定長レコードのセットで存在する。ページの
サイズは使用中のシステムによって変わる。あるシステ
ムでは、ページは4096(4K)バイトである。ま
た、あるコンピュータ、例えば仮想計算機では、オペレ
ーティングシステムはセグメントと呼ばれる256ペー
ジのブロックでディスク空間を追跡する。これが必要と
されるのは、仮想アドレスを変換するセグメント毎に制
御ブロックが維持されることをハードウェアが必要とす
るからである。補助記憶装置からCPUにデータが転送
されることになると、データのページがセグメントで記
憶バッファに転送される。
スできる固定長レコードのセットで存在する。ページの
サイズは使用中のシステムによって変わる。あるシステ
ムでは、ページは4096(4K)バイトである。ま
た、あるコンピュータ、例えば仮想計算機では、オペレ
ーティングシステムはセグメントと呼ばれる256ペー
ジのブロックでディスク空間を追跡する。これが必要と
されるのは、仮想アドレスを変換するセグメント毎に制
御ブロックが維持されることをハードウェアが必要とす
るからである。補助記憶装置からCPUにデータが転送
されることになると、データのページがセグメントで記
憶バッファに転送される。
【0004】通常、データはCPUで実行するためには
主記憶装置になければならない。しかし主記憶装置はそ
の容量に制限があるので大量のデータの恒久的な記憶に
は用いられない。他方、データ・ディスクは大量のデー
タを記憶することができる。しかしながら、ディスクか
らデータをアクセスする速度は主記憶装置でデータを処
理できる速度と比較すると低速である。アクセス速度の
相違を補償するために、データ・バッファが用いられ
る。データ・バッファは入力及び出力データを一時的に
保持するために用いる記憶装置の一部である。バッファ
は主記憶装置又は拡張記憶装置内に設けることができ
る。
主記憶装置になければならない。しかし主記憶装置はそ
の容量に制限があるので大量のデータの恒久的な記憶に
は用いられない。他方、データ・ディスクは大量のデー
タを記憶することができる。しかしながら、ディスクか
らデータをアクセスする速度は主記憶装置でデータを処
理できる速度と比較すると低速である。アクセス速度の
相違を補償するために、データ・バッファが用いられ
る。データ・バッファは入力及び出力データを一時的に
保持するために用いる記憶装置の一部である。バッファ
は主記憶装置又は拡張記憶装置内に設けることができ
る。
【0005】コンピュータ・システムを同時に用いる複
数ユーザは仮想計算機を通じてコンピュータ・システム
上の資源を時分割する。実計算機の機能をシミュレート
する仮想計算機では、各ユーザは仮想計算機の主記憶装
置を、それがあたかも実記憶装置であるかのように、ア
ドレス指定することができる。仮想計算機内のアドレス
指定できる主記憶装置は仮想記憶装置と呼ばれる。仮想
記憶装置のサイズはそのコンピュータ・システムのアド
レス指定方式によりかつ使用できる実ディスク記憶装置
の容量により制限される。仮想記憶装置内のデータがC
PUにより処理されることが予定されると、それらは実
アドレスに写像される。写像は物理記憶装置のロケーシ
ョンと仮想記憶装置のロケーションの間の対応を確立す
ることである。そのためにオペレーティングシステムに
よりアドレス変換テーブルが維持される。
数ユーザは仮想計算機を通じてコンピュータ・システム
上の資源を時分割する。実計算機の機能をシミュレート
する仮想計算機では、各ユーザは仮想計算機の主記憶装
置を、それがあたかも実記憶装置であるかのように、ア
ドレス指定することができる。仮想計算機内のアドレス
指定できる主記憶装置は仮想記憶装置と呼ばれる。仮想
記憶装置のサイズはそのコンピュータ・システムのアド
レス指定方式によりかつ使用できる実ディスク記憶装置
の容量により制限される。仮想記憶装置内のデータがC
PUにより処理されることが予定されると、それらは実
アドレスに写像される。写像は物理記憶装置のロケーシ
ョンと仮想記憶装置のロケーションの間の対応を確立す
ることである。そのためにオペレーティングシステムに
よりアドレス変換テーブルが維持される。
【0006】仮想計算機では、メモリ・アドレスに対す
る各ユーザの参照は仮想アドレスと呼ばれ、ユーザが使
用できるアドレス指定可能空間の範囲の各々はアドレス
空間と呼ばれる。ユーザが仮想記憶ロケーションを参照
するとき、そのロケーションを含むページはディスク上
にあることもあり拡張記憶上にあることもある(これは
アドレス変換テーブル内のフラグで表示される)。ペー
ジを主記憶装置にコピーする必要があるとき、オペレー
ティングシステムは使用可能な実記憶装置のページ・ロ
ケーションにそのページを読込む。それが終了すると、
新しいページ・ロケーションを反映するためにページ変
換テーブルが更新される。もし実記憶装置が使用できな
ければ、オペレーティングシステムは未使用時間最長の
ページをページアウトして主記憶空間を解放する。
る各ユーザの参照は仮想アドレスと呼ばれ、ユーザが使
用できるアドレス指定可能空間の範囲の各々はアドレス
空間と呼ばれる。ユーザが仮想記憶ロケーションを参照
するとき、そのロケーションを含むページはディスク上
にあることもあり拡張記憶上にあることもある(これは
アドレス変換テーブル内のフラグで表示される)。ペー
ジを主記憶装置にコピーする必要があるとき、オペレー
ティングシステムは使用可能な実記憶装置のページ・ロ
ケーションにそのページを読込む。それが終了すると、
新しいページ・ロケーションを反映するためにページ変
換テーブルが更新される。もし実記憶装置が使用できな
ければ、オペレーティングシステムは未使用時間最長の
ページをページアウトして主記憶空間を解放する。
【0007】図1は典型的なデータベース記憶システム
を示す。このシステムはディレクトリ・ディスク1、1
以上のデータ・ディスク2、及びデータ・ディスクに類
似する1つ又は2つのログ・ディスク(図示せず)を備
える。ディレクトリ・ディスク1は仮想記憶装置からそ
れらの実際の物理ロケーションへの実データベース・ペ
ージの写像に関する情報及びそのデータベースの物理的
構成を記述する他の情報を含む。データ・ディスク2は
データを記憶するが、ログ・ディスクはデータベースに
対するトランザクションを記録する。
を示す。このシステムはディレクトリ・ディスク1、1
以上のデータ・ディスク2、及びデータ・ディスクに類
似する1つ又は2つのログ・ディスク(図示せず)を備
える。ディレクトリ・ディスク1は仮想記憶装置からそ
れらの実際の物理ロケーションへの実データベース・ペ
ージの写像に関する情報及びそのデータベースの物理的
構成を記述する他の情報を含む。データ・ディスク2は
データを記憶するが、ログ・ディスクはデータベースに
対するトランザクションを記録する。
【0008】データベース・システムでは、ユーザはデ
ィスク上にデータ・オブジェクトを記憶する論理的なペ
ージを割当てられる。データ・オブジェクトはデータベ
ース内の論理的なページのセットである。例えば、関係
データベースでは、データ・オブジェクトはテーブルの
行及び列のレコードを含むページのセットとみなすこと
ができる。ここでは、各行は別個のレコードであり、各
列は異なるデータ・フィールドである。図1に示すよう
に、データ・オブジェクトが生成されると、どのデータ
・オブジェクト・ページ3がデータを含むかを示すエン
トリがデータベース・ディレクトリに挿入され、それら
の物理的なロケーション4がディスクに挿入される。最
初に、ディレクトリ空間だけがとられるが、ユーザがデ
ータをデータ・オブジェクトに挿入すると、ページがデ
ィスク上に割振られ、それを表わすためにディレクトリ
が更新される。
ィスク上にデータ・オブジェクトを記憶する論理的なペ
ージを割当てられる。データ・オブジェクトはデータベ
ース内の論理的なページのセットである。例えば、関係
データベースでは、データ・オブジェクトはテーブルの
行及び列のレコードを含むページのセットとみなすこと
ができる。ここでは、各行は別個のレコードであり、各
列は異なるデータ・フィールドである。図1に示すよう
に、データ・オブジェクトが生成されると、どのデータ
・オブジェクト・ページ3がデータを含むかを示すエン
トリがデータベース・ディレクトリに挿入され、それら
の物理的なロケーション4がディスクに挿入される。最
初に、ディレクトリ空間だけがとられるが、ユーザがデ
ータをデータ・オブジェクトに挿入すると、ページがデ
ィスク上に割振られ、それを表わすためにディレクトリ
が更新される。
【0009】データの完全性を維持するために、データ
ベース・システムは一定の間隔でデータベースのチェッ
クポイントをとる機構を備え、データベースの首尾一貫
したバージョンが保管されることを保証する。例えば、
データベース・ページが変更されると、前のチェックポ
イントにおけるそのページのコピーが変更されずに保持
され、そのページの変更バージョンがディスクにコピー
され、そしてページ・ディレクトリが新たなロケーショ
ンを指すように更新される。そして、チェックポイント
時点で、データベースの変更バージョンはそのデータベ
ースの最新のコピーとなる。
ベース・システムは一定の間隔でデータベースのチェッ
クポイントをとる機構を備え、データベースの首尾一貫
したバージョンが保管されることを保証する。例えば、
データベース・ページが変更されると、前のチェックポ
イントにおけるそのページのコピーが変更されずに保持
され、そのページの変更バージョンがディスクにコピー
され、そしてページ・ディレクトリが新たなロケーショ
ンを指すように更新される。そして、チェックポイント
時点で、データベースの変更バージョンはそのデータベ
ースの最新のコピーとなる。
【0010】仮想計算機では、データ空間ページは種々
の手法によりディスクに写像できる。例えば、隣接する
仮想記憶ページは隣接するディスク・ページに写像する
ことができる。これは物理的な写像と呼ばれる。あるい
は、隣接する仮想ページを隣接しないディスク・ページ
に写像することができる。これは論理的な写像と呼ばれ
る。
の手法によりディスクに写像できる。例えば、隣接する
仮想記憶ページは隣接するディスク・ページに写像する
ことができる。これは物理的な写像と呼ばれる。あるい
は、隣接する仮想ページを隣接しないディスク・ページ
に写像することができる。これは論理的な写像と呼ばれ
る。
【0011】仮想計算機のタイプによっては、ユーザは
複数のアドレス空間をアクセスできる。しかしながら、
これらのアドレス空間のなかには、(コンピュータ命令
ではない)データだけを包含しうるものがあり、データ
空間と呼ばれる。更に、データ空間ページは、データ・
ディスクと主記憶装置の間でデータを移動するためにペ
ージI/O動作を実行するデータベース・プログラム・
マネジャの必要なしに、ディスクに写像することができ
る。これらのシステムでは、ディスク上のデータ・オブ
ジェクト・ページを含むロケーションは、オペレーティ
ングシステムには分かっている。ユーザがページを参照
するとき、データベース・プログラム・マネジャから特
定のディスク動作を必要とせずに、そのページはオペレ
ーティングシステムによりそのディスク・ロケーション
から読取られる。オペレーティングシステムによりペー
ジが直にアクセスできるとき、データベース・システム
はより効率的に動作してCPU処理サイクルの要求は減
少する。
複数のアドレス空間をアクセスできる。しかしながら、
これらのアドレス空間のなかには、(コンピュータ命令
ではない)データだけを包含しうるものがあり、データ
空間と呼ばれる。更に、データ空間ページは、データ・
ディスクと主記憶装置の間でデータを移動するためにペ
ージI/O動作を実行するデータベース・プログラム・
マネジャの必要なしに、ディスクに写像することができ
る。これらのシステムでは、ディスク上のデータ・オブ
ジェクト・ページを含むロケーションは、オペレーティ
ングシステムには分かっている。ユーザがページを参照
するとき、データベース・プログラム・マネジャから特
定のディスク動作を必要とせずに、そのページはオペレ
ーティングシステムによりそのディスク・ロケーション
から読取られる。オペレーティングシステムによりペー
ジが直にアクセスできるとき、データベース・システム
はより効率的に動作してCPU処理サイクルの要求は減
少する。
【0012】データベース・システムでは、次第に増大
するデータ量を処理するためにシステムの効率を総合的
に改善することが絶えず要求されている。特に、照会及
びデータ変更に対する応答の高速化、実記憶装置の効率
的な使用、及びデータ・オブジェクト処理効率の改善の
必要がある。これはデータ空間の使用を最適化するシス
テム、全データ・オブジェクトではなく参照されるペー
ジだけを処理するシステム、及びチェックポイントでデ
ータベース・ダウン時間を最小にするシステムを意味す
る。
するデータ量を処理するためにシステムの効率を総合的
に改善することが絶えず要求されている。特に、照会及
びデータ変更に対する応答の高速化、実記憶装置の効率
的な使用、及びデータ・オブジェクト処理効率の改善の
必要がある。これはデータ空間の使用を最適化するシス
テム、全データ・オブジェクトではなく参照されるペー
ジだけを処理するシステム、及びチェックポイントでデ
ータベース・ダウン時間を最小にするシステムを意味す
る。
【0013】データ空間を用いる種々の方式が従来知ら
れてはいるが、多重ユーザ・システムにおいて種々のサ
イズのデータ・オブジェクトを処理することができる仮
想メモリ内のデータ空間の利用方法又は手段は知られて
いない。仮想記憶装置を含むがこの欠点には取組まない
従来の技術の例は米国特許第4742447号を含む。
この特許はページ・セグメント化仮想メモリ・データ処
理システムで情報をアクセスする方法を開示する。この
場合、UNIX型オペレーティングシステムで走行する
仮想計算機が同時に設定され、かつページ不在の発生に
応答して主記憶装置と二次記憶装置の間の情報の転送を
メモリ・マネジャが制御する。
れてはいるが、多重ユーザ・システムにおいて種々のサ
イズのデータ・オブジェクトを処理することができる仮
想メモリ内のデータ空間の利用方法又は手段は知られて
いない。仮想記憶装置を含むがこの欠点には取組まない
従来の技術の例は米国特許第4742447号を含む。
この特許はページ・セグメント化仮想メモリ・データ処
理システムで情報をアクセスする方法を開示する。この
場合、UNIX型オペレーティングシステムで走行する
仮想計算機が同時に設定され、かつページ不在の発生に
応答して主記憶装置と二次記憶装置の間の情報の転送を
メモリ・マネジャが制御する。
【0014】米国特許第4843541号はデータ処理
システム内の資源を複数の論理的な区画に分割する方法
及び手段を開示する。複数の良好な顧客プログラミング
・システムが異なる区画で同時に走行できるように、シ
ステムの主記憶装置、拡張記憶装置、チャネル及びサブ
チャネル資源がシステム内の異なる論理的な区画に割当
てられる。
システム内の資源を複数の論理的な区画に分割する方法
及び手段を開示する。複数の良好な顧客プログラミング
・システムが異なる区画で同時に走行できるように、シ
ステムの主記憶装置、拡張記憶装置、チャネル及びサブ
チャネル資源がシステム内の異なる論理的な区画に割当
てられる。
【0015】米国特許第4843542号は、各々がそ
の関連キャッシュ・メモリを有する分散プロセッサ間
の、データの一貫性を維持するシステムを開示する。
の関連キャッシュ・メモリを有する分散プロセッサ間
の、データの一貫性を維持するシステムを開示する。
【0016】米国特許第4922415号は、プロセッ
サ及びメモリのインターオペラビリティのための変換機
能を、プロセッサからの命令を必要とせずに、制御装置
が実行する方法を開示する。
サ及びメモリのインターオペラビリティのための変換機
能を、プロセッサからの命令を必要とせずに、制御装置
が実行する方法を開示する。
【0017】米国特許第4961134号はセグメント
化されたテーブル空間で不要な読取り及びロックを除去
するページ・アクセス方法を開示する。テーブル空間は
同一サイズのセグメントにグループ化されたデータ・ペ
ージを含み、各セグメントは1つのテーブルのデータを
記憶する。セグメントの各データ・ページの状況標識は
空間写像ページに記憶された別々のセグメント制御ブロ
ックに保持される。
化されたテーブル空間で不要な読取り及びロックを除去
するページ・アクセス方法を開示する。テーブル空間は
同一サイズのセグメントにグループ化されたデータ・ペ
ージを含み、各セグメントは1つのテーブルのデータを
記憶する。セグメントの各データ・ページの状況標識は
空間写像ページに記憶された別々のセグメント制御ブロ
ックに保持される。
【0018】
【発明が解決しようとする課題】本発明の第1の目的
は、1つの実データ空間のサイズよりもずっと大きいデ
ータ・オブジェクトを含む、異なるサイズの大きなデー
タ・オブジェクトに適応するデータ空間を生成し使用す
る手段を提供することにある。
は、1つの実データ空間のサイズよりもずっと大きいデ
ータ・オブジェクトを含む、異なるサイズの大きなデー
タ・オブジェクトに適応するデータ空間を生成し使用す
る手段を提供することにある。
【0019】本発明の第2の目的は、かかる大きなデー
タ・オブジェクト全体ではなく、CPUにより参照され
るデータ・ページだけをデータ空間からデータ・ディス
クに写像することにより実記憶装置をより効率的に使用
する手段を提供することにある。
タ・オブジェクト全体ではなく、CPUにより参照され
るデータ・ページだけをデータ空間からデータ・ディス
クに写像することにより実記憶装置をより効率的に使用
する手段を提供することにある。
【0020】本発明の第3の目的は、チェックポイント
でのデータベース・ダウン時間を減らすために、変更さ
れたページをデータ・ディスクに効率的に保管する手段
を提供することにある。
でのデータベース・ダウン時間を減らすために、変更さ
れたページをデータ・ディスクに効率的に保管する手段
を提供することにある。
【0021】
【課題を解決するための手段】本発明は仮想メモリをも
含むコンピュータ・メモリ内に隣接するアドレス可能な
データ空間をシミュレートする方法を提供する。当該隣
接するアドレス可能なデータ空間をシミュレートするた
めに複数のアドレス可能なサブデータ空間が連結され
る。連結された各サブデータ空間のロケーションは隣接
するアドレス可能なデータ空間内で追跡される。各サブ
データ空間は割当てられた特定のサブデータ空間識別子
により識別される。各サブデータ空間は既知のページ番
号を有し、各ページは既知のアドレス可能記憶ロケーシ
ョン番号を有する。各ページは隣接するアドレス可能な
データ空間内で特定のページ識別子を割当てられ、そし
て隣接するアドレス可能なデータ空間内の各アドレス可
能ロケーションは、その特定のページ識別子及びそのペ
ージを含むサブデータ空間識別子に基づいて参照するこ
とができる。
含むコンピュータ・メモリ内に隣接するアドレス可能な
データ空間をシミュレートする方法を提供する。当該隣
接するアドレス可能なデータ空間をシミュレートするた
めに複数のアドレス可能なサブデータ空間が連結され
る。連結された各サブデータ空間のロケーションは隣接
するアドレス可能なデータ空間内で追跡される。各サブ
データ空間は割当てられた特定のサブデータ空間識別子
により識別される。各サブデータ空間は既知のページ番
号を有し、各ページは既知のアドレス可能記憶ロケーシ
ョン番号を有する。各ページは隣接するアドレス可能な
データ空間内で特定のページ識別子を割当てられ、そし
て隣接するアドレス可能なデータ空間内の各アドレス可
能ロケーションは、その特定のページ識別子及びそのペ
ージを含むサブデータ空間識別子に基づいて参照するこ
とができる。
【0022】本発明はコンピュータ・メモリ内の隣接す
るアドレス可能なデータ空間をシミュレートするもう1
つの手段を提供する。1つの実施例は磁気媒体又は光学
媒体のような適切な記憶媒体で記憶又は保管されたコン
ピュータ・プログラムを用いることができる。このプロ
グラムは隣接するアドレス可能なデータ空間をシミュレ
ートするために複数のアドレス可能サブデータ空間を連
結する手段、及び隣接するアドレス可能なデータ空間内
で連結された各サブデータ空間のロケーションを追跡す
る手段を含む。このプログラムの識別部分は割当てられ
た特定のサブデータ空間識別子によりサブデータ空間の
各々を識別する手段を提供する。各ページは、その特定
のページ識別子及びそのページを含むサブデータ空間識
別子に基づいて、隣接するアドレス可能なデータ空間内
の各アドレス可能ロケーションが参照されるように特定
のページ識別子を有する。
るアドレス可能なデータ空間をシミュレートするもう1
つの手段を提供する。1つの実施例は磁気媒体又は光学
媒体のような適切な記憶媒体で記憶又は保管されたコン
ピュータ・プログラムを用いることができる。このプロ
グラムは隣接するアドレス可能なデータ空間をシミュレ
ートするために複数のアドレス可能サブデータ空間を連
結する手段、及び隣接するアドレス可能なデータ空間内
で連結された各サブデータ空間のロケーションを追跡す
る手段を含む。このプログラムの識別部分は割当てられ
た特定のサブデータ空間識別子によりサブデータ空間の
各々を識別する手段を提供する。各ページは、その特定
のページ識別子及びそのページを含むサブデータ空間識
別子に基づいて、隣接するアドレス可能なデータ空間内
の各アドレス可能ロケーションが参照されるように特定
のページ識別子を有する。
【0023】更に本発明はコンピュータ・メモリ内の隣
接するアドレス可能なデータ空間をシミュレートするコ
ンピュータ・システムを提供する。隣接するアドレス可
能なデータ空間をシミュレートする複数のアドレス可能
サブデータ空間は、そのサブデータ空間のロケーション
を含むインデックスを用いて連結される。各サブデータ
空間は特定のサブデータ空間識別子により識別され、各
サブデータ空間は所定のページ番号を有し、そして各ペ
ージは所定のアドレス可能記憶ロケーション番号を有す
る。アドレス可能記憶ロケーションは別の記憶装置内の
対応するデータに写像できる。各ページは隣接するアド
レス可能なデータ空間内の特定のページ識別子により識
別され、隣接するアドレス可能なデータ空間内の各アド
レス可能ロケーションは、特定のページ識別子及びサブ
データ空間識別子により参照することができる。
接するアドレス可能なデータ空間をシミュレートするコ
ンピュータ・システムを提供する。隣接するアドレス可
能なデータ空間をシミュレートする複数のアドレス可能
サブデータ空間は、そのサブデータ空間のロケーション
を含むインデックスを用いて連結される。各サブデータ
空間は特定のサブデータ空間識別子により識別され、各
サブデータ空間は所定のページ番号を有し、そして各ペ
ージは所定のアドレス可能記憶ロケーション番号を有す
る。アドレス可能記憶ロケーションは別の記憶装置内の
対応するデータに写像できる。各ページは隣接するアド
レス可能なデータ空間内の特定のページ識別子により識
別され、隣接するアドレス可能なデータ空間内の各アド
レス可能ロケーションは、特定のページ識別子及びサブ
データ空間識別子により参照することができる。
【0024】
【実施例】図2に示す本発明の実施例はデータ・オブジ
ェクト及びデータ空間サービスをサポートするデータベ
ース・システムに組込まれる。しかしながら、本発明は
特定のシステムに限定されず、本明細書に記述されるよ
うにデータ空間、データ・オブジェクト及びデータ・デ
ィスクをサポートするコンピュータ・システムに適用で
きる。
ェクト及びデータ空間サービスをサポートするデータベ
ース・システムに組込まれる。しかしながら、本発明は
特定のシステムに限定されず、本明細書に記述されるよ
うにデータ空間、データ・オブジェクト及びデータ・デ
ィスクをサポートするコンピュータ・システムに適用で
きる。
【0025】本発明は以下のセクションで詳細に説明す
る次のステップを含む。
る次のステップを含む。
【0026】ステップ1:図4に示すように、データベ
ースを初期化するとき、本発明はポインタ(5)及びデ
ータ空間テーブル(6)を用いて、リンクされているが
別々に識別できるサブデータ空間(8)を含む隣接する
データ空間(7)を生成する。隣接する領域内の各デー
タ・ページは割当てられたページ番号から識別可能であ
り、そして隣接するデータ空間領域内の各サブ領域は割
当てられたサブデータ空間識別子から識別可能である。
ースを初期化するとき、本発明はポインタ(5)及びデ
ータ空間テーブル(6)を用いて、リンクされているが
別々に識別できるサブデータ空間(8)を含む隣接する
データ空間(7)を生成する。隣接する領域内の各デー
タ・ページは割当てられたページ番号から識別可能であ
り、そして隣接するデータ空間領域内の各サブ領域は割
当てられたサブデータ空間識別子から識別可能である。
【0027】ステップ2:データベース内のデータ・オ
ブジェクトをユーザが最初に参照するとき、本発明は、
シミュレートされた隣接するデータ空間に、最初の使用
可能な空のページ・ロケーションから始まる全データ・
オブジェクトを配列するのに十分なページを予約するこ
とができる。シミュレートされた隣接するデータ空間で
は、予約されるページは最初に使用可能な空ページから
始まり、そしてデータ・オブジェクトのサイズに適合す
るようにページ番号が順次に増加される。ひとたびデー
タ・オブジェクトの開始ページ番号が設定されかつペー
ジで表示されたそのサイズが分かれば、本発明はシミュ
レートされた隣接するデータ空間内のデータ・オブジェ
クトの任意のページを識別する手段を提供する。
ブジェクトをユーザが最初に参照するとき、本発明は、
シミュレートされた隣接するデータ空間に、最初の使用
可能な空のページ・ロケーションから始まる全データ・
オブジェクトを配列するのに十分なページを予約するこ
とができる。シミュレートされた隣接するデータ空間で
は、予約されるページは最初に使用可能な空ページから
始まり、そしてデータ・オブジェクトのサイズに適合す
るようにページ番号が順次に増加される。ひとたびデー
タ・オブジェクトの開始ページ番号が設定されかつペー
ジで表示されたそのサイズが分かれば、本発明はシミュ
レートされた隣接するデータ空間内のデータ・オブジェ
クトの任意のページを識別する手段を提供する。
【0028】ステップ3:隣接する領域内のデータ・オ
ブジェクトにあるページをユーザが最初に参照すると
き、本発明は所望のページを含むデータ・オブジェクト
のセグメントだけをディスクに写像する。全データ・オ
ブジェクトの写像ではない、このデータ・オブジェクト
の部分写像は主記憶装置の使用を最小にする。なぜな
ら、オペレーティングシステムは、写像されたセグメン
ト毎に、実記憶装置のメモリを消費する制御ブロックを
維持せねばならないからである。最初の参照においてセ
グメントを写像することを遅延させるということは、も
しそのセグメントが実際に参照されなければ制御ブロッ
クが割振られないということを意味する。よって、参照
されず、従って写像されなかったデータ空間セグメント
は制御ブロックを必要としない。
ブジェクトにあるページをユーザが最初に参照すると
き、本発明は所望のページを含むデータ・オブジェクト
のセグメントだけをディスクに写像する。全データ・オ
ブジェクトの写像ではない、このデータ・オブジェクト
の部分写像は主記憶装置の使用を最小にする。なぜな
ら、オペレーティングシステムは、写像されたセグメン
ト毎に、実記憶装置のメモリを消費する制御ブロックを
維持せねばならないからである。最初の参照においてセ
グメントを写像することを遅延させるということは、も
しそのセグメントが実際に参照されなければ制御ブロッ
クが割振られないということを意味する。よって、参照
されず、従って写像されなかったデータ空間セグメント
は制御ブロックを必要としない。
【0029】ステップ4:ページが変更された後、本発
明は、データベース・システムがチェックポイントで全
体的な保管を行なうのを待つのではなく、ユーザにより
セットされた所定の時間間隔で前記変更されたページの
みを保管する。それによって、ページは漸次保管され、
システムによるチェックポイントに伴うデータベース・
ダウン時間を最小にする。
明は、データベース・システムがチェックポイントで全
体的な保管を行なうのを待つのではなく、ユーザにより
セットされた所定の時間間隔で前記変更されたページの
みを保管する。それによって、ページは漸次保管され、
システムによるチェックポイントに伴うデータベース・
ダウン時間を最小にする。
【0030】下記のセクションは前記ステップの詳細を
示す。
示す。
【0031】データ・オブジェクトはユーザが使用でき
る実データ空間の最大のサイズよりも大きいことがあり
うるから、本発明によって提供され図3に示すような第
1のステップは、別々に識別できる一定サイズのサブデ
ータ空間(8)をリンクすることにより、見かけ上隣接
する大きなデータ空間(7)を生成することである。こ
れは下記のステップによりうまく実行することができ
る。 (i) ポインタのアレイを用いて複数の一定サイズのサブ
データ空間を論理的にリンクする。そして、そのために
データ空間テーブルを維持する。図3を参照されたい。 (ii) シミュレートされた隣接するデータ空間内のペー
ジ毎に、本発明に従って特定のページ番号を割当てる。 (iii) シミュレートされた隣接するデータ空間内のペー
ジ毎に、本発明に従ってページ番号を設定する。
る実データ空間の最大のサイズよりも大きいことがあり
うるから、本発明によって提供され図3に示すような第
1のステップは、別々に識別できる一定サイズのサブデ
ータ空間(8)をリンクすることにより、見かけ上隣接
する大きなデータ空間(7)を生成することである。こ
れは下記のステップによりうまく実行することができ
る。 (i) ポインタのアレイを用いて複数の一定サイズのサブ
データ空間を論理的にリンクする。そして、そのために
データ空間テーブルを維持する。図3を参照されたい。 (ii) シミュレートされた隣接するデータ空間内のペー
ジ毎に、本発明に従って特定のページ番号を割当てる。 (iii) シミュレートされた隣接するデータ空間内のペー
ジ毎に、本発明に従ってページ番号を設定する。
【0032】各々のデータ・オブジェクトとシミュレー
トされた隣接するデータ空間内のサブデータ空間との一
致を追跡するために、ポインタのテーブルが各々のデー
タ空間及びサブデータ空間の開始と終了を特定するため
にセットアップされる。シミュレートされた隣接するデ
ータ空間内で、本発明に従って任意のページ番号を見つ
けることができる。例えば、もし構成する各データ空間
のサイズが524288ページであり、かつ参照されるページ
がページ番号1217436 であれば、参照ページは(1217436
-(524288x2))=168860という計算により第3のサブデー
タ空間内の168860であることが分かる(図6参照)。参照
ページがこのように特定されれば正しい実記憶ページに
写像することができる。
トされた隣接するデータ空間内のサブデータ空間との一
致を追跡するために、ポインタのテーブルが各々のデー
タ空間及びサブデータ空間の開始と終了を特定するため
にセットアップされる。シミュレートされた隣接するデ
ータ空間内で、本発明に従って任意のページ番号を見つ
けることができる。例えば、もし構成する各データ空間
のサイズが524288ページであり、かつ参照されるページ
がページ番号1217436 であれば、参照ページは(1217436
-(524288x2))=168860という計算により第3のサブデー
タ空間内の168860であることが分かる(図6参照)。参照
ページがこのように特定されれば正しい実記憶ページに
写像することができる。
【0033】ページ・アドレスをデータ空間上のそのロ
ケーションの関数として決定する手順は下記のように擬
似コード形式で表わすことができる。 If (データ・オブジェクト(n)のStarting_page_number
≧0(即ちシミュレートされた隣接するデータ空間内に
データ・オブジェクトがあった)) then do; Data_space_number = [(データ・オブジェクトのStarti
ng_page_number,(n)) + m ] / [ページ単位で表示され
た1データ空間のサイズ ]
ケーションの関数として決定する手順は下記のように擬
似コード形式で表わすことができる。 If (データ・オブジェクト(n)のStarting_page_number
≧0(即ちシミュレートされた隣接するデータ空間内に
データ・オブジェクトがあった)) then do; Data_space_number = [(データ・オブジェクトのStarti
ng_page_number,(n)) + m ] / [ページ単位で表示され
た1データ空間のサイズ ]
【0034】同様に、隣接する領域内のページ番号は下
記のように決定できる。 ページ・アドレス = [(データ・オブジェクトのStartin
g_page_number,(n)) + m ] // [ページ単位で表示され
た1データ空間のサイズ) * (バイト単位で表示された
1ページのサイズ) ] end;
記のように決定できる。 ページ・アドレス = [(データ・オブジェクトのStartin
g_page_number,(n)) + m ] // [ページ単位で表示され
た1データ空間のサイズ) * (バイト単位で表示された
1ページのサイズ) ] end;
【0035】前記擬似コードにおいて、Starting_page_
number(開始ページ番号)はシミュレートされた隣接す
るデータ空間内のデータ・オブジェクトの最初のページ
のロケーションである。記号(/) は整数の割算を表わ
し、記号(//)は前記整数の割算の剰余を表わし、記号
(*)は掛算の演算子を表わし、(n)はデータ・オブジェク
トの識別を表わし、そして(m) は要求されたデータを含
むデータ・オブジェクト内のページ番号を表わす。
number(開始ページ番号)はシミュレートされた隣接す
るデータ空間内のデータ・オブジェクトの最初のページ
のロケーションである。記号(/) は整数の割算を表わ
し、記号(//)は前記整数の割算の剰余を表わし、記号
(*)は掛算の演算子を表わし、(n)はデータ・オブジェク
トの識別を表わし、そして(m) は要求されたデータを含
むデータ・オブジェクト内のページ番号を表わす。
【0036】もしデータ・オブジェクトの開始ページ番
号が分からなければ、それは下記のように決定すること
ができる。 (i) データベースを初期化する際に、シミュレートされ
た隣接するデータ空間に置かれる各々のデータ・オブジ
ェクトの開始点を含むページのロケーションを含む"開
始ページ番号"と呼ばれるアレイが定義される。アレイ
の大きさはそのデータベース内のデータ・オブジェクト
の数と同じである。このアレイは負の値に初期化され、
シミュレートされた隣接するデータ空間内にまだデータ
・オブジェクトが置かれていないことを示す。 (ii) 変数 Next_available_page(次に使用可能なペー
ジ)が定義され、シミュレートされた空の隣接するデー
タ空間を開始するページであることを示すようにカウン
タで0に初期化される。 (iii) ユーザが最初にデータ・オブジェクトを参照する
とき、シミュレートされた隣接するデータ空間内に存在
するページのセットであって、次に使用可能なものが、
前記データ・オブジェクトの開始ページ番号を前記カウ
ンタから取出されたNext_available_data(次に使用可能
なデータ) の空間ページ番号にセットすることにより、
前記参照されたデータ・オブジェクトのために予約され
る。 (iv) そして、全てのデータ・オブジェクトをセグメン
ト境界で開始するように、前記データ・オブジェクトの
サイズ(ページ単位)だけ、 "次に使用可能なデータ"
カウンタが増加され、半端のセグメントに関しては切り
上げられる。本発明では、次のページ・セグメント境界
でデータ・オブジェクトを開始するのに好都合である
が、もしシステムがセグメント単位でページを処理しな
ければ、これは必要な要求ではない。
号が分からなければ、それは下記のように決定すること
ができる。 (i) データベースを初期化する際に、シミュレートされ
た隣接するデータ空間に置かれる各々のデータ・オブジ
ェクトの開始点を含むページのロケーションを含む"開
始ページ番号"と呼ばれるアレイが定義される。アレイ
の大きさはそのデータベース内のデータ・オブジェクト
の数と同じである。このアレイは負の値に初期化され、
シミュレートされた隣接するデータ空間内にまだデータ
・オブジェクトが置かれていないことを示す。 (ii) 変数 Next_available_page(次に使用可能なペー
ジ)が定義され、シミュレートされた空の隣接するデー
タ空間を開始するページであることを示すようにカウン
タで0に初期化される。 (iii) ユーザが最初にデータ・オブジェクトを参照する
とき、シミュレートされた隣接するデータ空間内に存在
するページのセットであって、次に使用可能なものが、
前記データ・オブジェクトの開始ページ番号を前記カウ
ンタから取出されたNext_available_data(次に使用可能
なデータ) の空間ページ番号にセットすることにより、
前記参照されたデータ・オブジェクトのために予約され
る。 (iv) そして、全てのデータ・オブジェクトをセグメン
ト境界で開始するように、前記データ・オブジェクトの
サイズ(ページ単位)だけ、 "次に使用可能なデータ"
カウンタが増加され、半端のセグメントに関しては切り
上げられる。本発明では、次のページ・セグメント境界
でデータ・オブジェクトを開始するのに好都合である
が、もしシステムがセグメント単位でページを処理しな
ければ、これは必要な要求ではない。
【0037】前記手順で、ひとたびオブジェクトのロケ
ーションが分かれば、シミュレートされた隣接するデー
タ空間内のアドレスはどれも決定することができる。そ
してデータ・オブジェクトのセグメントはデータベース
・ディレクトリ内の情報を用いてそのディスクに写像す
ることができる。
ーションが分かれば、シミュレートされた隣接するデー
タ空間内のアドレスはどれも決定することができる。そ
してデータ・オブジェクトのセグメントはデータベース
・ディレクトリ内の情報を用いてそのディスクに写像す
ることができる。
【0038】ビットをシフトすることにより同じ結果を
得ることができる。例えば、32ビット・コンピュータ
構成では、データ空間内のアドレスのように、ビット0
〜12はデータ空間番号を表わすのに用い、ビット13
〜31は12位置だけ左シフトする(4096を掛ける
のに等しい)のに用いることができる。図5はこの代替
手順を示す。
得ることができる。例えば、32ビット・コンピュータ
構成では、データ空間内のアドレスのように、ビット0
〜12はデータ空間番号を表わすのに用い、ビット13
〜31は12位置だけ左シフトする(4096を掛ける
のに等しい)のに用いることができる。図5はこの代替
手順を示す。
【0039】シミュレートされた隣接するデータ空間が
生成された後は、データ・オブジェクトは図3に示すよ
うにデータ空間に置くことができる。例えば、1025
28ページを含むデータ・オブジェクト番号1(参照番
号9)はサブデータ空間1 (参照番号10)内のページ 0
〜102527に配置される。その後に、例えば、(データ空
間1内の次のセグメントの開始を表わす)ページ102656
からサブデータ空間2(参照番号8)及び3(参照番号8)
をスパンするページまで配置された1024000ページを含
む別のデータ・オブジェクト番号5(参照番号11)が続
くことがある。よって、この例では、データ・オブジェ
クト1はシミュレートされた隣接するデータ空間の最初
の400 セグメントに配置されるが、データ・オブジェク
ト5はページ番号102565から開始するセグメント番号40
1の最初のページから配置される。
生成された後は、データ・オブジェクトは図3に示すよ
うにデータ空間に置くことができる。例えば、1025
28ページを含むデータ・オブジェクト番号1(参照番
号9)はサブデータ空間1 (参照番号10)内のページ 0
〜102527に配置される。その後に、例えば、(データ空
間1内の次のセグメントの開始を表わす)ページ102656
からサブデータ空間2(参照番号8)及び3(参照番号8)
をスパンするページまで配置された1024000ページを含
む別のデータ・オブジェクト番号5(参照番号11)が続
くことがある。よって、この例では、データ・オブジェ
クト1はシミュレートされた隣接するデータ空間の最初
の400 セグメントに配置されるが、データ・オブジェク
ト5はページ番号102565から開始するセグメント番号40
1の最初のページから配置される。
【0040】同様に、各データ・オブジェクトの開始ペ
ージ番号が分かっているから、データ・ページの要求は
どれも、シミュレートされた隣接するデータ空間内の、
ページ番号に変換することができる。例えば、データ・
オブジェクト(n) がページ1126656で開始しかつデータ
・オブジェクト(n)のデータ・ページ90780 が要求され
る場合には、ページ番号は1217436 であると計算される
が、これは第3のサブデータ空間にあるページ168860に
相当する(図7参照)。
ージ番号が分かっているから、データ・ページの要求は
どれも、シミュレートされた隣接するデータ空間内の、
ページ番号に変換することができる。例えば、データ・
オブジェクト(n) がページ1126656で開始しかつデータ
・オブジェクト(n)のデータ・ページ90780 が要求され
る場合には、ページ番号は1217436 であると計算される
が、これは第3のサブデータ空間にあるページ168860に
相当する(図7参照)。
【0041】データ空間の始まりではなくセグメント境
界でデータ・オブジェクトを開始させているために、非
常に大きい(スパンする範囲が1つのデータ空間よりも
大きい)データ・オブジェクト及び非常に小さい(スパ
ンする範囲が1つのデータ空間のサイズよりもずっと小
さい)データ・オブジェクトの両者を容易にサポートで
きる。本発明により、データ・オブジェクト毎に1つの
隣接するデータ空間を保持する必要がなくなり、同じシ
ミュレートされた隣接するデータ空間内に多くの大小の
データを配置することができる。
界でデータ・オブジェクトを開始させているために、非
常に大きい(スパンする範囲が1つのデータ空間よりも
大きい)データ・オブジェクト及び非常に小さい(スパ
ンする範囲が1つのデータ空間のサイズよりもずっと小
さい)データ・オブジェクトの両者を容易にサポートで
きる。本発明により、データ・オブジェクト毎に1つの
隣接するデータ空間を保持する必要がなくなり、同じシ
ミュレートされた隣接するデータ空間内に多くの大小の
データを配置することができる。
【0042】ひとたびデータ・オブジェクトがシミュレ
ートされた隣接するデータ空間内に配置されれば、この
データ・オブジェクトはデータベース・ディレクトリに
含まれた情報に基づいて正しいディスク・ページに写像
できる。しかしながら、全データ・オブジェクトをその
最初の参照で写像することは高価であり、そして相当な
実記憶容量を必要とする。そのために、本発明はデータ
・オブジェクトを最初に参照するまで写像を遅延したの
ち、"要求ベースの写像 (mapping on demand)"と呼ばれ
る手順により、そのデータ・オブジェクトの所望のペー
ジを含むセグメントだけを写像する機構を採用する。
ートされた隣接するデータ空間内に配置されれば、この
データ・オブジェクトはデータベース・ディレクトリに
含まれた情報に基づいて正しいディスク・ページに写像
できる。しかしながら、全データ・オブジェクトをその
最初の参照で写像することは高価であり、そして相当な
実記憶容量を必要とする。そのために、本発明はデータ
・オブジェクトを最初に参照するまで写像を遅延したの
ち、"要求ベースの写像 (mapping on demand)"と呼ばれ
る手順により、そのデータ・オブジェクトの所望のペー
ジを含むセグメントだけを写像する機構を採用する。
【0043】次に要求ベースの写像について説明する。
サブデータ空間毎に、そのサブデータ空間内の各セグメ
ントが広義の参照がされたかどうかを示すビット・マッ
プが生成される。広義の参照とは、そのセグメント中の
データを含むページがディスクに写像されている状態を
いう。最初に、前記ビット・マップは ^0^ にセットさ
れ、全サブデータ空間は参照されないとみなされる。こ
のビットは "セグメント有効ビット" と呼ばれ、データ
空間毎に1ビット・マップが用いられる。例えば、もし
サブデータ空間が524288ページから成りかつ各セ
グメントが256ページであれば、2048のセグメン
トがあるので、サブデータ空間が生成されるときに割振
られるビット・マップはサブデータ空間当り2048/
8=256バイトである。
サブデータ空間毎に、そのサブデータ空間内の各セグメ
ントが広義の参照がされたかどうかを示すビット・マッ
プが生成される。広義の参照とは、そのセグメント中の
データを含むページがディスクに写像されている状態を
いう。最初に、前記ビット・マップは ^0^ にセットさ
れ、全サブデータ空間は参照されないとみなされる。こ
のビットは "セグメント有効ビット" と呼ばれ、データ
空間毎に1ビット・マップが用いられる。例えば、もし
サブデータ空間が524288ページから成りかつ各セ
グメントが256ページであれば、2048のセグメン
トがあるので、サブデータ空間が生成されるときに割振
られるビット・マップはサブデータ空間当り2048/
8=256バイトである。
【0044】全データ・オブジェクトは、それが最初に
参照されるとき、シミュレートされた隣接するデータ空
間内に配置されるけれども、サブデータ空間及びビット
・マップが全て存在するとは限らない。本発明により提
供される、隣接する領域内の任意のページのページ・ア
ドレスを計算する機構は、これがサブデータ空間及び
(又は)データ・オブジェクトのセグメントに対する最
初の参照であるかどうかを検出する。もしこれが最初の
参照であれば、サブデータ空間が生成されかつセグメン
トが写像される。要求による写像を含むステップは下記
のようにまとめることができる。 ステップ1:データ・オブジェクトを最初に参照すると
き、前述のように開始及び終了データ空間アドレスを割
振ることにより、シミュレートされた隣接するデータ空
間にそのデータ・オブジェクトを配置する。 ステップ2:参照されるページのアドレスを前述のよう
に計算する。 ステップ3:もしサブデータ空間が生成されていなかっ
たならば、前述のようにサブデータ空間を生成し、その
サブデータ空間をアドレス指定するのに用いられるデー
タ空間識別子の値をセットし、そしてセグメント有効ビ
ット・マップを割振りし初期化する。 ステップ4:もしそのページを含むセグメントが写像さ
れていなければ、それを写像し、そのセグメントが写像
されたことを示すビットをオンにする。
参照されるとき、シミュレートされた隣接するデータ空
間内に配置されるけれども、サブデータ空間及びビット
・マップが全て存在するとは限らない。本発明により提
供される、隣接する領域内の任意のページのページ・ア
ドレスを計算する機構は、これがサブデータ空間及び
(又は)データ・オブジェクトのセグメントに対する最
初の参照であるかどうかを検出する。もしこれが最初の
参照であれば、サブデータ空間が生成されかつセグメン
トが写像される。要求による写像を含むステップは下記
のようにまとめることができる。 ステップ1:データ・オブジェクトを最初に参照すると
き、前述のように開始及び終了データ空間アドレスを割
振ることにより、シミュレートされた隣接するデータ空
間にそのデータ・オブジェクトを配置する。 ステップ2:参照されるページのアドレスを前述のよう
に計算する。 ステップ3:もしサブデータ空間が生成されていなかっ
たならば、前述のようにサブデータ空間を生成し、その
サブデータ空間をアドレス指定するのに用いられるデー
タ空間識別子の値をセットし、そしてセグメント有効ビ
ット・マップを割振りし初期化する。 ステップ4:もしそのページを含むセグメントが写像さ
れていなければ、それを写像し、そのセグメントが写像
されたことを示すビットをオンにする。
【0045】下記の擬似コードはこの手順をまとめたも
のである。 If (データ・オブジェクト(n)のStarting_page_number
が割り振られていない)then do; Starting_page_number(n) = Next_available_page; Reserved_space = (Data_object_size(n)/(z) + 1) *
(z); Next_available_page = Next_available_page + Reser
ved_space; end; do; Data_space_number = (Starting_page_number(n) + m)
/x; Page_address = ((Starting_page_number(n) + m)//x)
* y; end; If (Data_space_pointer (Data_space_number) が生成
されていなかった)then do;データ空間を生成する Data_space_pointer(Data_space_number) を当該データ
空間をアドレスするのに用いられる値にセットする 当該データ空間のセグメント有効ビット・マップを割り
当てかつそれをオフに初期化する end; If (Segment_valid(Page_address / y*z)がオフである)
then do;Page_mを含むセグメントをマップする Segment_valid(Page_address / y*z)をオンにセットす
る end;
のである。 If (データ・オブジェクト(n)のStarting_page_number
が割り振られていない)then do; Starting_page_number(n) = Next_available_page; Reserved_space = (Data_object_size(n)/(z) + 1) *
(z); Next_available_page = Next_available_page + Reser
ved_space; end; do; Data_space_number = (Starting_page_number(n) + m)
/x; Page_address = ((Starting_page_number(n) + m)//x)
* y; end; If (Data_space_pointer (Data_space_number) が生成
されていなかった)then do;データ空間を生成する Data_space_pointer(Data_space_number) を当該データ
空間をアドレスするのに用いられる値にセットする 当該データ空間のセグメント有効ビット・マップを割り
当てかつそれをオフに初期化する end; If (Segment_valid(Page_address / y*z)がオフである)
then do;Page_mを含むセグメントをマップする Segment_valid(Page_address / y*z)をオンにセットす
る end;
【0046】前記擬似コードにおいて、Starting_page_
number(開始ページ番号)はデータベース内のデータ・
オブジェクトと同数のエレメントのアレイである。(/)
は割算機能を表わし、(//)は割算の剰余を表わす。(*)
は掛算の演算子を表わす。(z)はセグメント内のページ
数を表わし、(y) はバイト単位のページのサイズを表わ
す。(m)はデータ・オブジェクトの開始からの参照ペー
ジであり、(n)はデータ・オブジェクトの識別である。
number(開始ページ番号)はデータベース内のデータ・
オブジェクトと同数のエレメントのアレイである。(/)
は割算機能を表わし、(//)は割算の剰余を表わす。(*)
は掛算の演算子を表わす。(z)はセグメント内のページ
数を表わし、(y) はバイト単位のページのサイズを表わ
す。(m)はデータ・オブジェクトの開始からの参照ペー
ジであり、(n)はデータ・オブジェクトの識別である。
【0047】ビット・マップが小さいので、ページ要求
毎のセグメント有効ビットの検査は費用がかからない。
もしセグメントが写像されていなければ、データベース
・マネジャ・プログラムはそのセグメントの要求された
ページに関する情報を含むディレクトリ・ブロックを読
取り、ディスク上のそれらのロケーションに、データを
含むデータ空間ページを写像する要求を出す必要があ
る。ひとたび写像されれば、"セグメント有効ビット"は
オンにセットされ、そのセグメント内のページを読取る
ための以降の参照は、データベース・ディレクトリを参
照せずに、仮想記憶アドレスに直に変換される。最終的
には、照会応答時間が短縮される結果となる。
毎のセグメント有効ビットの検査は費用がかからない。
もしセグメントが写像されていなければ、データベース
・マネジャ・プログラムはそのセグメントの要求された
ページに関する情報を含むディレクトリ・ブロックを読
取り、ディスク上のそれらのロケーションに、データを
含むデータ空間ページを写像する要求を出す必要があ
る。ひとたび写像されれば、"セグメント有効ビット"は
オンにセットされ、そのセグメント内のページを読取る
ための以降の参照は、データベース・ディレクトリを参
照せずに、仮想記憶アドレスに直に変換される。最終的
には、照会応答時間が短縮される結果となる。
【0048】もし更新(ページの変更)が要求されれ
ば、そのページはシャドウ(shadow)する(次のディスク
・ロケーションに移す)必要があるかも知れない。ある
いは、もし前記ロケーションが以前に存在しなかったな
らば、それを挿入する必要があるかも知れない(最初の
挿入)。これは写像の変更を必要とする。その場合、デ
ータベース・マネジャはそのページを写像する(写像し
直す)必要があるかどうかをデータベース・ディレクト
リから判定する。もしそうなら、新しいデータ・ページ
が割振られ、ディレクトリが更新され、そして新たな写
像が行なわれる。その結果、ページの仮想アドレスの変
更ではなく、写像が変更される。
ば、そのページはシャドウ(shadow)する(次のディスク
・ロケーションに移す)必要があるかも知れない。ある
いは、もし前記ロケーションが以前に存在しなかったな
らば、それを挿入する必要があるかも知れない(最初の
挿入)。これは写像の変更を必要とする。その場合、デ
ータベース・マネジャはそのページを写像する(写像し
直す)必要があるかどうかをデータベース・ディレクト
リから判定する。もしそうなら、新しいデータ・ページ
が割振られ、ディレクトリが更新され、そして新たな写
像が行なわれる。その結果、ページの仮想アドレスの変
更ではなく、写像が変更される。
【0049】本発明の1つの状況で提供される要求ベー
スの写像の例はIBM 社のシステム/390(商標)コンピュー
タ上でIBM 社のVM/ESA(商標)オペレーティングシステム
により動作するIBM 社のSQL/DS(商標)データベース管理
システムを用いて次のように説明することができる。デ
ータを更新する前に、IBM 社のSQL/DS管理システムは要
求されたページをバッファにコピーする。そしてSQL/DS
管理システムはデータを局所バッファからデータ空間に
再びコピーする前にPAGEVIEW(ページ表示) =0パラメ
ータによるMAPDISK DEFINE(マップディスク定義)要求
を再び出す。PAGEVIEW = 0はVM/ESAオペレーティング
システムに対し、それが最初にページを参照するときデ
ィスクの内容を読取るのではなく当該データ空間ページ
のために空の実記憶ページを供給すべきであることを知
らせる。
スの写像の例はIBM 社のシステム/390(商標)コンピュー
タ上でIBM 社のVM/ESA(商標)オペレーティングシステム
により動作するIBM 社のSQL/DS(商標)データベース管理
システムを用いて次のように説明することができる。デ
ータを更新する前に、IBM 社のSQL/DS管理システムは要
求されたページをバッファにコピーする。そしてSQL/DS
管理システムはデータを局所バッファからデータ空間に
再びコピーする前にPAGEVIEW(ページ表示) =0パラメ
ータによるMAPDISK DEFINE(マップディスク定義)要求
を再び出す。PAGEVIEW = 0はVM/ESAオペレーティング
システムに対し、それが最初にページを参照するときデ
ィスクの内容を読取るのではなく当該データ空間ページ
のために空の実記憶ページを供給すべきであることを知
らせる。
【0050】もし局所バッファを用いない更新が所望さ
れれば、前記ページはPAGEVIEW =RETAIN(保持)パラ
メータにより再写像できる。これは新たなロケーション
への写像をリセットする前に先ず現在の(古い)ディス
ク・ロケーションから前記ページのコピーを読取る。従
って、新たなロケーションに書込まれる古いページのコ
ピーがユーザに提示される。
れれば、前記ページはPAGEVIEW =RETAIN(保持)パラ
メータにより再写像できる。これは新たなロケーション
への写像をリセットする前に先ず現在の(古い)ディス
ク・ロケーションから前記ページのコピーを読取る。従
って、新たなロケーションに書込まれる古いページのコ
ピーがユーザに提示される。
【0051】局所バッファが用いられると、局所バッフ
ァからデータ空間に前記ページを返送するときまで再写
像は据置くことができる。複数の写像要求を1つのMAPD
ISKDEFINE呼出しとしてグループ化し再写像を遅延させ
ることにより性能最適化が実現される。
ァからデータ空間に前記ページを返送するときまで再写
像は据置くことができる。複数の写像要求を1つのMAPD
ISKDEFINE呼出しとしてグループ化し再写像を遅延させ
ることにより性能最適化が実現される。
【0052】そのために、要求に応じて幾つかのMAPMDI
SK DEFINE 要求ブロックを初期化し用いることができ
る。各要求は幾つかの連続するデータ空間ページ毎にバ
ッチ処理できる。
SK DEFINE 要求ブロックを初期化し用いることができ
る。各要求は幾つかの連続するデータ空間ページ毎にバ
ッチ処理できる。
【0053】ページが局所バッファに移されてMAPMDISK
DEFINE が要求されると、新たな要求について次のよう
に実行される。 (i) もし同じデータ空間の前又は次のページのMAPMDISK
DEFINE 要求が存在すれば、その2つの要求が組合わさ
れて1つになる。 (ii) もし新たな要求がそれが実行されるようにどれか
既存の要求に接続できなければ、かつ未使用の要求ブロ
ックが存在すれば、未使用の要求ブロックを用いて新た
な要求を記憶する。 (iii) もし全ての予め割振られた要求領域が使用中であ
れば、既に要求制御ブロックの1つにある要求のDEFINE
を出すとともに現在のページのブロックをリセットす
る。
DEFINE が要求されると、新たな要求について次のよう
に実行される。 (i) もし同じデータ空間の前又は次のページのMAPMDISK
DEFINE 要求が存在すれば、その2つの要求が組合わさ
れて1つになる。 (ii) もし新たな要求がそれが実行されるようにどれか
既存の要求に接続できなければ、かつ未使用の要求ブロ
ックが存在すれば、未使用の要求ブロックを用いて新た
な要求を記憶する。 (iii) もし全ての予め割振られた要求領域が使用中であ
れば、既に要求制御ブロックの1つにある要求のDEFINE
を出すとともに現在のページのブロックをリセットす
る。
【0054】本発明の実施例を用いることにより、オペ
レーティングシステムはデータベースI/O動作をその
ページ機構により実行する責任があるから、変更された
全てのデータが規則的な間隔でデータベースに書込まれ
ることを保証するためにインタフェースが用いられ、デ
ータベースの完全性を維持する。前記機構なしには、デ
ータベースの完全性は維持されない。
レーティングシステムはデータベースI/O動作をその
ページ機構により実行する責任があるから、変更された
全てのデータが規則的な間隔でデータベースに書込まれ
ることを保証するためにインタフェースが用いられ、デ
ータベースの完全性を維持する。前記機構なしには、デ
ータベースの完全性は維持されない。
【0055】従来の技術では、データベース・マネジャ
が待っている間にデータベースに対する変更をディスク
に書込むことを要求する機構が存在する。しかしなが
ら、データ空間が用いられるとき多くのページをディス
クに書込む必要があるかも知れないので、前記機構はチ
ェックポイントでかなりの遅延を起こすかも知れない。
この問題を解決するために、あるオペレーティングシス
テムは、ディスク上で最新にされる(即ちもしメモリ内
のページが変更されたならばディスクに書込まれる)デ
ータベースのサブセットをデータベース・マネジャが指
定できる機構を実現した。更にこの機構は、I/O動作
が実行される間に、保管要求が出され処理が実行される
ので非同期であるといわれる。前記保管に必要な全ての
I/Oが終了したとき、データベース・マネジャに標識
が提示される。
が待っている間にデータベースに対する変更をディスク
に書込むことを要求する機構が存在する。しかしなが
ら、データ空間が用いられるとき多くのページをディス
クに書込む必要があるかも知れないので、前記機構はチ
ェックポイントでかなりの遅延を起こすかも知れない。
この問題を解決するために、あるオペレーティングシス
テムは、ディスク上で最新にされる(即ちもしメモリ内
のページが変更されたならばディスクに書込まれる)デ
ータベースのサブセットをデータベース・マネジャが指
定できる機構を実現した。更にこの機構は、I/O動作
が実行される間に、保管要求が出され処理が実行される
ので非同期であるといわれる。前記保管に必要な全ての
I/Oが終了したとき、データベース・マネジャに標識
が提示される。
【0056】本発明の1つの実施例は前述の機構を利用
して部分保管を実現する。データベースが最初に参照さ
れたページへの写像を遅延できる要求による写像のよう
に、本発明はデータベース・マネジャが短い間隔でかつ
データ・オブジェクトの変更ページだけのページ保管を
要求できる部分保管を可能にする。
して部分保管を実現する。データベースが最初に参照さ
れたページへの写像を遅延できる要求による写像のよう
に、本発明はデータベース・マネジャが短い間隔でかつ
データ・オブジェクトの変更ページだけのページ保管を
要求できる部分保管を可能にする。
【0057】部分保管はIBM 社のSQL/DSデータベース管
理システムを用いて次のように説明することができる。
理システムを用いて次のように説明することができる。
【0058】セグメント有効ビット・マップのように、
最初にデータ空間が参照されるとビット・マップが割振
られて ^0^ にセットされる。この場合、ビット・マッ
プは32ページ(即ち4096バイト/データ空間)毎
に1ビットで作られる。これは^MODIFIED BIT MAP^(変
更ビット・マップ)と呼ばれる。32ページのセットを
表わすビットはページ・アドレスを131072(各4
096バイトの32ページ)で割ることにより計算され
る。局所バッファからデータ空間にページを返送する前
に、^MODIFIED BIT MAP^内の対応するビットが検査され
る。もしそれがOFF(0)であれば、ON(1) にセットされる
とともにカウンタが増加されて現にONのビットの数を追
跡する。
最初にデータ空間が参照されるとビット・マップが割振
られて ^0^ にセットされる。この場合、ビット・マッ
プは32ページ(即ち4096バイト/データ空間)毎
に1ビットで作られる。これは^MODIFIED BIT MAP^(変
更ビット・マップ)と呼ばれる。32ページのセットを
表わすビットはページ・アドレスを131072(各4
096バイトの32ページ)で割ることにより計算され
る。局所バッファからデータ空間にページを返送する前
に、^MODIFIED BIT MAP^内の対応するビットが検査され
る。もしそれがOFF(0)であれば、ON(1) にセットされる
とともにカウンタが増加されて現にONのビットの数を追
跡する。
【0059】カウンタが(ユーザによつてセットされ
た)所定の限界に達すると、データベース・マネジャ
は、保管するアドレスのリスト、^MODIFIED BIT MAP^内
のONで表示されたページに対応するリストとして用いる
MAPMDISK SAVE を出す。そしてデータベース・マネジャ
はビット・マップをOFF(0) にリセットする。要求は非
同期であるから、データベース・マネジャはI/O動作
が起こる間は処理を継続する。カウンタの値は部分保管
が出される頻度を決定する(カウンタの値が低ければ低
いほど部分保管は頻繁になる)。カウンタはディスク上
の全てのデータベース・ページを保管するためにSAVE
(保管)が出されている未決定のページ・セットの最大
数も決定する。
た)所定の限界に達すると、データベース・マネジャ
は、保管するアドレスのリスト、^MODIFIED BIT MAP^内
のONで表示されたページに対応するリストとして用いる
MAPMDISK SAVE を出す。そしてデータベース・マネジャ
はビット・マップをOFF(0) にリセットする。要求は非
同期であるから、データベース・マネジャはI/O動作
が起こる間は処理を継続する。カウンタの値は部分保管
が出される頻度を決定する(カウンタの値が低ければ低
いほど部分保管は頻繁になる)。カウンタはディスク上
の全てのデータベース・ページを保管するためにSAVE
(保管)が出されている未決定のページ・セットの最大
数も決定する。
【0060】部分保管を含むステップは下記のようにま
とめられる。 ステップ1:データ空間が生成されると、データ空間の
^n^ページ当り1ビットから成るビット・マップを割振
るとともに前記ビット・マップを^0^に初期化する。そ
のデータ空間のカウンタModified_group_count(変更グ
ループ・カウント)を0に初期化する。 ステップ2:データ空間内のページを変更するとき、ビ
ット・マップ内の対応するビットを検査する。もし^0^
なら、そのデータ空間の変更グループ・カウントを増加
し、前記ビットを ^1^ にする。 ステップ3:もし変更グループ・カウントが保管間隔し
きい値に達すれば、そのデータ空間のビット・マップ内
の^1^ビットに対応する全てのページから成る保管要求
をつくる。ビット・マップを^0^にリセットし、非同期
要求として前記保管要求を出す。 ステップ4:チェックポイント時点で、データ空間のビ
ット・マップ内の^1^ビットに対応するページのデータ
空間毎に保管要求をつくる。ビット・マップを^0^にリ
セットし、前記保管要求を出す。全ての要求が終了する
のを待ってチェックポイントの終了を表示する。
とめられる。 ステップ1:データ空間が生成されると、データ空間の
^n^ページ当り1ビットから成るビット・マップを割振
るとともに前記ビット・マップを^0^に初期化する。そ
のデータ空間のカウンタModified_group_count(変更グ
ループ・カウント)を0に初期化する。 ステップ2:データ空間内のページを変更するとき、ビ
ット・マップ内の対応するビットを検査する。もし^0^
なら、そのデータ空間の変更グループ・カウントを増加
し、前記ビットを ^1^ にする。 ステップ3:もし変更グループ・カウントが保管間隔し
きい値に達すれば、そのデータ空間のビット・マップ内
の^1^ビットに対応する全てのページから成る保管要求
をつくる。ビット・マップを^0^にリセットし、非同期
要求として前記保管要求を出す。 ステップ4:チェックポイント時点で、データ空間のビ
ット・マップ内の^1^ビットに対応するページのデータ
空間毎に保管要求をつくる。ビット・マップを^0^にリ
セットし、前記保管要求を出す。全ての要求が終了する
のを待ってチェックポイントの終了を表示する。
【0061】本発明のデータ空間生成手順は下記のよう
に擬似コードで表示できる。 If (Data_space_pointer(Data_space_number) = 0 (こ
のデータ空間はまだ存在しない)) then do;データ空間を生成する Data_space_pointer(Data_space_number)をそのデータ
空間をアドレスするために用いるALET値にセットする そのデータ空間のセグメント有効ビット・マップを割り
当てそれをオフに初期化する そのデータ空間のsection_is_modified ビット・マップ
をサイズ (m/n)のデータ空間に割り当てそれをオフに初
期化する Modified_group_count(Data_space_number)を^0^にセ
ットする end;
に擬似コードで表示できる。 If (Data_space_pointer(Data_space_number) = 0 (こ
のデータ空間はまだ存在しない)) then do;データ空間を生成する Data_space_pointer(Data_space_number)をそのデータ
空間をアドレスするために用いるALET値にセットする そのデータ空間のセグメント有効ビット・マップを割り
当てそれをオフに初期化する そのデータ空間のsection_is_modified ビット・マップ
をサイズ (m/n)のデータ空間に割り当てそれをオフに初
期化する Modified_group_count(Data_space_number)を^0^にセ
ットする end;
【0062】同様に、ページ変更手順は下記のように擬
似コードで表示できる。 ページを変更する If (Modified_group_count(Data_space_number) > Save
_interval でありかつSection_is_modified(page_addre
ss/(n*y)) がオフである) then do;保管要求を初期化する Do i = 1 to (m/n) If (Section_is_modified(i) がオンである) then (i*n)から((i*n) + n)までのページを保管要求に加える end;Section_is_modifiedをオフにリセットする 終了を待たずに保管要求を出す end; If (Section_is_modified(page_address/(n*y))がオフ
である) then do; /* このセクション内のページはどれも変更されな
かった */ Modified_group_count(Data_space_number)を1だけ増
分する Section_is_modified(page_address/(n*y))をオンにセ
ットするEnd;
似コードで表示できる。 ページを変更する If (Modified_group_count(Data_space_number) > Save
_interval でありかつSection_is_modified(page_addre
ss/(n*y)) がオフである) then do;保管要求を初期化する Do i = 1 to (m/n) If (Section_is_modified(i) がオンである) then (i*n)から((i*n) + n)までのページを保管要求に加える end;Section_is_modifiedをオフにリセットする 終了を待たずに保管要求を出す end; If (Section_is_modified(page_address/(n*y))がオフ
である) then do; /* このセクション内のページはどれも変更されな
かった */ Modified_group_count(Data_space_number)を1だけ増
分する Section_is_modified(page_address/(n*y))をオンにセ
ットするEnd;
【0063】同様に、チェックポイント手順は下記のよ
うに擬似コードで表示できる。 Do j = 1 to max(Data_space_number) 保管要求を初期化する Do i = 1 to (m/n) If (データ空間(j)のSection_is_modified(i)がオンで
ある) then (i*n)から((i*n) + n)までのページを保管要求に加える End;データ空間(j)のSection_is_modifiedをオフにリセ
ットする 終了を待たずに保管要求を出す End; End;全ての未処理の保管要求の終了を保留する
うに擬似コードで表示できる。 Do j = 1 to max(Data_space_number) 保管要求を初期化する Do i = 1 to (m/n) If (データ空間(j)のSection_is_modified(i)がオンで
ある) then (i*n)から((i*n) + n)までのページを保管要求に加える End;データ空間(j)のSection_is_modifiedをオフにリセ
ットする 終了を待たずに保管要求を出す End; End;全ての未処理の保管要求の終了を保留する
【0064】前述の擬似コードで、(*)は掛算の演算子
であり、(x)は1つのデータ空間内のページ数である。
(y)はページ当りのバイト数であり、(m)はデータ・オブ
ジェクトのページ単位のサイズである。(n) は1ビット
で表示されるページ数であり、(i)はカウンタの値であ
る。
であり、(x)は1つのデータ空間内のページ数である。
(y)はページ当りのバイト数であり、(m)はデータ・オブ
ジェクトのページ単位のサイズである。(n) は1ビット
で表示されるページ数であり、(i)はカウンタの値であ
る。
【0065】保管要求が出される毎に、データベース・
マネジャは前記要求が終了するまで前記要求を出すため
に構築された制御ブロックを保持する。前記要求が終了
したとき、もしI/Oのどれかがハードウェア問題によ
り実行できなかったことをオペレーティングシステムが
示せば、データベース・マネジャは修正活動を行なうこ
とができる。
マネジャは前記要求が終了するまで前記要求を出すため
に構築された制御ブロックを保持する。前記要求が終了
したとき、もしI/Oのどれかがハードウェア問題によ
り実行できなかったことをオペレーティングシステムが
示せば、データベース・マネジャは修正活動を行なうこ
とができる。
【0066】MAPMDISK SAVE 要求で参照されるページに
は制約が加えられないので、前記要求が出されたのち前
記SAVEの終了が受信される前でもそれらを変更すること
ができる。前記ページのどのバージョンが書出されたか
は仮定されないが、システムはより新しい時点の最新の
コピーを保管する。
は制約が加えられないので、前記要求が出されたのち前
記SAVEの終了が受信される前でもそれらを変更すること
ができる。前記ページのどのバージョンが書出されたか
は仮定されないが、システムはより新しい時点の最新の
コピーを保管する。
【0067】本発明により、データベース・マネジャの
I/O機能はバイパスされる。更に、オペレーティング
システムがデータベース・マネジャにページングI/O
が必要であることを知らせ(そしていつそれが終了する
かを知らせ)るようにページI/Oが実現され、データ
ベース・マネジャはI/Oと並列に他のタスクを実行す
ることができる。この手法はデータの完全性を損なわず
にデータベース応答時間を顕著に改善することが実証さ
れている。
I/O機能はバイパスされる。更に、オペレーティング
システムがデータベース・マネジャにページングI/O
が必要であることを知らせ(そしていつそれが終了する
かを知らせ)るようにページI/Oが実現され、データ
ベース・マネジャはI/Oと並列に他のタスクを実行す
ることができる。この手法はデータの完全性を損なわず
にデータベース応答時間を顕著に改善することが実証さ
れている。
【図1】本発明に関連するデータベース・ディレクトリ
内に維持された重要な情報を示す図である。
内に維持された重要な情報を示す図である。
【図2】本発明における重要なエレメントを包括的に示
す図である。
す図である。
【図3】ポインタ・テーブルを用いることにより複数の
独立したサブデータ空間が隣接していることを表示する
方法を示す図である。
独立したサブデータ空間が隣接していることを表示する
方法を示す図である。
【図4】特定のデータ空間に配置されたデータ・オブジ
ェクトを論理的な写像を用いて示す図である。
ェクトを論理的な写像を用いて示す図である。
【図5】ページ・アドレスが本発明で用いるデータ空間
アドレス及びその関連部分に変換される方法を示す図で
ある。
アドレス及びその関連部分に変換される方法を示す図で
ある。
【図6】シミュレートされた隣接するデータ空間内で、
参照ページを特定する一例を示す図である。
参照ページを特定する一例を示す図である。
【図7】データページの要求を、シミュレートされた隣
接するデータ空間内のページ番号に変換する一例を示す
図である。
接するデータ空間内のページ番号に変換する一例を示す
図である。
1 ディレクトリ・ディスク 2 データ・ディスク 3 データ・オブジェクト・ページ 4 物理的なロケーション 5 ポインタ 6 データ空間テーブル 7 データ空間 8 サブデータ空間
フロントページの続き (72)発明者 ユージーン・クリガーマン カナダ国オンタリオ州、ノース・ヨーク、 アパートメント 2204、アンティベス・ド ライブ 100番地 (72)発明者 ルーバー・コラー カナダ国オンタリオ州、ノース・ヨーク、 クリデスデール・ドライブ 72番地
Claims (13)
- 【請求項1】コンピュータ・メモリにおいて隣接するア
ドレス可能なデータ空間をシミュレートする方法であっ
て、 (a) 前記隣接するアドレス可能なデータ空間をシミュレ
ートするために複数のアドレス可能なサブデータ空間を
連結し、前記隣接するアドレス可能なデータ空間内の各
連結サブデータ空間のロケーションを追跡するステップ
と、 (b) 割当てられた特定のサブデータ空間識別子により前
記各サブデータ空間を識別するステップと、 (c) 前記各サブデータ空間に既知のページ数を包含し、
前記各ページに既知のアドレス可能な記憶ロケーション
の数を包含するステップと、 (d) 前記連接するアドレス可能なデータ空間内の特定の
ページ識別子を前記各ページに割当てるステップと、 (e) それによって、前記隣接するアドレス可能なデータ
空間内の各アドレス可能ロケーションをその特定のペー
ジ識別子と前記ページを含むサブデータ空間識別子とに
基づいて参照するステップとを含むデータ空間をシミュ
レートする方法。 - 【請求項2】データベース内のページの論理的なセット
である各データ・オブジェクトは隣接するデータ空間を
占有する場合において、請求項1記載のコンピュータ・
メモリ内のシミュレートされた隣接するアドレス可能な
データ空間でデータ・オブジェクトを表示する方法であ
って、 (a) 前記シミュレートされたアドレス可能なデータ空間
内に存在する前記各データ・オブジェクトの開始ページ
の位置を表示するために初期化された開示ページ識別子
を割当てるステップと、 (b) 前記シミュレートされたデータ空間に未表示のデー
タ・オブジェクトを最初に参照する際、前記初期化され
た開始ページ識別子を前記シミュレートされた隣接する
アドレス可能なデータ空間内で最初に使用できるページ
識別子に変更し、前記データ・オブジェクトの全てのペ
ージを収容可能にするために前記シミュレートされた隣
接するデータ空間で連続するページ識別子を予約するス
テップと、 (c) 前記シミュレートされた隣接するデータ空間内のペ
ージ識別子を前記各データ・オブジェクトの各ページに
割振ることにより前記隣接するアドレス可能なデータ空
間内の前記各データ・オブジェクトを表示し、前記表示
された各データ・オブジェクトの開始及び終了ページ識
別子を追跡するステップとを含むデータ・オブジェクト
を表示する方法。 - 【請求項3】前記シミュレートされた隣接するアドレス
可能なデータ空間内のデータ・オブジェクトのページの
表示は前記データベース記憶装置に記憶されたデータ・
オブジェクトの対応するページに写像される請求項2の
データ・オブジェクトを表示する方法。 - 【請求項4】データベースに含まれ、請求項2のシミュ
レートされた隣接するデータ空間に表示されるデータ・
オブジェクトの内容を選択的に変更する方法であって、 (a) データベース記憶装置から使用可能なページを割振
り、もし前記ページが変更されることになっているがま
だデータベースに割振られていなければ前記ページを前
記シミュレートされた隣接するデータ空間に写像するス
テップと、 (b) 各サブデータ空間内の隣接するページのグループ毎
に1ビットを含む連結されたサブデータ空間毎にビット
・マップを設定するステップと、 (c) セグメント内のいくつかのページを最初に変更する
とき、前記ビット・マップ中の前記セグメントの内容の
変更を指示するステップと、 (d) 変更されたセグメント数をカウントするステップ
と、 (e) 前記変更されたセグメント数が選択されたしきい値
に達すると、前記変更されたページを保管する要求を出
すステップとを含むデータ・オブジェクトの内容を選択
的に変更する方法。 - 【請求項5】(a) 保管要求が終了するまで、データベー
ス更新に供するため、更新されたセグメントを識別する
制御ブロック情報を保持するステップと、 (b) データベース・チェックポイントの周期を前記コン
ピュータに明示するステップとを含み、その結果として
所定の時間間隔で前記データベースの大域更新が行なわ
れる請求項4のデータ・オブジェクトの内容を選択的に
変更する方法。 - 【請求項6】前記データ・オブジェクトの所望のページ
を含むデータベース記憶装置のセグメントは前記データ
ベース記憶装置から前記シミュレートされた隣接するア
ドレス可能なデータ空間に写像され、前記セグメントは
前記データ・オブジェクトの少なくとも1つの隣接する
ページのグループを含む請求項3のデータ・オブジェク
トを表示する方法。 - 【請求項7】コンピュータ・メモリ内で隣接するアドレ
ス可能なデータ空間をシミュレートする手段であって、 (a) 前記隣接するアドレス可能なデータ空間をシミュレ
ートするために複数のアドレス可能なサブデータ空間を
連結する手段ならびに前記隣接するアドレス可能なデー
タ空間内の連結された各サブデータ空間のロケーション
を追跡する手段と、 (b) 割当てられた特定のサブデータ空間識別子により前
記各サブデータ空間を識別する手段と、 (c) 内部に配列されたページの数が既知であり、前記ペ
ージの各々を構成するアドレス可能な記憶ロケーション
の数が既知である前記各サブデータ空間と、 (d) 前記隣接するアドレス可能なデータ空間内の前記各
ページに特定のページ識別子を割当てる手段と、それに
よって (e) 前記隣接するアドレス可能なデータ空間内のアドレ
ス可能な各ロケーションを、その特定のページ識別子と
前記ページを含むサブデータ空間識別子とに基づいて参
照することができるデータ空間をシミュレートする手
段。 - 【請求項8】表示された各データ・オブジェクトが隣接
するデータ空間を占有することが分かるように、請求項
7のシミュレートする手段によってコンピュータ・メモ
リ内のシミュレートされた隣接するアドレス可能なデー
タ空間に少なくとも1つのサイズのデータ・オブジェク
トを表示する手段であって、データ・オブジェクトはデ
ータベース内の論理的なページのセットであり、 (a) 前記シミュレートされたアドレス可能なデータ空間
で前記各データ・オブジェクトが表示される開始ページ
の位置を表示するために初期化された開始ページ識別子
を割当てる手段と、 (b) 前記シミュレートされたデータ空間にはまだ表示さ
れていないデータ・オブジェクトを最初に参照すると
き、前記初期化された開始ページ識別子を、前記シミュ
レートされた隣接するアドレス可能なデータ空間内の初
期化された使用可能なページ識別子に変更し、前記デー
タ・オブジェクトの全てのページを収容できるように前
記シミュレートされたデータ空間で連続するページ識別
子を予約する手段と、 (c) 前記シミュレートされた隣接するデータ空間内のペ
ージ識別子を前記各データ・オブジェクトの各ページに
割振ることにより前記隣接するアドレス可能なデータ空
間で前記各データ・オブジェクトを表示する手段、及び
前記表示されるデータ・オブジェクトの開始及び終了ペ
ージ識別子を追跡する手段とを含むデータ・オブジェク
トを表示する手段。 - 【請求項9】前記シミュレートされた隣接するアドレス
可能なデータ空間内のデータ・オブジェクトのページの
表示をデータベース記憶装置に記憶された前記データ・
オブジェクトの対応するページに写像する手段を含む請
求項8のデータ・オブジェクトを表示する手段。 - 【請求項10】前記写像手段は前記データ・オブジェク
トの所望のページを含むデータベース記憶装置のセグメ
ントを前記シミュレートされた隣接するアドレス可能な
データ空間に写像することができ、前記セグメントは前
記データ・オブジェクトの少なくとも1つの隣接するペ
ージのグループを含む請求項8のデータ・オブジェクト
を表示する手段。 - 【請求項11】最初に参照するとき参照されるページを
含む前記データ・オブジェクトを前記データベース記憶
装置に写像できる、請求項10に従って表示されるデー
タ・オブジェクトを写像する手段であって、 (a) 各々の連結されたサブデータ空間に対応するビット
・マップであって、前記ビット・マップの各々のビット
は前記サブデータ空間内の各々のセグメントが、データ
ベース記憶装置に写像されているかどうかを示すもの
と、 (b) 前記サブデータ空間内のページを参照する毎に、関
連したサブデータ空間識別子及びビット・マップを検査
し、もし前記関連したサブデータ空間識別子が初期値に
あれば、所要のデータ空間を生成し前記ページを含むセ
グメントをデータベース記憶装置に写像したのち、前記
写像を表示する関連したビット・マップをリセットする
検査手段とを含むデータ・オブジェクトを写像する手
段。 - 【請求項12】請求項11の手段に従って写像された前
記シミュレートされた隣接するデータ空間に表示された
データ・オブジェクトの所望のページをアクセスし、前
記所望のページを含む前記データ・オブジェクトのセグ
メントの前記関連したサブデータ空間識別子、及び前記
データ・オブジェクトの前記所望のページに対応する前
記サブデータ空間内のページ識別子オフセットを指定す
る手段。 - 【請求項13】データベースに含まれ、請求項8記載の
ようなシミュレートされた隣接するデータ空間に表示さ
れたデータ・オブジェクトの選択された内容を変更する
手段であって、 (a) データベース記憶装置から使用可能なページを割振
る手段及び、もし前記ページが変更されることになって
いるがまだ前記データベースに割振られていなければ、
前記ページを前記シミュレートされた隣接するデータ空
間に写像する手段と、 (b) 連結された各サブデータ空間に、各サブデータ空間
内の隣接するページのグループ毎に1ビットを含むビッ
ト・マップを設定する手段と、 (c) セグメント内のページを最初に変更するとき前記セ
グメントの内容の変更を前記ビット・マップに表示する
手段と、 (d) 変更されたセグメントの数をカウントする手段と、 (e) 変更されたセグメントの数が選択されたしきい値に
達すると、前記変更されたページを保管する要求を出す
手段とを含むデータ・オブジェクトの内容を変更する手
段。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CA002055295A CA2055295C (en) | 1991-11-12 | 1991-11-12 | Logical mapping of data objects using data spaces |
| CA2055295 | 1991-12-11 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05225065A true JPH05225065A (ja) | 1993-09-03 |
| JP2625619B2 JP2625619B2 (ja) | 1997-07-02 |
Family
ID=4148740
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4295727A Expired - Lifetime JP2625619B2 (ja) | 1991-11-12 | 1992-11-05 | アドレス可能な連続データ空間をシミュレートする方法及び装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (6) | US5561778A (ja) |
| EP (1) | EP0542483A1 (ja) |
| JP (1) | JP2625619B2 (ja) |
| CA (3) | CA2285089C (ja) |
Families Citing this family (160)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5579474A (en) * | 1992-12-28 | 1996-11-26 | Hitachi, Ltd. | Disk array system and its control method |
| US5794228A (en) * | 1993-04-16 | 1998-08-11 | Sybase, Inc. | Database system with buffer manager providing per page native data compression and decompression |
| US5918225A (en) * | 1993-04-16 | 1999-06-29 | Sybase, Inc. | SQL-based database system with improved indexing methodology |
| US5581765A (en) * | 1994-08-30 | 1996-12-03 | International Business Machines Corporation | System for combining a global object identifier with a local object address in a single object pointer |
| US5732256A (en) * | 1995-08-30 | 1998-03-24 | Microsoft Corporation | CD-ROM optimization and stream splitting |
| US5717919A (en) * | 1995-10-02 | 1998-02-10 | Sybase, Inc. | Database system with methods for appending data records by partitioning an object into multiple page chains |
| GB2312059B (en) * | 1996-04-12 | 2000-11-15 | Sony Uk Ltd | Data storage |
| US5852820A (en) * | 1996-08-09 | 1998-12-22 | Digital Equipment Corporation | Method for optimizing entries for searching an index |
| US5802593A (en) * | 1996-09-06 | 1998-09-01 | Intel Corporation | Method and apparatus for improving disk drive performance |
| US6742080B1 (en) | 1996-09-06 | 2004-05-25 | Intel Corporation | Disk block allocation optimization methodology and application |
| DE69719934T2 (de) * | 1996-12-20 | 2003-11-27 | International Business Machines Corp., Armonk | Verfahren und Vorrichtung zur schnellen und sicheren Datensammlung |
| JPH10333948A (ja) * | 1997-04-01 | 1998-12-18 | Kokusai Zunou Sangyo Kk | 仮想データベース空間システムおよびデータベースプログラムを記録したコンピュータ読み取り可能な記録媒体 |
| US5848405A (en) * | 1997-04-21 | 1998-12-08 | Oracle Corporation | Method and apparatus for identifying new data by address ranges |
| US7031987B2 (en) * | 1997-05-30 | 2006-04-18 | Oracle International Corporation | Integrating tablespaces with different block sizes |
| US6035374A (en) * | 1997-06-25 | 2000-03-07 | Sun Microsystems, Inc. | Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency |
| US7581077B2 (en) * | 1997-10-30 | 2009-08-25 | Commvault Systems, Inc. | Method and system for transferring data in a storage operation |
| US6418478B1 (en) | 1997-10-30 | 2002-07-09 | Commvault Systems, Inc. | Pipelined high speed data transfer mechanism |
| US6118940A (en) * | 1997-11-25 | 2000-09-12 | International Business Machines Corp. | Method and apparatus for benchmarking byte code sequences |
| US6175900B1 (en) | 1998-02-09 | 2001-01-16 | Microsoft Corporation | Hierarchical bitmap-based memory manager |
| US6438675B1 (en) * | 1998-03-23 | 2002-08-20 | Ati Technologies, Inc. | Variable format memory access device |
| US5995960A (en) * | 1998-04-08 | 1999-11-30 | International Business Machines Corporaiton | Method and system for improving efficiency of programs utilizing databases by exeuting scenarios based on recalled processed information |
| DE19819205A1 (de) * | 1998-04-29 | 1999-11-04 | Siemens Ag | Datenhaltungssystem für persistente Daten |
| US6226730B1 (en) * | 1998-06-05 | 2001-05-01 | Intel Corporation | Achieving page hit memory cycles on a virtual address reference |
| FI981355L (fi) * | 1998-06-11 | 1999-12-12 | Nokia Mobile Phones Ltd | Elektroninen tiedoston noutomenetelmä ja -järjestelmä |
| US8234477B2 (en) | 1998-07-31 | 2012-07-31 | Kom Networks, Inc. | Method and system for providing restricted access to a storage medium |
| US9361243B2 (en) | 1998-07-31 | 2016-06-07 | Kom Networks Inc. | Method and system for providing restricted access to a storage medium |
| US6334134B1 (en) * | 1998-08-18 | 2001-12-25 | International Business Machines Corporation | Insert performance on a multi-system transaction environment |
| US6343293B1 (en) | 1998-09-24 | 2002-01-29 | International Business Machines Corporation | Storing the uncompressed data length in a LOB map to speed substring access within a LOB value |
| US6470359B1 (en) | 1998-09-24 | 2002-10-22 | International Business Machines Corporation | Fast technique for recovering an index on an auxiliary table |
| US6366902B1 (en) | 1998-09-24 | 2002-04-02 | International Business Machines Corp. | Using an epoch number to optimize access with rowid columns and direct row access |
| US6343286B1 (en) | 1998-09-24 | 2002-01-29 | International Business Machines Corporation | Efficient technique to defer large object access with intermediate results |
| US6694340B1 (en) | 1998-09-24 | 2004-02-17 | International Business Machines Corporation | Technique for determining the age of the oldest reading transaction with a database object |
| US6606617B1 (en) | 1998-09-24 | 2003-08-12 | International Business Machines Corporation | Optimized technique for prefetching LOB table space pages |
| US6144970A (en) * | 1998-09-24 | 2000-11-07 | International Business Machines Corporation | Technique for inplace reorganization of a LOB table space |
| US6363389B1 (en) | 1998-09-24 | 2002-03-26 | International Business Machines Corporation | Technique for creating a unique quasi-random row identifier |
| US6393498B1 (en) * | 1999-03-02 | 2002-05-21 | Mentor Arc Inc. | System for reducing processor workloads with memory remapping techniques |
| JP3016230B1 (ja) | 1999-04-01 | 2000-03-06 | 株式会社ビーコンインフォメーションテクノロジー | デ―タ管理方法及び装置、記録媒体 |
| US6449697B1 (en) * | 1999-04-23 | 2002-09-10 | International Business Machines Corporation | Prestaging data into cache in preparation for data transfer operations |
| US7389305B1 (en) * | 1999-06-01 | 2008-06-17 | Fair Isaac Corporation | System and method for managing a database |
| US7035880B1 (en) | 1999-07-14 | 2006-04-25 | Commvault Systems, Inc. | Modular backup and retrieval system used in conjunction with a storage area network |
| US7395282B1 (en) | 1999-07-15 | 2008-07-01 | Commvault Systems, Inc. | Hierarchical backup and retrieval system |
| US7389311B1 (en) | 1999-07-15 | 2008-06-17 | Commvault Systems, Inc. | Modular backup and retrieval system |
| US6735765B1 (en) * | 1999-12-07 | 2004-05-11 | Storage Technology Corporation | Sharing data between operating systems |
| US6839827B1 (en) * | 2000-01-18 | 2005-01-04 | International Business Machines Corporation | Method, system, program, and data structures for mapping logical blocks to physical blocks |
| US7155481B2 (en) | 2000-01-31 | 2006-12-26 | Commvault Systems, Inc. | Email attachment management in a computer system |
| US7003641B2 (en) | 2000-01-31 | 2006-02-21 | Commvault Systems, Inc. | Logical view with granular access to exchange data managed by a modular data and storage management system |
| US6658436B2 (en) | 2000-01-31 | 2003-12-02 | Commvault Systems, Inc. | Logical view and access to data managed by a modular data and storage management system |
| US7269631B2 (en) * | 2000-06-02 | 2007-09-11 | Hewlett-Packard Development Company, L.P. | Architecture for parallel distributed table driven I/O mapping |
| DE10058391C2 (de) * | 2000-11-24 | 2003-06-18 | Siemens Ag | Vorrichtung zur Objektbearbeitung |
| US20020184337A1 (en) * | 2001-05-21 | 2002-12-05 | Anders Hyldahl | Method and computer system for constructing references to virtual data |
| KR100397702B1 (ko) * | 2001-08-29 | 2003-09-13 | 주식회사 대우일렉트로닉스 | 홀로그래픽 디지털 데이타 저장 장치와 이의 데이타입출력 방법 |
| DE60210118T2 (de) * | 2001-10-24 | 2006-09-14 | Koninklijke Philips Electronics N.V. | Sicherheitseinrichtung für eine massenspeicherung |
| JP4130076B2 (ja) * | 2001-12-21 | 2008-08-06 | 富士通株式会社 | データベース管理プログラムおよび記録媒体 |
| US7159085B2 (en) * | 2002-04-19 | 2007-01-02 | Emc Corporation | Method of allowing point-in-time view of data on a disk |
| US7249118B2 (en) * | 2002-05-17 | 2007-07-24 | Aleri, Inc. | Database system and methods |
| US6988165B2 (en) * | 2002-05-20 | 2006-01-17 | Pervasive Software, Inc. | System and method for intelligent write management of disk pages in cache checkpoint operations |
| US7647354B2 (en) * | 2002-05-24 | 2010-01-12 | Oracle International Corporation | High-performance change capture for data warehousing |
| CA2499073C (en) | 2002-09-16 | 2013-07-23 | Commvault Systems, Inc. | Combined stream auxiliary copy system and method |
| US7254668B1 (en) | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
| US7530067B2 (en) * | 2003-05-12 | 2009-05-05 | International Business Machines Corporation | Filtering processor requests based on identifiers |
| JP4086718B2 (ja) * | 2003-06-10 | 2008-05-14 | キヤノン株式会社 | 情報処理方法及び情報処理装置 |
| US7454569B2 (en) | 2003-06-25 | 2008-11-18 | Commvault Systems, Inc. | Hierarchical system and method for performing storage operations in a computer network |
| US7873684B2 (en) | 2003-08-14 | 2011-01-18 | Oracle International Corporation | Automatic and dynamic provisioning of databases |
| US7188228B1 (en) * | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
| US7076632B2 (en) * | 2003-10-16 | 2006-07-11 | International Business Machines Corporation | Fast paging of a large memory block |
| US7529782B2 (en) | 2003-11-13 | 2009-05-05 | Commvault Systems, Inc. | System and method for performing a snapshot and for restoring data |
| US7440982B2 (en) | 2003-11-13 | 2008-10-21 | Commvault Systems, Inc. | System and method for stored data archive verification |
| US7613748B2 (en) | 2003-11-13 | 2009-11-03 | Commvault Systems, Inc. | Stored data reverification management system and method |
| US7546324B2 (en) | 2003-11-13 | 2009-06-09 | Commvault Systems, Inc. | Systems and methods for performing storage operations using network attached storage |
| WO2005065084A2 (en) | 2003-11-13 | 2005-07-21 | Commvault Systems, Inc. | System and method for providing encryption in pipelined storage operations in a storage network |
| US7155586B1 (en) | 2003-12-30 | 2006-12-26 | Emc Corporation | Method of allowing point-in-time view of data on a disk using a map on cache disk |
| US20050154786A1 (en) * | 2004-01-09 | 2005-07-14 | International Business Machines Corporation | Ordering updates in remote copying of data |
| US7478211B2 (en) * | 2004-01-09 | 2009-01-13 | International Business Machines Corporation | Maintaining consistency for remote copy using virtualization |
| US8311974B2 (en) | 2004-02-20 | 2012-11-13 | Oracle International Corporation | Modularized extraction, transformation, and loading for a database |
| JP4390618B2 (ja) * | 2004-04-28 | 2009-12-24 | 富士通株式会社 | データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置 |
| US8554806B2 (en) | 2004-05-14 | 2013-10-08 | Oracle International Corporation | Cross platform transportable tablespaces |
| US7318168B2 (en) * | 2004-07-28 | 2008-01-08 | International Business Machines Corporation | Bit map write logging with write order preservation in support asynchronous update of secondary storage |
| US7657581B2 (en) * | 2004-07-29 | 2010-02-02 | Archivas, Inc. | Metadata management for fixed content distributed data storage |
| TWI254856B (en) * | 2004-10-29 | 2006-05-11 | Via Tech Inc | Memory interleave method |
| US7765369B1 (en) | 2004-11-05 | 2010-07-27 | Commvault Systems, Inc. | Method and system for selectively deleting stored data |
| US7747835B1 (en) * | 2005-06-10 | 2010-06-29 | American Megatrends, Inc. | Method, system, and apparatus for expanding storage capacity in a data storage system |
| US8078636B2 (en) * | 2005-08-24 | 2011-12-13 | Temporal Dynamics, Inc. | Database heap management system with variable page size and fixed instruction set address resolution |
| US7636743B2 (en) | 2005-12-19 | 2009-12-22 | Commvault Systems, Inc. | Pathname translation in a data replication system |
| US8661216B2 (en) | 2005-12-19 | 2014-02-25 | Commvault Systems, Inc. | Systems and methods for migrating components in a hierarchical storage network |
| US7617253B2 (en) * | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Destination systems and methods for performing data replication |
| US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
| US7617262B2 (en) | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Systems and methods for monitoring application data in a data replication system |
| US7620710B2 (en) | 2005-12-19 | 2009-11-17 | Commvault Systems, Inc. | System and method for performing multi-path storage operations |
| US7651593B2 (en) | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
| US7962709B2 (en) | 2005-12-19 | 2011-06-14 | Commvault Systems, Inc. | Network redirector systems and methods for performing data replication |
| US7543125B2 (en) | 2005-12-19 | 2009-06-02 | Commvault Systems, Inc. | System and method for performing time-flexible calendric storage operations |
| US7870355B2 (en) | 2005-12-19 | 2011-01-11 | Commvault Systems, Inc. | Log based data replication system with disk swapping below a predetermined rate |
| US7430553B2 (en) * | 2005-12-30 | 2008-09-30 | Microsoft Corporation | Managing states with delta pager |
| US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
| US8909599B2 (en) | 2006-11-16 | 2014-12-09 | Oracle International Corporation | Efficient migration of binary XML across databases |
| US8312323B2 (en) | 2006-12-22 | 2012-11-13 | Commvault Systems, Inc. | Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved |
| WO2008085989A1 (en) | 2007-01-10 | 2008-07-17 | Richard Garfinkle | A software method for data storage and retrieval |
| US8290808B2 (en) | 2007-03-09 | 2012-10-16 | Commvault Systems, Inc. | System and method for automating customer-validated statement of work for a data storage environment |
| US8370597B1 (en) | 2007-04-13 | 2013-02-05 | American Megatrends, Inc. | Data migration between multiple tiers in a storage system using age and frequency statistics |
| US8006061B1 (en) | 2007-04-13 | 2011-08-23 | American Megatrends, Inc. | Data migration between multiple tiers in a storage system using pivot tables |
| US9449047B2 (en) | 2007-06-19 | 2016-09-20 | Sybase, Inc. | Dynamic modification of schemas in streaming databases |
| US8745012B2 (en) | 2007-08-10 | 2014-06-03 | Sybase, Inc. | Log-structured store for streaming data |
| US20090150355A1 (en) * | 2007-11-28 | 2009-06-11 | Norton Garfinkle | Software method for data storage and retrieval |
| US8204859B2 (en) | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
| US9495382B2 (en) | 2008-12-10 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods for performing discrete data replication |
| US8510271B1 (en) * | 2009-03-30 | 2013-08-13 | Symantec Corporation | Application and file system data virtualization from image backup |
| US8688948B2 (en) * | 2009-10-15 | 2014-04-01 | Freescale Semiconductor, Inc. | Flexible memory controller for autonomous mapping of memory |
| US8504517B2 (en) | 2010-03-29 | 2013-08-06 | Commvault Systems, Inc. | Systems and methods for selective data replication |
| US8352422B2 (en) | 2010-03-30 | 2013-01-08 | Commvault Systems, Inc. | Data restore systems and methods in a replication environment |
| US8504515B2 (en) | 2010-03-30 | 2013-08-06 | Commvault Systems, Inc. | Stubbing systems and methods in a data replication environment |
| US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
| US9135031B1 (en) * | 2010-04-28 | 2015-09-15 | Netapp, Inc. | System and method for determining storage resources of a virtual machine in a virtual server environment |
| US8589347B2 (en) | 2010-05-28 | 2013-11-19 | Commvault Systems, Inc. | Systems and methods for performing data replication |
| US8812445B2 (en) * | 2010-09-24 | 2014-08-19 | Hitachi Data Systems Corporation | System and method for managing scalability in a distributed database |
| US8452900B2 (en) * | 2010-12-30 | 2013-05-28 | Emc Corporation | Dynamic compression of an I/O data block |
| US9021198B1 (en) | 2011-01-20 | 2015-04-28 | Commvault Systems, Inc. | System and method for sharing SAN storage |
| US8972696B2 (en) | 2011-03-07 | 2015-03-03 | Microsoft Technology Licensing, Llc | Pagefile reservations |
| US8832411B2 (en) | 2011-12-14 | 2014-09-09 | Microsoft Corporation | Working set swapping using a sequentially ordered swap file |
| US9471578B2 (en) | 2012-03-07 | 2016-10-18 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
| US9298715B2 (en) | 2012-03-07 | 2016-03-29 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
| US9628438B2 (en) * | 2012-04-06 | 2017-04-18 | Exablox | Consistent ring namespaces facilitating data storage and organization in network infrastructures |
| US9342537B2 (en) | 2012-04-23 | 2016-05-17 | Commvault Systems, Inc. | Integrated snapshot interface for a data storage system |
| US9886346B2 (en) | 2013-01-11 | 2018-02-06 | Commvault Systems, Inc. | Single snapshot for multiple agents |
| US9336226B2 (en) | 2013-01-11 | 2016-05-10 | Commvault Systems, Inc. | Criteria-based data synchronization management |
| US9552382B2 (en) | 2013-04-23 | 2017-01-24 | Exablox Corporation | Reference counter integrity checking |
| US9514137B2 (en) | 2013-06-12 | 2016-12-06 | Exablox Corporation | Hybrid garbage collection |
| US10102148B2 (en) | 2013-06-13 | 2018-10-16 | Microsoft Technology Licensing, Llc | Page-based compressed storage management |
| WO2014205286A1 (en) | 2013-06-19 | 2014-12-24 | Exablox Corporation | Data scrubbing in cluster-based storage systems |
| US9934242B2 (en) | 2013-07-10 | 2018-04-03 | Exablox Corporation | Replication of data between mirrored data sites |
| US10248556B2 (en) | 2013-10-16 | 2019-04-02 | Exablox Corporation | Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session |
| US9985829B2 (en) | 2013-12-12 | 2018-05-29 | Exablox Corporation | Management and provisioning of cloud connected devices |
| US9495251B2 (en) | 2014-01-24 | 2016-11-15 | Commvault Systems, Inc. | Snapshot readiness checking and reporting |
| US9632874B2 (en) | 2014-01-24 | 2017-04-25 | Commvault Systems, Inc. | Database application backup in single snapshot for multiple applications |
| US9639426B2 (en) | 2014-01-24 | 2017-05-02 | Commvault Systems, Inc. | Single snapshot for multiple applications |
| US9753812B2 (en) | 2014-01-24 | 2017-09-05 | Commvault Systems, Inc. | Generating mapping information for single snapshot for multiple applications |
| US9774582B2 (en) | 2014-02-03 | 2017-09-26 | Exablox Corporation | Private cloud connected device cluster architecture |
| JP2017504924A (ja) | 2014-02-04 | 2017-02-09 | エグザブロックス・コーポレーション | ファイルシステムのコンテンツベースの編成 |
| US9684625B2 (en) | 2014-03-21 | 2017-06-20 | Microsoft Technology Licensing, Llc | Asynchronously prefetching sharable memory pages |
| US10042716B2 (en) | 2014-09-03 | 2018-08-07 | Commvault Systems, Inc. | Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent |
| US9774672B2 (en) | 2014-09-03 | 2017-09-26 | Commvault Systems, Inc. | Consolidated processing of storage-array commands by a snapshot-control media agent |
| US9648105B2 (en) | 2014-11-14 | 2017-05-09 | Commvault Systems, Inc. | Unified snapshot storage management, using an enhanced storage manager and enhanced media agents |
| US9448731B2 (en) | 2014-11-14 | 2016-09-20 | Commvault Systems, Inc. | Unified snapshot storage management |
| US9904481B2 (en) | 2015-01-23 | 2018-02-27 | Commvault Systems, Inc. | Scalable auxiliary copy processing in a storage management system using media agent resources |
| US9898213B2 (en) | 2015-01-23 | 2018-02-20 | Commvault Systems, Inc. | Scalable auxiliary copy processing using media agent resources |
| US9632924B2 (en) | 2015-03-02 | 2017-04-25 | Microsoft Technology Licensing, Llc | Using memory compression to reduce memory commit charge |
| US10037270B2 (en) | 2015-04-14 | 2018-07-31 | Microsoft Technology Licensing, Llc | Reducing memory commit charge when compressing memory |
| EP3451197B1 (en) * | 2015-05-13 | 2021-08-25 | Huawei Technologies Co., Ltd. | System and method for creating selective snapshots of a database |
| CN106326144B (zh) * | 2015-06-24 | 2019-08-06 | 龙芯中科技术有限公司 | 基于大页映射的数据读取方法及装置 |
| US10474654B2 (en) | 2015-08-26 | 2019-11-12 | Storagecraft Technology Corporation | Structural data transfer over a network |
| US10503753B2 (en) | 2016-03-10 | 2019-12-10 | Commvault Systems, Inc. | Snapshot replication operations based on incremental block change tracking |
| US9846553B2 (en) | 2016-05-04 | 2017-12-19 | Exablox Corporation | Organization and management of key-value stores |
| US11249968B2 (en) * | 2016-05-09 | 2022-02-15 | Sap Se | Large object containers with size criteria for storing mid-sized large objects |
| US11010261B2 (en) | 2017-03-31 | 2021-05-18 | Commvault Systems, Inc. | Dynamically allocating streams during restoration of data |
| US10732885B2 (en) | 2018-02-14 | 2020-08-04 | Commvault Systems, Inc. | Block-level live browsing and private writable snapshots using an ISCSI server |
| KR102583810B1 (ko) * | 2018-05-15 | 2023-10-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
| US11042318B2 (en) | 2019-07-29 | 2021-06-22 | Commvault Systems, Inc. | Block-level data replication |
| US11321354B2 (en) * | 2019-10-01 | 2022-05-03 | Huawei Technologies Co., Ltd. | System, computing node and method for processing write requests |
| US12481644B2 (en) * | 2020-09-08 | 2025-11-25 | International Business Machines Corporation | Dynamically deploying execution nodes using system throughput |
| US11809285B2 (en) | 2022-02-09 | 2023-11-07 | Commvault Systems, Inc. | Protecting a management database of a data storage management system to meet a recovery point objective (RPO) |
| US12056018B2 (en) | 2022-06-17 | 2024-08-06 | Commvault Systems, Inc. | Systems and methods for enforcing a recovery point objective (RPO) for a production database without generating secondary copies of the production database |
Family Cites Families (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3911401A (en) * | 1973-06-04 | 1975-10-07 | Ibm | Hierarchial memory/storage system for an electronic computer |
| US4136385A (en) * | 1977-03-24 | 1979-01-23 | International Business Machines Corporation | Synonym control means for multiple virtual storage systems |
| US4285040A (en) * | 1977-11-04 | 1981-08-18 | Sperry Corporation | Dual mode virtual-to-real address translation mechanism |
| US4315310A (en) * | 1979-09-28 | 1982-02-09 | Intel Corporation | Input/output data processing system |
| US4481573A (en) * | 1980-11-17 | 1984-11-06 | Hitachi, Ltd. | Shared virtual address translation unit for a multiprocessor system |
| AU556499B2 (en) * | 1981-05-22 | 1986-11-06 | Data General Corporation | Data processing system |
| US4525778A (en) * | 1982-05-25 | 1985-06-25 | Massachusetts Computer Corporation | Computer memory control |
| US4577274A (en) * | 1983-07-11 | 1986-03-18 | At&T Bell Laboratories | Demand paging scheme for a multi-ATB shared memory processing system |
| US4686620A (en) * | 1984-07-26 | 1987-08-11 | American Telephone And Telegraph Company, At&T Bell Laboratories | Database backup method |
| US4718008A (en) * | 1986-01-16 | 1988-01-05 | International Business Machines Corporation | Method to control paging subsystem processing in a virtual memory data processing system during execution of critical code sections |
| US4742447A (en) * | 1986-01-16 | 1988-05-03 | International Business Machines Corporation | Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system |
| US5043871A (en) * | 1986-03-26 | 1991-08-27 | Hitachi, Ltd. | Method and apparatus for database update/recovery |
| US4758946A (en) * | 1986-04-09 | 1988-07-19 | Elxsi | Page mapping system |
| US4819156A (en) * | 1986-06-13 | 1989-04-04 | International Business Machines Corporation | Database index journaling for enhanced recovery |
| US4843542A (en) * | 1986-11-12 | 1989-06-27 | Xerox Corporation | Virtual memory cache for use in multi-processing systems |
| US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
| US5220657A (en) * | 1987-12-02 | 1993-06-15 | Xerox Corporation | Updating local copy of shared data in a collaborative system |
| US5008811A (en) * | 1988-02-10 | 1991-04-16 | International Business Machines Corp. | Control mechanism for zero-origin data spaces |
| US5021946A (en) * | 1988-06-17 | 1991-06-04 | Modular Computer Systems, Inc. | Mostly contiguous file allocation technique involving file extension |
| US4961134A (en) * | 1988-07-15 | 1990-10-02 | International Business Machines Corporation | Method for minimizing locking and reading in a segmented storage space |
| US5095420A (en) * | 1988-11-21 | 1992-03-10 | International Business Machines | Method and system for performing virtual address range mapping in a virtual storage data processing system |
| US5058003A (en) * | 1988-12-15 | 1991-10-15 | International Business Machines Corporation | Virtual storage dynamic address translation mechanism for multiple-sized pages |
| US5125086A (en) * | 1989-06-29 | 1992-06-23 | Digital Equipment Corporation | Virtual memory paging apparatus with variable size in-page clusters |
| US5075848A (en) * | 1989-12-22 | 1991-12-24 | Intel Corporation | Object lifetime control in an object-oriented memory protection mechanism |
| WO1991014986A1 (en) * | 1990-03-23 | 1991-10-03 | Eastman Kodak Company | Virtual memory management and allocation arrangement for digital data processing system |
| US5388196A (en) * | 1990-09-07 | 1995-02-07 | Xerox Corporation | Hierarchical shared books with database |
| US5230069A (en) * | 1990-10-02 | 1993-07-20 | International Business Machines Corporation | Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system |
| US5317731A (en) * | 1991-02-25 | 1994-05-31 | International Business Machines Corporation | Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor |
| WO1992015933A1 (en) * | 1991-03-05 | 1992-09-17 | Zitel Corporation | Cache memory system and method of operating the cache memory system |
| US5269019A (en) * | 1991-04-08 | 1993-12-07 | Storage Technology Corporation | Non-volatile memory storage and bilevel index structure for fast retrieval of modified records of a disk track |
| US5410700A (en) * | 1991-09-04 | 1995-04-25 | International Business Machines Corporation | Computer system which supports asynchronous commitment of data |
| US5428759A (en) * | 1992-03-30 | 1995-06-27 | Unisys Corporation | Associative memory system having segment and page descriptor content-addressable memories |
| US5392415A (en) * | 1992-12-15 | 1995-02-21 | International Business Machines Corporation | System for grouping non-contiguous pages belonging to a storage object for page out |
| US5473777A (en) * | 1993-07-19 | 1995-12-05 | Moeller; Christopher P. | Wrapper for enabling an object otented application to maintain virtual memory using procedural function calls |
-
1991
- 1991-11-12 CA CA002285089A patent/CA2285089C/en not_active Expired - Fee Related
- 1991-11-12 CA CA002285096A patent/CA2285096C/en not_active Expired - Fee Related
- 1991-11-12 CA CA002055295A patent/CA2055295C/en not_active Expired - Fee Related
-
1992
- 1992-11-05 EP EP92310160A patent/EP0542483A1/en not_active Withdrawn
- 1992-11-05 JP JP4295727A patent/JP2625619B2/ja not_active Expired - Lifetime
-
1995
- 1995-05-17 US US08/442,770 patent/US5561778A/en not_active Expired - Fee Related
- 1995-05-17 US US08/443,371 patent/US5652873A/en not_active Expired - Fee Related
- 1995-05-17 US US08/443,397 patent/US5594881A/en not_active Expired - Lifetime
- 1995-06-06 US US08/468,987 patent/US5579499A/en not_active Expired - Fee Related
- 1995-06-06 US US08/468,095 patent/US5664160A/en not_active Expired - Fee Related
- 1995-06-06 US US08/468,771 patent/US5687343A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CA2285096C (en) | 2000-05-09 |
| CA2055295A1 (en) | 1993-05-13 |
| US5664160A (en) | 1997-09-02 |
| CA2285096A1 (en) | 1993-05-13 |
| US5561778A (en) | 1996-10-01 |
| CA2285089C (en) | 2000-05-09 |
| JP2625619B2 (ja) | 1997-07-02 |
| CA2055295C (en) | 2000-05-23 |
| US5687343A (en) | 1997-11-11 |
| EP0542483A1 (en) | 1993-05-19 |
| US5579499A (en) | 1996-11-26 |
| CA2285089A1 (en) | 1993-05-13 |
| US5652873A (en) | 1997-07-29 |
| US5594881A (en) | 1997-01-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH05225065A (ja) | データ空間を用いるデータ・オブジェクトの論理的な写像 | |
| US6286092B1 (en) | Paged based memory address translation table update method and apparatus | |
| US5809516A (en) | Allocation method of physical regions of a disc array to a plurality of logically-sequential data, adapted for increased parallel access to data | |
| US4742447A (en) | Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system | |
| US5454103A (en) | Method and apparatus for file storage allocation for secondary storage using large and small file blocks | |
| EP0370178B1 (en) | Method and system for mapping data in a virtual storage data processing system | |
| US5129088A (en) | Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device | |
| EP1247184B1 (en) | Method and apparatus for pointer relocation optimization for virtual memory mapping and transaction management in a database system | |
| US6857045B2 (en) | Method and system for updating data in a compressed read cache | |
| US7844802B2 (en) | Instructions for ordering execution in pipelined processes | |
| US5276840A (en) | Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation | |
| EP0112442B1 (en) | Data storage hierarchy and its use for data storage space management | |
| US6349372B1 (en) | Virtual uncompressed cache for compressed main memory | |
| US5996047A (en) | Method and apparatus for caching file control information corresponding to a second file block in a first file block | |
| JP2858795B2 (ja) | 実記憶割り当て方法 | |
| US5765201A (en) | Changing page size in storage media of computer system | |
| JPH06161898A (ja) | キヤツシユの動的分割方法及びその手段 | |
| JPS62165249A (ja) | ペ−ジ・セグメント化仮想記憶デ−タ処理システムにおけるセグメント・サイズを自動的に大きくする方法 | |
| US7493464B2 (en) | Sparse matrix | |
| US7177980B2 (en) | Cache storage system and method | |
| US7184944B1 (en) | Apparatus and method for the simulation of a large main memory address space given limited resources | |
| US20040039875A1 (en) | Disk array device and virtual volume management method in disk array device | |
| US5966735A (en) | Array index chaining for tree structure save and restore in a process swapping system | |
| EP0319147A2 (en) | Method for storing pre-organised groups of related information files in a data processing system | |
| EP0058846B1 (en) | Multiprocessing system with variably shared paging storage |