JPH1069414A - ローカル・ハードディスクを用いたキャッシング・ネットワーク及びcd−romファイル・アクセスのための方法 - Google Patents

ローカル・ハードディスクを用いたキャッシング・ネットワーク及びcd−romファイル・アクセスのための方法

Info

Publication number
JPH1069414A
JPH1069414A JP9107483A JP10748397A JPH1069414A JP H1069414 A JPH1069414 A JP H1069414A JP 9107483 A JP9107483 A JP 9107483A JP 10748397 A JP10748397 A JP 10748397A JP H1069414 A JPH1069414 A JP H1069414A
Authority
JP
Japan
Prior art keywords
cache
file
data
name
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9107483A
Other languages
English (en)
Inventor
Brian Berliner
ブライアン・バーリナー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH1069414A publication Critical patent/JPH1069414A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/311In host system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 システムのシャットダウンやリブートの場合
にもデータを保持することのできるようにする。 【解決手段】 コンピュータ・システムと関係して実行
されるキャッシング・システムは、データを変更可能に
記憶し得るコンピュータ・システムにより制御されるロ
ーカル不揮発性大容量蓄積装置であって、キャッシュさ
れたデータと当該キャッシュされたデータと関連するロ
ケータ・データとを記憶するディレクトリを備えるロー
カル不揮発性大容量蓄積装置と、前記ローカル大容量蓄
積装置のアクセス時間より遅いアクセス時間を有し、且
つ前記ローカル大容量蓄積装置にキャッシュされ得るフ
ァイルを記憶する大容量蓄積装置とを備えるよう構成さ
れている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理システ
ムのための不揮発性キャッシング・システム及びこのよ
うなシステムを実現する方法に関する。
【0002】
【従来の技術】この出願は、1996年4月1日に出願
された米国出願番号8/ (サン特許ドケット番号P1
502)および、1996年5月1日に提出された4件
の米国出願番号8/ (サン特許ドケット番号P150
3、P1504、P1506、P1507)に関係して
いる。これらの出願は全てサンマイクロシステムズ社に
全て譲渡され、参照のために以下に組込まれている。
【0003】キャッシングは、通常記憶されるビット当
たりのコストがより高いメモリ資源が利用可能である場
合比較的遅いコンピュータ・メモリの性能を増大させる
ため長く採用されて来た。通常、より高速のメモリ資源
内の一時的メモリ・ブロック(即ち、キャッシュ)が、
より遅いメモリ資源内に記憶されている情報の一部のみ
を記憶するため設けられている。或るアルゴリズムが、
より遅いメモリ資源に存在し得るアプリケーション・プ
ログラム全体あるいはデータ・ファイル全体をより高速
のメモリ資源に記憶するよりむしろ、プログラム又はデ
ータ・ファイルのどの部分が最もアクセスされそうであ
るかを決定するため採用されている。システムの中央処
理装置(CPU)がキャッシュに記憶されていない記憶
場所を呼び出すとき、キャッシュ(完全に充填されてい
る場合)は、より遅いメモリ資源からの必要とされるデ
ータにより少なくとも部分的に重ね書きされねばならな
い。同様に、恒久的変更がデータに対してなされる場
合、キャッシュとより遅いメモリ資源の双方におけるデ
ータはその変更を反映するよう更新されねばならない。
【0004】分散データ処理ネットワーク及びこれらの
分散ネットワーク内のLANは、しばしばキャッシング
から恩恵を受ける。通常、分散処理ネットワークのLA
N間のデータ・リンクは、LANのノード(即ち、個々
のコンピュータ)間の相互接続より遅い。更に、遠隔の
メモリ資源(例えば、遠隔のサーバ・システムのディス
ク・ドライブ)はローカル・メモリ資源と同じ位早いか
これより早いにも拘わらず、データ・リンクを介した長
距離相互接続は、その遠隔の資源に対するアクセス時間
が著しく遅くなることがある。分散処理ネットワークの
LAN間、あるいはLANのノード(即ち、個々のシス
テム)間におけるリンクのタイプに拘わらず、各データ
・リンクは、有限量のデータのみをリンクを介して同時
に転送するのを可能とする所定の帯域幅を有する。一
旦、帯域幅を超えると、例えば所定数のユーザが同じリ
ンク(LAN間又はLAN内のいずれでも)を介して通
信を行おうとする場合、そのリンクを介しての応答時間
は、各ユーザの要求が全ての競合する要求に最終的に適
合するため遅らされるので通常劣化する。従って、ネッ
トワークを介して読み出されたデータのキャッシング
は、データ・リンクへロードすることを低減すること
と、エンド・ユーザに迅速にアクセス可能なデータのキ
ャッシュを提供することとの双方により、一般にシステ
ム性能を増大させることができる。
【0005】最近の数年の間に、コンパクト・ディスク
読出し専用メモリ(CD−ROM)は、低コスト、高容
量のコンパクト・ディスク記憶媒体及び比較的低コスト
のCD−ROMリーダー(ドライブ)が入手可能になっ
たため極めて一般的になった。事実、米国における市販
されている殆ど全てのパーソナル・コンピュータは備え
付けのCD−ROMドライブを含む。現在のCD−RO
M媒体がほぼ450〜500メガバイトのデータを記憶
することができるにも拘わらず、そのデータへのアクセ
スは最新のハードディスク・ドライブに記憶されたデー
タより相当に遅い。例えば、”6X”ドライブとして知
られている高性能CD−ROMドライブの現在の標準仕
様は、せいぜい秒当たり約600キロバイトのデータを
読み出すことができる程度のものである。他方、最新の
高速IDEハードディスク・ドライブは、秒当たり約6
メガバイトを読み出すことができ、大雑把に6X CD
−ROMドライブの速度の10倍である。従って、CD
−ROMドライブの性能もキャッシングを通して非常に
向上され得る。
【0006】Microsoft(登録商標)Wind
ows(商標)version3.X(マイクロソフト
・ウインドウズ・バージョン3.X)、Microso
ftWindows 95(マイクロソフト・ウインド
ウズ95)、Windows NT(登録商標)(ウイ
ンドウズNT)、IBM社のOS/2(登録商標)及び
Geoworks(登録商標)のような多くのグラフィ
ック・ユーザ・インタフェース(GUI)環境が、何年
にもわたって開発されて来た。Geoworks及びW
indows 3.Xは由緒あるマイクロソフトMS−
DOSオペレーティング・システムの下でロードされラ
ンされねばならないので、前述の製品のうち、Wind
ows NT及びOS/2のみが真のオペレーティング
・システムである。Windows 95はまたそのオ
ペレーションのためMS−DOSの一部を必要とするの
で、Windows 95は多少ハイブリッドである。
しかしながら、単純さのため、Windows 3.X
及びWindows 95の双方が、以降オペレーティ
ング・システムと呼ばれる。
【0007】本明細書が書かれたとき、Microso
ft Windows version 3.Xは、1
989年と1995年の中間との間に市販された殆ど全
てのパーソナル・コンピュータに価格非分離され且つ最
も用いられたGUIオペレーティング・システムと離れ
且つ外れていた。しかしながら、1995年において上
記Microsoft Windows versio
n 3.Xがリリースした日から、マイクロソフト社か
らのWindows 95オペレーティング・システム
は最も新しい高性能のパーソナル・コンピュータと価格
非分離にされて来た。1年以内に、それは、大部分のビ
ジネス用途のための最適のオペレーティング・システム
となってしまい、そしてパーソナル・コンピュータ用に
最も用いられるオペレーティング・システムとしてWi
ndows 3.Xと迅速に取って代わることが期待さ
れている。その可能性(潜在力)は、Windows
3.X及びWindows 95のオペレーティング・
システムの下でキャッシングを通してCD−ROMドラ
イブ及び分散処理ネットワーク・オペレーティング・シ
ステムの双方の性能を著しく増大させる点にある。
【0008】Windows 95のリリース直後に、
サン・マイクロシステムズ社(Sun MicroSy
stems,Inc.)(以下「サン(Sun)」と記
載する。)は、ネットワーク及びCD−ROMキャッシ
ング製品を作り始めた。該ネットワーク及びCD−RO
Mキャッシング製品は、Windows 3.X及びW
indows 95の双方の下でランし、エンド・ユー
ザに対して完全に目にみえず、且つWindows
3.X及びWindows 95の双方の下でランする
広範囲のファイル・システムと共に動作する。最近リリ
ースされたキャッシング製品においてこれらの要件を満
たすため、サンは、Installable File
System Manerger(IFSMGR)
仮想デバイス・ドライバにより与えられるサービスを利
用する。このプロセスは本出願に関連した特許出願シリ
アル番号第08/ において十分に説明されているが、
ここで要約して述べる。
【0009】PC−CacheFSキャッシング製品
は、Installable File System
Manager(IFSMGR)として知られている
Microsoft Windows 95オペレーテ
ィング・システム内でソフトウエア・モジュールとイン
ターフェースする。IFSMGRモジュールは、マイク
ロソフト社により仮想デバイス・ドライバ(VxDと略
す)に分類される。PC−CacheFS製品はまた、
仮想デバイス・ドライバの定義に当てはまる。Wind
ows 95オペレーティング・システムは、全てのフ
ァイル・システム入力/出力(I/O)要求がIFSM
GR VxDに対して「フック(hook)」されるよ
うに設計されている。本発明の好適実施形態において、
PC−CacheFS VxDは、IFSMGR Vx
DとWindows 95の汎用ファイル・システムと
の間に層化(layer)される。PC−CacheF
SVxDは、全てのファイル・システムI/O要求をI
FSMGR VxDから受け取り、そして、ローカル・
ノードのユーザにより予めプログラムされたセットアッ
プ命令に従ってキャッシング方式を実現しながら、I/
O動作の暫定制御を行う。
【0010】Windows 3.XのためとWind
ows 95のためとの別個のキャッシング製品を作る
よりむしろ、PC−CacheFSキャッシング製品
は、双方のオペレーティング・システムの下でランする
よう設計された。しかしながら、Windows 3.
Xオペレーティング・システムはIFSMGR仮想デバ
イス・ドライバを持たない。従って、Windows
3.Xの下でランするIFSMGR仮想デバイス・ドラ
イバは、マイクロソフト社により与えられたWindo
ws 95 IFSMGR VxD仕様に従って、スク
ラッチから書き込まれる。こうして、PC−Cache
FSキャッシング製品(VxD)もWindowsオペ
レーティング・システムのどちらもそれ自身、互換性の
ため書き直す必要がない。
【0011】
【発明が解決しようとする課題】本発明の目的は、シス
テムのシャットダウンやリブートの場合にもデータを保
持することのできる不揮発性キャッシング・システム、
かかるシステムを実行するための方法及びコンピュータ
・プログラム製品を提供する。
【0012】
【課題を解決するための手段】サンの新しいPC−Ca
cheFSキャッシング製品は、回転する磁気媒体(例
えば、ハードディスク・ドライブ)に存在する読出し可
能、書込み可能且つ消去可能なキャッシュ・メモリのブ
ロックを採用する。性能が向上するにつれ、サンはま
た、ランダム・アクセス・メモリ(RAM)内に読出し
可能、書込み可能且つ消去可能なキャッシュ・メモリの
ブロックを採用する。
【0013】本発明は、システムのシャットダウンやリ
ブートの場合でさえデータを保持する回転型磁気媒体
(例えばハードディスク・ドライブ)のための不揮発性
キャッシング・システムを含む。該システムは、データ
ベースのような大容量ランダム・アクセス・ファイルか
らデータを空間について効率的に且つ迅速にキャッシュ
することができる。キャッシングされたデータは、殆ど
全ての標準フォーマットあるいは非標準フォーマットで
磁気媒体に記憶することができる。変換ルーチンは、C
D−ROMファイル名あるいはネットワーク・ファイル
名をローカル・ハードディスク・ファイル名に、また元
に戻すように変換する。ミニ・データベースが、各キャ
ッシュされたファイルのためハードディスク・ドライブ
に作成される。ミニ・データベースは、ランダムにアク
セスされた、データのブロックを、ローカル・ハードデ
ィスク・ドライブ上のキャッシュされたファイル内にマ
ップする。
【0014】
【発明の実施の形態】本明細書に記載される本発明の実
施形態は、クライアント及びサーバ計算システムを有す
る分散処理システムにおいて論理オペレーションとして
実現され得る。本発明の論理オペレーションは、(1)
計算システムをランするコンピュータにより実行される
ステップのシーケンスとして、また(2)計算システム
内の相互接続されたマシン・モジュールとして、実行さ
れる。該実行は、本発明を実行する計算システムの性能
要件に応じた選択の問題である。従って、本明細書に記
載される本発明の実施形態を作る論理オペレーション
は、オペレーション、ステップあるいはモジュールとさ
まざまに呼ばれる。
【0015】本発明が用いられるオペレーティング環境
は、汎用分散計算システムを含み、該汎用分散計算シス
テムにおいては汎用コンピュータ、ワークステーショ
ン、あるいはパーソナル・コンピュータ(以下「ローカ
ル・ノード」と言う。)がクライアント−サーバ構成に
おいて種々のタイプの通信リンクを介して接続され、該
クライアント−サーバ構成においてプログラム及びデー
タが、多くはオブジェクトの形態で、システムの種々の
メンバーにより利用可能にされる。汎用ワークステーシ
ョン・コンピュータの要素の一部が図1に示されてい
る。図1に、プロセッサ1が示され、該プロセッサ1は
入力/出力(I/O)セクション2、中央処理ユニット
(CPU)3及びメモリ・セクション4を有する。I/
Oセクション2は、キーボード5、ディスプレイ・ユニ
ット6、ディスク記憶ユニット9及びCD−ROMドラ
イブ・ユニット7と接続されている。CD−ROMドラ
イブ・ユニット7は、通常プログラム10及びデータを
含むCD−ROM媒体8を読み出すことができる。本発
明の装置及び方法を実行するための機構を含むコンピュ
ータ・プログラム製品が、このようなシステムのメモリ
・セクション4、又はディスク記憶ユニット9、あるい
はCD−ROM媒体8に存在する。このようなシステム
の例は、サン・マイクロシステムズ社が提供するSPA
RCシステム、IBM社及びIBMコンパティブル・パ
ーソナル・コンピュータの他の製造者が提供するパーソ
ナル・コンピュータ、及びUNIX(ユニクッス)オペ
レーティング・システムをランするシステムを含む。
【0016】本発明は、サンのPC−CacheFSネ
ットワーク及びCD−ROMキャッシング製品に組み込
まれている。本発明は、ハードディスク・ドライブのよ
うな磁気媒体を回転させるための不揮発性キャッシング
・システムと、不揮発性キャッシング・システムを実現
するための方法との双方を含む。キャッシング・システ
ムは、キャッシュされたデータがシステムのシャットダ
ウン及びリブートの場合さえ保持されるように設計され
ている。本システムは、データベースのような大容量ラ
ンダム・アクセス・ファイルからデータを空間について
効率的に且つ迅速にキャッシュすることができる。キャ
ッシュされたデータは、磁気媒体に殆ど全ての標準ある
いは非標準のフォーマットで記憶され得る。図2を参照
して以下に説明される変換ルーチンは、CD−ROMフ
ァイル名又はネットワーク・ファイル名をローカル・ハ
ードディスク・ドライブ・ファイル名に、また元に戻す
ように変換する。ミニデータベースが、各キャッシュさ
れたファイルのためハードディスク・ドライブ上に作成
される。ミニデータベースが、ローカル・ハードディス
ク・ドライブ上のキャッシュされるファイル内にいずれ
のランダムにアクセスされたブロックのデータをマップ
する。
【0017】本明細書はファイル・キャッシング・シス
テム及び方法の詳細な記載を提供するが、オンディスク
不揮発性キャッシュ・メモリの動作に関連する追加の詳
細は、3つの関連する特許出願、即ち、1996年5月
1日に出願され、発明の名称が「ネットワーク及びCD
−ROMのための不揮発性キャッシング製品を実行する
方法(METHOD FOR IMPLEMENTIN
G A NON−VOLATILE CACHING
PRODUCT FOR NETWORKSAND C
D−ROMS)」である特許出願シリアル番号第08/
号(サン・ドケット番号P1503)、1996年5
月1日に出願され、発明の名称が「マルチ階層キャッシ
ング・システム及びかかるシステムを実現する方法(M
ULTI−TIER CACHING SYSTEM
AND METHOD FORIMPLEMETING
SUCH A SYSTEM)」である特許出願シリ
アル番号第08/ 号(サン・ドケット番号P150
4)、及び1996年5月1日に出願され、発明の名称
が「使用されないデータをキャッシュ・メモリからパー
ジするための方法(METHOD FOR PURGI
NG UNUSED DATA FROM A CAC
HE MEMORY)」である特許出願シリアル番号第
08/ 号(サン・ドケット番号P1506)に提供さ
れている。そして、これらの関連した特許出願の全ては
本明細書に援用されている。
【0018】図2の疑似コード・フローチャートは、ネ
ットワーク及びCD−ROMファイル・キャッシング・
システムの好適実施形態を実行し且つ維持するのに利用
される方法のための論理ステップの詳細を示す。ここで
図2のステップ1を参照すると、本方法は、キャッシン
グVxDがIFSMGR VxDから直接あるいはチェ
ーン、即ちそれからのフックされたチェーンを介してフ
ァイルI/O要求を受け取ると直ぐに開始する。ステッ
プ2において、これがブート時間の初期化の場合である
か否かの決定がなされる。そうである場合は、ステップ
3は、どのローカル・ハードディスク・ドライブがオン
ディスク・キャッシュを保持するかを決定する。ステッ
プ4において、オンディスク・キャッシュの名前が作成
される。オンディスク・キャッシュの名前は、ドライブ
識別子文字と名前”CFC.SYS”とを組み合わせる
ことにより作成される。例えば、PC−CacheFS
のためのセットアップ・プログラムがオンディスク・キ
ャッシュを”D”ドライブに配置するよう構成された場
合、オンディスク・キャッシュの全名前は”D:\CF
C.SYS”である。これが、キャッシングVxDがシ
ステムにより実行される最初である場合、該システムは
まだ、オンディスク・キャッシュをドライブ”D”上に
初期化していない。従って、”D”ドライブ・ディレク
トリが、ステップ5においてオンディスク・キャッシュ
・ファイル名”D:\CFC.SYS”について探索さ
れる。オンディスク・キャッシュ・ファイル名が”D”
ドライブ上にない場合、該”D”ドライブは標準オペレ
ーティング・システム・サービスを用いて初期化される
(即ち、作成される)。一旦、オンディスク・キャッシ
ュが存在すると、それは、ステップ7において、ディス
ク・ドライブ上で消費される空間量を決定するため走査
される。
【0019】ステップ7の出力とステップ2の「ノー
(否定)」の出力はステップ8に送られ、このステップ
8は到来するファイルI/O要求がキャッシングのため
指定された大容量蓄積装置のデータと関係するか否かを
決定する。否の場合、ファイルI/O要求は、ステップ
9において、IFSMGR VxDに対して「フックさ
れた」次のVxDにチェーン(chain)され、又は
フックされたVxDのチェーンに他のVxDがない場合
IFSMGR VxDに直接チェーンされる。他方、フ
ァイルI/O要求がキャッシュされるべきものである場
合、要求されたデータを含むファイルのフルパス名は、
そのオンディスク・キャッシュ名前にステップ10にお
いて変換される。一例として、CD−ROMファイル要
求は、”R:\FULL\PATH\PEADME.T
XT”であり得る。このフルパス名は、”D:\CF
S.SYS\R\FULL\PATH\README.
TXT”に変換される。変換オペレーションは、元のフ
ァイルの実際のパスを任意の時に急速に決定するため単
純、効率的且つ容易に可逆可能である。
【0020】次いで、ステップ11は、変換された名前
がオンディスク・キャッシュ・ディレクトリに存在する
か否かを決定する。否の場合、変換されたパス名は、オ
ンディスク・キャッシュ・ディレクトリにステップ12
において書き込まれ、新しいパスにとって要求されるロ
ーカル・ハードディスク・ドライブに何らかの親ディレ
クトリを作成する。次いで、ステップ13はファイル名
のためのミニデータベースを初期化する。ミニデータベ
ースは以下でより詳細に記載される。ここでは、オンデ
ィスク・キャッシュ内のブロックの一つもまだそのファ
イルのためのデータによりロードされていないことを指
示するため、ミニデータベースが初期化されると言えば
十分である。
【0021】ステップ14において、変換されたファイ
ル名のためのミニデータベースは、ファイルからのどの
データ・ブロック番号がキャッシュ内にロードされたか
を確かめるため処理される。ステップ15は、ミニデー
タベースに含まれるブロック番号が、要求されたデータ
がキャッシュされたCD−ROMドライブに存在するブ
ロック番号に対応するか否かを決定する。このようなブ
ロック番号がミニデータベース内に存在しない場合、ス
テップ16において、データが、ネットワーク又はCD
−ROMファイル・システムからシステム・データバス
を介して読み出され、オンディスク・キャッシュ内のデ
ータ・ブロックに書き込まれる。そして、ファイル・ミ
ニデータベースは、ファイル・データがキャッシュ・ブ
ロックに存在することを反映するよう更新される。
【0022】ステップ17において、キャッシュ内のデ
ータは、適切なブロックを見出すためのガイドとしてミ
ニデータベースを用いてアクセスされる。ステップ18
において、ファイルI/O要求は、オンディスク・キャ
ッシュから検索されたデータをシステム・データバス上
にロードすることにより解決される。次いで、プロセス
を完了するため、ステップ19において、制御はIFS
MGR VxDへ戻される。
【0023】これまで説明したように、ハードディスク
・ドライブの不揮発性キャッシュ内にキャッシュされる
各ファイルは、ハードディスク・ドライブ上でオンディ
スク・キャッシュ領域内に初期化される「ミニデータベ
ース」を当該各ファイルと関連付けさせる。本発明の好
適実施形態においては、ミニデータベースは256バイ
トのデータを含む。ミニデータベースはPC−Cach
eFSバージョン情報を保持し、その結果ミニデータベ
ースの構造が必要に応じて将来更新され得る。また、キ
ャッシュされる大容量蓄積装置上のファイルのサイズや
最後のファイル更新の時間のようなキャッシュ一貫性
(consistency)情報がミニデータベースに
含まれる。キャッシュ一貫性情報は、キャッシュ内に記
憶されたデータがキャッシュされたデバイス内に記憶さ
れたデータに関して有効であるか否かを決定するのを容
易にする。また、直接及び間接のブロック情報がミニデ
ータベースに含まれる。
【0024】本発明の好適実施形態においては、データ
が、キャッシュされた大容量蓄積装置から読み出され、
キャッシュに8キロバイト・ブロックで書き込まれる。
元のファイルにおける各8キロバイト・ブロックは、最
初、即ちファイルの「0」ブロックからのオフセットと
して番号が付される。例えば、「5」のオフセットは、
ファイルの始めから第6番目のブロックを指示する。本
発明の好適実施形態においては、ミニデータベースは、
キャッシュされているファイルに関連するキャッシュ内
で91個の8キロバイト・ブロックを直接識別(即ち、
指し示す)ことができる。ミニデータベースはまた、別
の16個の間接ブロックを指し示すことができる。間接
ブロックは、キャッシュされているファイルのための8
キロバイト・ブロックの数が91を越えるときいつでも
初期化される。間接ブロックは、補足マッピング・テー
ブルに変換されてしまった、キャッシュ内の8キロバイ
ト・データ・ブロックである。各ブロック指名子が2バ
イトを必要とするので、各8キロバイト間接ブロック
は、キャッシュされているファイルのためのデータを含
む追加の4098個の8キロバイト・データ・ブロック
を指し示すことができる。ミニデータベースは、最大1
6個の間接ブロックを指し示すのに十分な容量を持つ。
こうして、このデータ構成により、いずれのキャッシュ
されたファイルの最初の745472バイトは、直接ブ
ロック指名子をミニデータベース内で用いることにより
直接参照されることができる。16個の利用可能な間接
ブロックは、追加の65536個の8キロバイト・ブロ
ックのための準備をする。こうして、約525メガバイ
トまでのサイズのファイルがキャッシュされ得る。40
00のオフセットを持つブロックに到達するため、プロ
グラム・コードは、このオフセットが直接ブロック(そ
のブロックは単に91個である。)内にないことを決定
し、且つ所望のデータ・ブロックのためのポインタが最
初の間接ブロック内で第3909番の倍バイト値で見出
されることを(4000から91を減算することによ
り)計算する。この位置の値は、キャッシュ内で所望の
データ・ブロックを直接指し示す。
【0025】要求された倍バイト・ポインタが間接ブロ
ック内に見出されるときデータ・ブロック位置オペレー
ションを強化する手段として、オンディスク・キャッシ
ュ・コードが、最後の間接ブロックが後続のアクセスの
ため必要とされる場合に読み出されるこの最後の間接ブ
ロックを記録する。この技術は、データを非常に大きな
ファイルから読み出す場合の性能を改善する。
【0026】こうして、これまで記載された、ハードデ
ィスク・ドライブを用いるネットワーク及びCD−RO
Mのアクセスをキャッシュする方法は、キャッシュされ
たファイル・パス名と新しいパス名との間の効率的な変
換を提供する。なお、新しいパス名は、ハードディスク
・ディレクトリに書き込むことができ、そしてキャッシ
ュされたデータがロードされる、ハードディスク・ドラ
イブ上のファイルを識別する。更に、本方法は、各キャ
ッシュされたファイルのためのミニデータベースを含む
ハードディスク・ドライブ上のキャッシュ構造を初期化
するための準備する。そのミニデータベースは倍バイト
・ポインタを記憶する。その各ポインタは、元のファイ
ルのキャッシュされたブロックの位置を直接識別する
か、倍バイト・ポインタをも記憶する間接ブロックを指
し示すかのいずれかである。その各倍バイト・ポインタ
は元のファイルのキャッシュされたブロックの位置を直
接識別する。
【0027】本発明が好適実施形態を参照して特に示さ
れ且つ記載されてきたが、本発明の精神及び範囲から離
れることなく形態及び詳細構成における種々の変更がな
され得ることは当業者には理解されるであろう。
【図面の簡単な説明】
【図1】本発明に従った方法のコンピュータにより実現
されるステップを実施するコンピュータ・システムを示
す。
【図2】ハードディスク・ドライブをアクセスするネッ
トワーク及びCD−ROMをキャッシングする方法を実
現する論理動作フローを表すフローチャートを示す。
【符号の説明】
1 プロセッサ 2 I/Oセクション 3 中央処理ユニット(CPU) 4 メモリ・セクション 5 キーボード 6 ディスプレイ・ユニット 7 CD−ROMドライブ・ユニット 8 CD−ROM媒体 9 ディスク記憶ユニット 10 プログラム
フロントページの続き (71)出願人 597004720 2550 Garcia Avenue,MS PAL1−521,Mountain V iew,California 94043− 1100,United States of America (72)発明者 ブライアン・バーリナー アメリカ合衆国コロラド州80919,コロラ ド・スプリングス,シルバー・スプリン グ・サークル 379

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ・システムにより制御され
    るハードディスク・ドライブ上で、当該ハードディスク
    ・ドライブのアクセス速度より遅いアクセス速度を持つ
    大容量蓄積装置に記憶されたファイル・データをキャッ
    シュする方法であって、前記コンピュータ・システムに
    ロードされるオペレーティング・システムによりなされ
    たファイル入力/出力(I/O)要求に応答する方法に
    おいて、 受け取られたファイルI/O要求に関連するデータを含
    む大容量蓄積装置上のファイルのフルパス名を、指定さ
    れたドライブ上のキャッシュ・ディレクトリ内のファイ
    ル名と対応するファイル名に変換するステップと、 前記の変換されたファイル名が前記ハードディスク・ド
    ライブのキャッシュ・ディレクトリに存在するか否かを
    決定するステップと、 前記の変換されたファイル名が前記ディレクトリに存在
    しない場合、何も存在しないならばキャッシュ・ディレ
    クトリを作成し、前記の変換されたファイル名を前記キ
    ャッシュ・ディレクトリに書込み、前記キャッシュ内の
    大容量蓄積装置ファイル・データを識別して指し示すミ
    ニデータベースを、前記の変換されたファイル名と関連
    するファイルのため作成するステップと、 オンディスク・キャッシュ名前ファイルと関連するミニ
    データベースを処理して、大容量蓄積装置ファイルのど
    の部分が前記キャッシュに存在するかを決定するステッ
    プと、 前記の受け取られたI/O要求と関連する大容量蓄積装
    置ファイル・データが前記キャッシュにあるか否かを決
    定するステップと、 前記の受け取られたファイルI/O要求と関連するデー
    タが前記キャッシュにない場合、データを前記大容量蓄
    積装置から読出し、当該データを前記キャッシュに書込
    み、前記ミニデータベースを更新するステップと、 前記受け取られたファイルI/O要求を前記キャッシュ
    のデータにより解決するステップとを備える方法。
  2. 【請求項2】 受け取られたファイルI/O要求を受け
    取ると、前記の受け取られた要求がオペレーティング・
    システムのブート時間の初期化中になされているか否か
    を決定するステップと、 前記の受け取られた要求がブート時間の初期化中になさ
    れている場合、指定されたドライブ上のキャッシュのた
    めの指定された名前に対応する名前を作成し、当該作成
    された名前が前記指定されたドライブ上に既に存在する
    か否かを決定するステップと、 前記の作成された名前が既に前記指定されたドライブに
    存在する場合、前記の作成された名前を有するキャッシ
    ュが前記指定されたドライブに存在することを推定し、
    前記キャッシュを走査して当該キャッシュにより占めら
    れるディスク空間量を決定するステップと、 前記の作成された名前が前記指定されたドライブに存在
    しない場合、作成された名前を有するキャッシュを走査
    する前に当該キャッシュを前記指定されたドライブに作
    成するステップとを更に備える請求項1記載の方法。
  3. 【請求項3】 前記の作成することに直ぐ続いて前記ミ
    ニデータベース内のデータを初期化して、前記のオンデ
    ィスク・キャッシュ名前と関連するファイルのためのデ
    ータがまだ前記キャッシュに書き込まれていないことを
    指示するステップをも備える請求項1記載の方法。
  4. 【請求項4】 コンピュータ・システムにより制御され
    るハードディスク・ドライブ上で、当該ハードディスク
    ・ドライブのアクセス速度より遅いアクセス速度を持つ
    大容量蓄積装置に記憶されたファイル・データをキャッ
    シュする方法であって、前記コンピュータ・システムに
    ロードされるオペレーティング・システムによりなされ
    たファイル入力/出力(I/O)要求に応答する方法に
    おいて、 受け取られたファイルI/O要求に関連するデータを含
    む大容量蓄積装置上のファイルのフルパス名を、指定さ
    れたドライブ上のキャッシュ・ディレクトリ内のファイ
    ル名と対応するファイル名に変換することを与えるステ
    ップと、 前記の変換されたファイル名が前記ハードディスク・ド
    ライブのキャッシュ・ディレクトリに存在するか否かを
    決定することを与えるステップと、 前記の変換されたファイル名が前記ディレクトリに存在
    しない場合、何も存在しないならばキャッシュ・ディレ
    クトリを作成することを与え、前記の変換されたファイ
    ル名を前記キャッシュ・ディレクトリに書き込むことを
    与え、前記キャッシュ内の大容量蓄積装置ファイル・デ
    ータを識別して指し示すミニデータベースを、前記の変
    換されたファイル名と関連するファイルのため作成する
    ことを与えるステップと、 大容量蓄積装置ファイルのどの部分が前記キャッシュに
    存在するかを決定すること、オンディスク・キャッシュ
    名前ファイルと関連するミニデータベースを処理するこ
    とを与えるステップと、 前記の受け取られたI/O要求と関連する大容量蓄積装
    置ファイル・データが前記キャッシュにあるか否かを決
    定することを与えるステップと、 前記の受け取られたファイルI/O要求と関連するデー
    タが前記キャッシュにない場合、データを前記大容量蓄
    積装置から読み出すこと、当該データを前記キャッシュ
    に書込み、前記ミニデータベースを更新することを与え
    るステップと、 前記受け取られたファイルI/O要求を前記キャッシュ
    のデータにより解決することを与えるステップとを含む
    方法。
  5. 【請求項5】 受け取られたファイルI/O要求を受け
    取ると、前記の受け取られた要求がオペレーティング・
    システムのブート時間の初期化中になされているか否か
    を決定することを与えるステップと、 前記の受け取られた要求がブート時間の初期化中になさ
    れている場合、指定されたドライブ上のキャッシュのた
    めの指定された名前に対応する名前を作成すること、当
    該作成された名前が前記指定されたドライブ上に既に存
    在するか否かを決定することを与えるステップと、 前記の作成された名前が既に前記指定されたドライブに
    存在する場合、前記の作成された名前を有するキャッシ
    ュが前記指定されたドライブに存在することを推定する
    こと、前記キャッシュにより占められるディスク空間量
    を決定するため前記キャッシュを走査することを与える
    ステップと、 前記の作成された名前が前記指定されたドライブに存在
    しない場合、前記の作成された名前を有するキャッシュ
    を走査する前に当該キャッシュを前記指定されたドライ
    ブに作成することを与えるステップとを更に備える請求
    項4記載の方法。
  6. 【請求項6】 前記の作成することに直ぐ続いて前記ミ
    ニデータベース内のデータを初期化して、前記のオンデ
    ィスク・キャッシュ名前と関連するファイルのためのデ
    ータがまだ前記キャッシュに書き込まれていないことを
    指示するステップをさらに含む、請求項4記載の方法。
  7. 【請求項7】 少なくとも1つのローカル・ハードディ
    スク・ドライブを制御するローカル・コンピュータ・シ
    ステムにより直接制御される指定されたローカル・ハー
    ドディスク・ドライブ上で、当該指定されたハードディ
    スク・ドライブのアクセス速度より遅いアクセス速度を
    持つ大容量蓄積装置に記憶されたファイル・データをキ
    ャッシュする方法であって、オペレーティング・システ
    ムによりなされたファイル入力/出力(I/O)要求に
    応答する方法において、 受け取られるファイルI/O要求を受け取ると、前記の
    受け取られた要求がオペレーティング・システムのブー
    ト時間の初期化中になされているか否かを決定するステ
    ップと、 前記の受け取られた要求がブート時間の初期化中になさ
    れている場合、前記ローカル・コンピュータ・システム
    により制御されるドライブのうちのどれが前記指定され
    たドライブであるかを決定し、前記指定されたドライブ
    上のキャッシュのための指定された名前に対応する名前
    を作成し、当該作成された名前が前記指定されたドライ
    ブ上に既に存在するか否かを決定するステップと、 前記の作成された名前が既に前記指定されたドライブに
    存在する場合、前記の作成された名前を有するキャッシ
    ュが前記指定されたドライブに存在することを推定し、
    前記キャッシュを走査して当該キャッシュにより占めら
    れるディスク空間量を決定し、一方、前記の作成された
    名前が前記指定されたドライブに存在しない場合、作成
    された名前を有するキャッシュを走査する前に当該キャ
    ッシュを前記指定されたドライブに作成するステップ
    と、 前記の受け取られたファイルI/O要求がキャッシュさ
    れるべきであるか否かを決定するステップと、 前記の受け取られたファイルI/O要求がキャッシュさ
    れるべきでない場合、前記キャッシュする方法を終了さ
    せ、一方、前記の受け取られたファイルI/O要求がキ
    ャッシュされるべきである場合、前記の受け取られたフ
    ァイルI/O要求に関連するデータを含む大容量蓄積装
    置上のファイルのフルパス名を、オンディスク・キャッ
    シュ名前に変換するステップと、 前記オンディスクキャッシュ名前が前記指定されたディ
    スク・ドライブ上のディレクトリに存在するか否かを決
    定するステップと、 前記オンディスク・キャッシュ名前が前記ディレクトリ
    に存在しない場合、オンディスク・キャッシュ名前をデ
    ィレクトリに書込み、オンディスク・キャッシュ名前と
    関連するファイルのためのミニデータベースであって前
    記大容量蓄積装置ファイルの部分の前記キャッシュ内に
    おける存在及び位置を指示するよう作成された当該ミニ
    データベースを作成し、前記オンディスク・キャッシュ
    名前と関連するファイルのためのデータがまだ前記キャ
    ッシュに書き込まれていないことを指示するためデータ
    を前記ミニデータベース内に初期化し、一方、前記オン
    ディスク・キャッシュ名前が前記ディレクトリに存在す
    る場合、前記の書込み及び初期化のステップを飛ばすス
    テップと、 前記オンディスク・キャッシュ名前ファイルと関連する
    ミニデータベースを処理して大容量蓄積装置ファイルの
    どの部分が前記キャッシュに存在するかを決定するステ
    ップと、 前記の受け取られたI/O要求と関連する大容量蓄積装
    置ファイル・データが前記キャッシュにあるか否かを決
    定するステップと、 前記の受け取られたファイルI/O要求と関連する大容
    量蓄積装置ファイル・データが前記キャッシュにある場
    合、ミニデータベースをその位置のガイドとして用いて
    前記の関連するデータをアクセスし、一方、前記の関連
    するデータが前記キャッシュにない場合、データを前記
    大容量蓄積装置から読出し、当該データを前記キャッシ
    ュに書込み、前記ミニデータベースを更新するステップ
    と、 ここで前記キャッシュ内のデータにより前記受け取られ
    たファイルI/O要求を解決するステップとを備える方
    法。
  8. 【請求項8】 ハードディスク・ドライブのアクセス速
    度より遅いアクセス速度を有する大容量蓄積装置に記憶
    されるファイル・データを、コンピュータ・システムに
    より制御される前記ハードディスク・ドライブ上にキャ
    ッシュするためのプロセスを実行するため具体化された
    コンピュータにより読取り可能なコードを有するコンピ
    ュータにより使用可能な媒体を備え、前記プロセスが前
    記コンピュータにロードされるオペレーティング・シス
    テムによりなされるファイル入力/出力(I/O)要求
    に応答する、コンピュータ・プログラム製品において、 受け取られたファイルI/O要求に関連するデータを含
    む前記大容量蓄積装置上のファイルのフルパス名を、指
    定されたドライブ上のキャッシュ・ディレクトリ内のフ
    ァイル名と対応するファイル名に変換することを前記コ
    ンピュータ・システムに実効させるよう構成されたコン
    ピュータにより読取り可能なプログラム・コード・デバ
    イスと、 前記の変換された名前が前記ディスク・ドライブのキャ
    ッシュ・ディレクトリに存在するか否かを決定すること
    を前記コンピュータ・システムに実効させるよう構成さ
    れたコンピュータにより読取り可能なプログラム・コー
    ド・デバイスと、 前記オンディスク・キャッシュ名前が前記ディレクトリ
    に存在しない場合、何も存在しないならばキャッシュ・
    ディレクトリを作成することと、前記の変換された名前
    を前記キャッシュ・ディレクトリに書き込むことと、前
    記キャッシュ内の大容量蓄積装置ファイル・データを識
    別して指し示すミニデータベースを、前記オンディスク
    ・キャッシュ名前と関連するファイルのため作成するこ
    ととをコンピュータに実効させるよう構成されたコンピ
    ュータにより読取り可能なプログラム・コード・デバイ
    スと、 前記大容量蓄積装置ファイルのどの部分が前記キャッシ
    ュに存在するかを決定するため、前記オンディスク・キ
    ャッシュ名前と関連するミニデータベースを処理するこ
    とを前記コンピュータ・システムに実効させるよう構成
    されたコンピュータにより読取り可能なプログラム・コ
    ード・デバイスと、 前記の受け取られたI/O要求と関連する大容量蓄積装
    置ファイル・データが前記キャッシュにあるか否かを決
    定することを前記コンピュータ・システムに実効させる
    よう構成されたコンピュータにより読取り可能なプログ
    ラム・コード・デバイスと、 前記の受け取られたファイルI/O要求と関連するデー
    タが前記キャッシュにない場合、当該データを前記大容
    量蓄積装置から読出して前記キャッシュに書込み、且つ
    前記ミニデータベースを更新することをコンピュータに
    実効させるよう構成されたコンピュータにより読取り可
    能なプログラム・コード・デバイスと、 前記の受け取られたファイルI/O要求を前記キャッシ
    ュのデータにより解決することを前記コンピュータ・シ
    ステムに実効させるよう構成されたコンピュータにより
    読取り可能なプログラム・コード・デバイスとを備える
    コンピュータ・プログラム製品。
  9. 【請求項9】 ファイルI/O要求を受け取ると、前記
    の受け取られたファイルI/O要求がオペレーティング
    ・システムのブート時間の初期化中になされているか否
    かを決定することを前記コンピュータ・システムに実効
    させるよう構成されたコンピュータにより読取り可能な
    プログラム・コード・デバイスと、 前記の受け取られたファイルI/O要求がブート時間の
    初期化中になされている場合、指定されたドライブ上の
    キャッシュのための指定された名前に対応する名前を作
    成し、当該作成された名前が前記指定されたドライブ上
    に既に存在するか否かを決定することを前記コンピュー
    タ・システムに実効させるよう構成されたコンピュータ
    により読取り可能なプログラム・コード・デバイスと、 前記の作成された名前が既に前記指定されたドライブに
    存在する場合、前記の作成された名前を有するキャッシ
    ュが前記指定されたドライブに存在することを推定し、
    前記キャッシュを走査して当該キャッシュにより占めら
    れるディスク空間量を決定することを前記コンピュータ
    ・システムに実効させるよう構成されたコンピュータに
    より読取り可能なプログラム・コード・デバイスと、 前記の作成された名前が前記指定されたドライブに存在
    しない場合、前記の作成された名前を有するキャッシュ
    を走査する前に当該キャッシュを前記指定されたドライ
    ブに作成することを前記コンピュータ・システムに実効
    させるよう構成されたコンピュータにより読取り可能な
    プログラム・コード・デバイスとを更に備える請求項8
    記載のコンピュータ・プログラム製品。
  10. 【請求項10】 前記の作成することに直ぐ続いて前記
    ミニデータベース内のデータを初期化して、前記のオン
    ディスク・キャッシュ名前と関連するファイルのための
    データがまだ前記キャッシュに書き込まれていないこと
    を指示することを前記コンピュータ・システムに実効さ
    せるよう構成されたコンピュータにより読取り可能なプ
    ログラム・コード・デバイスを更に備える請求項8記載
    のコンピュータ・プログラム製品。
  11. 【請求項11】 コンピュータ・システムと関係して実
    現されるキャッシング装置において、 データを変更可能に記憶し得るコンピュータ・システム
    により制御されるローカル不揮発性大容量蓄積装置であ
    って、キャッシュされたデータと当該キャッシュされた
    データと関連するロケータ・データとを記憶するディレ
    クトリを備えるローカル不揮発性大容量蓄積装置と、 前記ローカル大容量蓄積装置のアクセス時間より遅いア
    クセス時間を有し、且つ前記ローカル大容量蓄積装置に
    キャッシュされ得るファイルを記憶する大容量蓄積装置
    と、を備えるキャッシング装置。
  12. 【請求項12】 前記ロケータ・データは、キャッシュ
    される前記の遅い大容量蓄積装置からの各ファイルと関
    連するミニデータベースに記憶される請求項11記載の
    キャッシング装置。
  13. 【請求項13】 前記キャッシュ・ディレクトリに記憶
    されたキャッシュされたデータは、等しいサイズのデー
    タ・ブロック内に記憶され、前記キャッシュ・ディレク
    トリにおけるキャッシュされたデータの各ブロックは、
    前記の遅い大容量蓄積装置に記憶されたファイル内のデ
    ータの同じサイズのブロックに対応する請求項12記載
    のキャッシング装置。
  14. 【請求項14】 前記の遅い大容量蓄積装置に記憶され
    るファイルを作成するデータの各ブロックは、前記ファ
    イルの始めからオフセットされたブロックとして識別さ
    れる請求項13記載のキャッシング装置。
  15. 【請求項15】 前記ローカル大容量蓄積装置へキャッ
    シュされた、前記の遅い大容量蓄積装置上のファイルと
    関連したミニデータベースは、n個の直接ブロック・ポ
    インタの順序付けられたシーケンスを含み、各直接ブロ
    ック・ポインタは、前記の遅い大容量蓄積装置上の前記
    ファイル内のデータの最初のn個のブロックの一つに順
    に対応する請求項14記載のキャッシング装置。
  16. 【請求項16】 前記ミニデータベースは、更にm個の
    間接ブロック・ポインタを含み、各間接ブロック・ポイ
    ンタは、追加の直接ブロック・ポインタを含む前記キャ
    ッシュ・ディレクトリ内のデータベース・ブロックと関
    連し、各データベース・ブロックは、データ・ブロック
    と同一のサイズである請求項15記載のキャッシング装
    置。
  17. 【請求項17】 前記ミニデータベースはまた、最後に
    記録されたファイル・サイズと、前記ローカル大容量蓄
    積装置上にキャッシュされてしまった、前記の遅い大容
    量蓄積装置上の各ファイルについての更新時間とを識別
    するデータを含む請求項12記載のキャッシング装置。
  18. 【請求項18】 前記ローカル大容量蓄積装置がハード
    ディスク・ドライブであり、前記の遅い大容量蓄積装置
    がローカルCD−ROMドライブである請求項11記載
    のキャッシング装置。
  19. 【請求項19】 前記ローカル大容量蓄積装置がハード
    ディスク・ドライブであり、前記の遅い大容量蓄積装置
    が、前記コンピュータ・システムにデータ・リンクを介
    して結合され且つネットワークされたハードディスク・
    ドライブである請求項11記載のキャッシング装置。
  20. 【請求項20】 各ミニデータベースが256バイトを
    備え、各データ・ブロックが8キロバイトのサイズであ
    る請求項12記載のキャッシング装置。
JP9107483A 1996-05-01 1997-04-24 ローカル・ハードディスクを用いたキャッシング・ネットワーク及びcd−romファイル・アクセスのための方法 Pending JPH1069414A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/640,527 US5806085A (en) 1996-05-01 1996-05-01 Method for non-volatile caching of network and CD-ROM file accesses using a cache directory, pointers, file name conversion, a local hard disk, and separate small database
US640527 1996-05-01

Publications (1)

Publication Number Publication Date
JPH1069414A true JPH1069414A (ja) 1998-03-10

Family

ID=24568615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9107483A Pending JPH1069414A (ja) 1996-05-01 1997-04-24 ローカル・ハードディスクを用いたキャッシング・ネットワーク及びcd−romファイル・アクセスのための方法

Country Status (4)

Country Link
US (1) US5806085A (ja)
EP (1) EP0805395B1 (ja)
JP (1) JPH1069414A (ja)
DE (1) DE69700574T2 (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0901077A1 (en) * 1997-09-08 1999-03-10 Deutsche Thomson-Brandt Gmbh Cache enabling architecture
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
US7010532B1 (en) 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US6694317B1 (en) * 1997-12-31 2004-02-17 International Business Machines Corporation Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
AU2995999A (en) * 1998-03-10 1999-09-27 Ftp Software, Inc. Direct network file system
US6260043B1 (en) * 1998-11-06 2001-07-10 Microsoft Corporation Automatic file format converter
US6516426B1 (en) * 1999-01-11 2003-02-04 Seagate Technology Llc Disc storage system having non-volatile write cache
US6378037B1 (en) 1999-06-29 2002-04-23 International Business Machines Corporation Write-twice method of fail-safe write caching
US6295234B1 (en) 2000-05-31 2001-09-25 Texas Instruments Incorporated Sequencer based serial port
US6725342B1 (en) 2000-09-26 2004-04-20 Intel Corporation Non-volatile mass storage cache coherency apparatus
US20020087798A1 (en) * 2000-11-15 2002-07-04 Vijayakumar Perincherry System and method for adaptive data caching
US6609126B1 (en) 2000-11-15 2003-08-19 Appfluent Technology, Inc. System and method for routing database requests to a database and a cache
US6785767B2 (en) 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
US6798599B2 (en) * 2001-01-29 2004-09-28 Seagate Technology Llc Disc storage system employing non-volatile magnetoresistive random access memory
US7275135B2 (en) * 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
US6684372B2 (en) 2002-03-15 2004-01-27 Sun Microsystems, Inc. Method, system and computer product to translate electronic schematic files between computer aided design platforms
US7103724B2 (en) * 2002-04-01 2006-09-05 Intel Corporation Method and apparatus to generate cache data
GB0412815D0 (en) * 2004-06-09 2004-07-14 Hewlett Packard Development Co Pathname translation method and system
US7809777B2 (en) * 2005-07-01 2010-10-05 Qnx Software Systems Gmbh & Co. Kg File system having deferred verification of data integrity
US7970803B2 (en) 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US7873683B2 (en) 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US8959125B2 (en) * 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
CN101449256B (zh) 2006-04-12 2013-12-25 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
US8566503B2 (en) * 2006-08-25 2013-10-22 Qnx Software Systems Limited Multimedia filesystem having unified representation of content on diverse multimedia devices
US7908276B2 (en) * 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
EP2122461A4 (en) 2006-11-14 2010-03-24 Soft Machines Inc DEVICE AND METHOD FOR PROCESSING COMMUNICATIONS IN A MULTITHREAD ARCHITECTURE WITH CONTEXT CHANGES
EP2616928B1 (en) 2010-09-17 2016-11-02 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
KR101620676B1 (ko) 2011-03-25 2016-05-23 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트
KR101636602B1 (ko) 2011-03-25 2016-07-05 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
EP2689327B1 (en) 2011-03-25 2021-07-28 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
CN107729267B (zh) 2011-05-20 2022-01-25 英特尔公司 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构
US9442772B2 (en) 2011-05-20 2016-09-13 Soft Machines Inc. Global and local interconnect structure comprising routing matrix to support the execution of instruction sequences by a plurality of engines
US8769196B1 (en) * 2011-09-30 2014-07-01 Lenovo (Singapore) Pte. Ltd. Configuring I/O cache
KR101842550B1 (ko) 2011-11-22 2018-03-28 소프트 머신즈, 인크. 다중 엔진 마이크로프로세서용 가속 코드 최적화기
WO2013077876A1 (en) 2011-11-22 2013-05-30 Soft Machines, Inc. A microprocessor accelerated code optimizer
US8930674B2 (en) 2012-03-07 2015-01-06 Soft Machines, Inc. Systems and methods for accessing a unified translation lookaside buffer
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9229873B2 (en) 2012-07-30 2016-01-05 Soft Machines, Inc. Systems and methods for supporting a plurality of load and store accesses of a cache
US9430410B2 (en) * 2012-07-30 2016-08-30 Soft Machines, Inc. Systems and methods for supporting a plurality of load accesses of a cache in a single cycle
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
CN105247484B (zh) 2013-03-15 2021-02-23 英特尔公司 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
KR102063656B1 (ko) 2013-03-15 2020-01-09 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
GB2256735B (en) * 1991-06-12 1995-06-21 Intel Corp Non-volatile disk cache
US5519853A (en) * 1993-03-11 1996-05-21 Legato Systems, Inc. Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
US5584007A (en) * 1994-02-09 1996-12-10 Ballard Synergy Corporation Apparatus and method for discriminating among data to be stored in cache
US5588129A (en) * 1994-02-09 1996-12-24 Ballard; Clinton L. Cache for optical storage device and method for implementing same
EP0667579A1 (en) * 1994-02-09 1995-08-16 Ballard Synergy Corporation Cache for optical storage device
US5611066A (en) * 1994-02-28 1997-03-11 Data/Ware Development, Inc. System for creating related sets via once caching common file with each unique control file associated within the set to create a unique record image
US6119151A (en) * 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
EP0713183A3 (en) * 1994-11-18 1996-10-02 Microsoft Corp Network-independent shadow files
US5577224A (en) * 1994-12-13 1996-11-19 Microsoft Corporation Method and system for caching data

Also Published As

Publication number Publication date
DE69700574T2 (de) 2000-05-25
EP0805395A1 (en) 1997-11-05
US5806085A (en) 1998-09-08
EP0805395B1 (en) 1999-10-06
DE69700574D1 (de) 1999-11-11

Similar Documents

Publication Publication Date Title
JPH1069414A (ja) ローカル・ハードディスクを用いたキャッシング・ネットワーク及びcd−romファイル・アクセスのための方法
USRE43437E1 (en) Storage volume handling system which utilizes disk images
EP2176795B1 (en) Hierarchical storage management for a file system providing snapshots
US7930327B2 (en) Method and apparatus for obtaining the absolute path name of an open file system object from its file descriptor
US6192432B1 (en) Caching uncompressed data on a compressed drive
US5873118A (en) Method and system for storing file system state information in multiple sectors based on update frequency
US6061770A (en) System and method for real-time data backup using snapshot copying with selective compaction of backup data
US5363487A (en) Method and system for dynamic volume tracking in an installable file system
US7680836B2 (en) Systems and methods for a snapshot of data
US5991777A (en) System and method for performing defined actions when grafting the name space of one storage medium into the name space of another storage medium
JPH10124397A (ja) 多層キャッシング・システム及び該システムを実現するための方法
US20060168409A1 (en) File folding technique
WO2005008377A2 (en) Snapshots of file systems in data storage systems
JPH0812628B2 (ja) ファイルシステム装置およびその操作方法
JPH10198587A (ja) ファイル・システムの間接アドレシング方法及び装置
JP4855714B2 (ja) コンピュータオペレーティングシステムに渡ってコンピュータファイルへのアクセスを行うシステムおよび方法
JP2001517836A (ja) 1つの記憶媒体の名称空間を別の記憶媒体の名称空間に移植する場合に既定のアクションを実行するシステムおよび方法
US7836105B2 (en) Converting file-systems that organize and store data for computing systems
US5765192A (en) Method and computer program product to reuse directory search handles
US8898167B2 (en) Method of accessing files in electronic devices
US6643772B1 (en) Universal boot code for a computer network
US11847100B2 (en) Distributed file system servicing random-access operations
US9367330B1 (en) Method of accessing files in electronic devices
US8977657B2 (en) Finding lost objects in a file system having a namespace
JP2005215940A (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080208