JP2002541579A - 循環バッファを提供する装置と方法 - Google Patents

循環バッファを提供する装置と方法

Info

Publication number
JP2002541579A
JP2002541579A JP2000611157A JP2000611157A JP2002541579A JP 2002541579 A JP2002541579 A JP 2002541579A JP 2000611157 A JP2000611157 A JP 2000611157A JP 2000611157 A JP2000611157 A JP 2000611157A JP 2002541579 A JP2002541579 A JP 2002541579A
Authority
JP
Japan
Prior art keywords
buffer
logical block
block number
information
module
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
JP2000611157A
Other languages
English (en)
Inventor
トーマス ケイ ワン
パナジオティス ツィリゴティス
ラジーブ チャウラ
オミッド アマディアン
サンジャイ アール ラディア
Original Assignee
サンマイクロシステムズ インコーポレーテッド
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 サンマイクロシステムズ インコーポレーテッド filed Critical サンマイクロシステムズ インコーポレーテッド
Publication of JP2002541579A publication Critical patent/JP2002541579A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 循環バッファは、バッファの物理ブロック番号に対応する論理ブロックを用いて、実行される。論理ブロックは循環ブロックの物理ブロックにマップされ、バッファへのインデックスを作成するのに使用される。インデックス内の各エントリはバッファ内の一つ以上のブロックに対応し、バッファブロックとそれぞれ関連する論理ブロック番号を持つ。バッファから情報がアクセスされると、リクエストされた情報がバッファに記憶されているかどうかを判断するため、インデックスが参照される。この情報がバッファに記憶されている場合には、この情報に対応する論理ブロック番号がエントリから検索され、対応する物理ブロック番号に翻訳される。論理ブロック番号を用いることにより、バッファブロックが有効かどうか、バッファブロックがどれほど新しいかを簡単に判断できる。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は、概してバッファ、詳しくは循環バッファを作成および維持するため
の装置と方法に関連する。
【0002】 (背景技術) バッファとは、二つのエンティティ間で転送される情報を記憶するのに使用さ
れるメモリ領域である。バッファから読み取られるプロセスとバッファに書き込
まれるプロセスとが、異なる速度で、またはバッファ内に記憶される情報のブロ
ックサイズが異なって機能するように、同時に実行しているソフトウェアプロセ
スを切り離すのに、バッファが用いられることが多い。バッファ内の、情報を書
き込むロケーションを特定するには、入力ポインタが使用される。
【0003】 循環バッファは、循環アドレス指定方式を用いる特殊なタイプのバッファであ
る。データは、入力ポインタによって指し示されたバッファロケーションでバッ
ファに入力される。データがバッファに入力されるたびに入力ポインタは増分さ
れる。入力ポインタがバッファの最後に達すると、バッファの最初にラップアラ
ウンドされる。ゆえにラップアラウンドが発生すると、バッファの最初のデータ
が上書きされ始めるのである。
【0004】 循環バッファは一般的に、サイズの等しいブロックを含む。バッファのサイズ
は、バッファ内のブロックの数である。循環バッファは、入力ポインタとサイク
ル番号とを用いて実行される。入力ポインタは、新しい入力情報が記憶されるバ
ッファ内のブロックを指し、サイクル番号は、入力ポインタがバッファをラップ
アラウンドした回数を示す。各サイクルは世代と呼ばれる。ゆえに入力ポインタ
がすでにバッファを2回循環した場合、次のサイクルに追加される情報は第3世
代情報と見なされる。
【0005】 バッファに情報を追加する前に、バッファに入力される情報を保持するために
適当な数のブロックを割り当てる必要がある。ある循環バッファ方法では、割り
当てられたブロックはバッファ内で連続していなければならないため、バッファ
の一番下と一番上からは割り当てることができない。バッファをラップアラウン
ドする領域を循環バッファに割り当てるのは不可能である。ゆえに、入力ポイン
タから循環バッファの最後までN個のブロックがある場合、N個以上のブロック
の割当ては、ブロック番号0から開始しなければならない。このようなバッファ
スペースの使用は、非効率的である。
【0006】 即座に検索されなければならない情報を記憶するのに、循環バッファは有益で
ある。例えばUSENETニュース記事を記憶するのに、循環バッファが使用さ
れる。Fritchie, Scott L.の「The Cyclic News Filesystem:Getting INN to D
o More with Less」第11回システム管理会議議事録(LISA 197)参照。
【0007】 循環バッファはまた、比較的短時間で消える情報を記憶するのに有益である。
循環バッファのサイズが大きい場合には、上書きされる情報はすでに消えている
【0008】 循環バッファに記憶された情報を突き止めるのに、インデックスが用いられる
ことが多い。循環バッファのインデックステーブルは、一つ以上のインデックス
エントリの集合である。各インデックスエントリ(またはインデックス)は、特
定の情報とバッファ内におけるこの情報のロケーションとを特定するキー値から
成る。バッファ内のある情報を発見するには、所望の情報と関連したキー値を持
つインデックスエントリを発見するため、最初にインデックステーブルが走査さ
れる。正しいキーを持つインデックスエントリが発見されると、エントリ内の情
報ロケーションを用いて、バッファ内の情報が突き止められる。情報がバッファ
に追加されるかバッファから消去されるたびに、インデックスは修正されなけれ
ばならない。例えば消去された情報のインデックスエントリは除去されるか、旧
物と識別される。
【0009】 情報は循環バッファに連続的に追加されるので、旧情報は決して更新されない
。代わりに情報の新しいコピーが循環バッファに書き込まれ、この情報を特定す
るインデックスのロケーション情報が、新ロケーションを指すように更新される
。そのうえ、情報が上書きされると、上書きされた情報のインデックスエントリ
は除去されるか、旧物と識別されなければならない。インデックスエントリに占
められているメモリスペースを回復するには、旧物インデックスを除去すること
が望ましい。不都合なことに、循環バッファに記憶されて上書きされた情報のイ
ンデックスを突き止めることはかなり複雑で、かなりの時間を浪費する。ゆえに
参照された時に旧物インデックスを特定できる方法を用いることが望ましい。
【0010】 バッファブロックが上書きされたかどうかを判断するため、インデックスエン
トリのロケーション情報は、バッファブロックが割り当てられる時の循環バッフ
ァのサイクル番号を含まなければならない。インデックスが参照されると、次に
、インデックスのサイクル番号と、循環バッファの現在サイクル番号を用いて、
バッファブロックが上書きされたかどうかが判断される。
【0011】 ゆえに、従来の循環バッファでは、ブロックのコンテンツが上書きされたかど
うかを決定するには、サイクル番号(または世代番号)とブロックのブロック番
号の両方を必要とする。サイクル番号とブロック番号の両方が必要であることと
、これらを使用するため実行されなければならないアルゴリズムのため、従来の
循環バッファは非常に扱いにくい。そのため、単純で、実行の際に必要とするス
ペースが小さく、ブロックがバッファをラップアラウンドできる循環バッファの
必要性が存在する。
【0012】 (発明の開示) 本発明によるシステムと方法では、論理ブロックを用いる循環バッファを維持
及び使用する。論理ブロックと物理ブロックは同じサイズを持つ。バッファに情
報を記憶しバッファから情報を検索するため、バッファマネージャは、論理バッ
ファブロックを物理バッファブロックにマップする。
【0013】 バッファに記憶された新データは、連続論理ブロックの列に配置される。この
ような列はセルと呼ばれる。実行可能番号が最も高い論理ブロックを第1列が含
み、実行可能番号が最も低い論理ブロックを第2列が含む場合には、セルが正確
に2列の連続論理ブロックで構成されるという例外的なケースが生じる。
【0014】 セルの第1論理ブロックの論理ブロック番号と、バイトで表したセルのサイズ
とは、新データを特定する情報とともにインデックステーブルに記憶される。
【0015】 バッファマネージャは、インデックスを参照して所望の情報に関連する論理ブ
ロックを決定することによりバッファコンテンツにアクセスし、論理ブロック番
号を物理バッファブロックにマップする。論理ブロック番号によりバッファマネ
ージャは、ブロックが旧物であるかどうかだけでなく、論理バッファブロックの
新しさを簡単に決定できる。
【0016】 このようなシステムと方法は、上述した従来の循環バッファの問題を克服する
。発明の付加的な長所は、以下の説明から明らかになり、発明の実施により理解
できるだろう。上述した全体的説明と以下の詳細な説明は例示的な説明のための
ものに過ぎず、請求される発明を限定するものではないことを理解すべきである
【0017】 (発明を実施するための最良の形態) ここに開示される改良循環バッファによるシステムおよび方法では、連続通し
番号が付けられた論理ブロックを循環バッファの物理バッファブロックにマップ
するのに、インデックスを用いる。循環バッファへのインデックスは、論理ブロ
ック番号を用いて実行される。循環バッファに新情報が追加される時には、この
情報に次の論理ブロック番号が割り当てられる。新論理ブロック番号は物理循環
バッファブロックに対応する。次に新論理ブロック番号と情報に関連するキーと
がインデックスに追加される。論理ブロック番号から物理ブロック番号へのマッ
ピングは、論理ブロック番号と物理ブロック番号の関係を定義する数式に過ぎな
い。
【0018】 循環バッファから情報を検索するには、この情報に関連するキーを持つインデ
ックスエントリが存在するかどうかを判断するため、最初にインデックスが走査
される。このようなキーが存在する場合、このキーに関連する論理ブロック番号
を決定するためエントリがアクセスされる。論理ブロック番号は次に、物理ブロ
ック番号にマップされ、物理ブロック番号は循環バッファにアクセスするのに使
用される。
【0019】 一方法では、論理ブロック番号Cをバッファ内のブロック数Nで割った(つま
りC/N)余りを求めることにより、ブロック番号Cが物理ブロック番号に変換
される。ブロックが有効であるかどうかだけでなく、どのブロックが最新である
かを判断するのに論理ブロック番号を使用できる。最新ブロックとは、最高の論
理ブロック番号を持つブロックである。リクエストされた論理ブロック番号が、
バッファの実行に現在用いられている論理ブロック番号の範囲内であれば、その
ブロックは有効ブロックである。ゆえに論理ブロック番号は、循環バッファ内の
ブロックを特定するだけでなく、ブロックが上書きされた(つまり無効である)
かどうかを決定するのに使用される。
【0020】 本発明による循環バッファの一方法では、キャッシュプロクシサーバが、ネッ
トワークから情報を検索し、論理ブロックバッファ制御機構を用いて循環バッフ
ァに情報を記憶する。これにより、後でネットワークから検索しなくても、その
情報にアクセスできる。
【0021】システム 図1は、本発明の原理による論理ブロック循環バッファが実行されるシステム
を示すブロック図である。プロクシサーバ110は、ローカルエリアネットワー
ク(LAN)114と、ワイドエリアネットワークつまりインターネットなどの
ネットワーク116との間に接続されている。ユーザ118はLAN114に接
続されている。ユーザ118から情報のリクエストを受けると、プロクシサーバ
110は、パス120を介してネットワーク116から情報を検索し、パス12
2とLAN114とを介してこの情報をリクエスト者118に転送する。ネット
ワーク116から検索された情報はまた、後で使用するためプロクシサーバ11
0によってバッファリングされる。情報をバッファリングすることにより、プロ
クシサーバ110は、後でその情報が再度リクエストされた場合にこの情報を即
座に提供できる。
【0022】 図2は、プロクシサーバ110をより詳細に示すブロック図である。プロクシ
サーバ110は、当該技術では周知のようにコンピュータを用いて実行される。
図2に示されたブロックは、ハードウェア、ソフトウェア、ハードウェアとソフ
トウェアの組合せで実行される。
【0023】 プロクシサーバ110は、バッファ制御装置214に接続されたプロクシサー
バ制御装置210によって制御される。バッファ制御装置214は、インデック
ステーブル212とバッファ218と永久記憶装置216とに接続されている。
プロクシサーバ制御装置210は、LAN114に接続されたユーザ118から
、パス122を介して情報のリクエストを受け取る。プロクシサーバ制御装置2
10は、このリクエストをバッファ制御装置214に送る。バッファ制御装置2
14は、リクエストされた情報がバッファ218に存在するかどうかを決定する
ため、インデックステーブル212にアクセスする。この情報がバッファ218
に存在することをインデックステーブル212のエントリが示している場合、バ
ッファ制御装置214はバッファ218から情報を検索して、これをプロクシサ
ーバ制御装置210に戻す。今度はプロクシサーバ制御装置210が、情報をリ
クエストしたユーザ118にこの情報を戻す。
【0024】 バッファ制御装置214がインデックステーブル212から、リクエストされ
た情報をバッファ218が含まないと判断すると、情報はバッファリングされて
いないという指示がプロクシサーバ制御装置210に送られる。プロクシサーバ
制御装置210は、この指示を受けて、リクエストされた情報をネットワーク1
16からパス120を介して検索する。リクエストされた情報をネットワーク1
16から受け取ると、プロクシサーバ制御装置210は、リクエストされた情報
を、この情報をリクエストしたユーザ118にパス122を介して戻す。プロク
シサーバ制御装置210はまた、情報をバッファ制御装置214に転送する。バ
ッファ制御装置214は、情報をバッファ218に記憶し、バッファ218内の
新情報を反映させるためインデックステーブル212を更新する。
【0025】 バッファ制御装置214は、クラッシュやシャットダウン時など、システムが
停止した時に、インデックステーブル212とバッファ218とに記憶された情
報をバックアップするため、永久記憶装置216を用いる。これにより、システ
ムが停止してもバッファとインデックスの情報が保持される。システムが再始動
すると、バッファ制御装置214は、インデックステーブル212とバッファ2
18の各々に、セーブされたインデックスとバッファの情報を永久記憶装置21
6からロードすることにより、インデックステーブル212とバッファ218の
コンテンツを復元する。これによってプロクシサーバ110は、シャットダウン
前の状態で再始動できる。
【0026】 一方法において、バッファ制御装置214は論理ブロック循環バッファを実行
し、バッファ218に記憶された情報に応じてインデックステーブル212を維
持する。インデックステーブル212は、本発明の原理による論理ブロック番号
を用いて更新される。
【0027】論理ブロック 図3は、論理ブロック番号範囲312とバッファ218内のバッファブロック
との関係を示すブロック図である。論理ブロック番号範囲312は2に等しく
、yは論理ブロック番号を表すのに用いられるビットの数である。図3に示され
たように、論理ブロック番号範囲312内の特定の論理ブロック番号グループ(
「スライディングウィンドウ」)は、常にバッファ218の各ブロックを表し、
これにマップされる。バッファ218のブロックに新情報が記憶されると、図3
で「入力ポインタ」と示された次の論理ブロック番号が、この論理ブロック番号
を表すのに用いられる。このようにして、ブロック番号範囲312内のある論理
ブロック番号は、バッファ218内の各ブロックを表し、これにマップされるの
である。したがって、スライディングウィンドウ内の論理ブロック番号は、バッ
ファ218内の対応ブロックにすべてマップされるため、唯一の有効論理ブロッ
ク番号である。
【0028】 図4は、図3に示された、論理ブロック番号とバッファ218の物理ブロック
との関係を示すブロック図である。すなわち図4は、0からN−1の数字が付け
られた一連のブロックとして配列されたバッファ218を示すのである。連続ブ
ロック番号はバッファ218内の連続する各ブロックを表し、循環バッファを形
成するようにバッファ制御装置214によって管理される。N〜2N−1と2N
〜3N−1の2列の連続論理ブロック番号は、バッファ218の各ブロックにマ
ップする。ゆえに図3のように、N個の論理ブロック番号は常にN個のブロック
にそれぞれマップする。
【0029】論理ブロックインデックス 図5は、インデックステーブル212のインデックスエントリを示すブロック
図である。各インデックスエントリは、キーフィールド510とサイズフィール
ド512と論理ブロック番号フィールド514とから成る。キー510は、バッ
ファ218に記憶された特定の情報を特定する情報から成る。例えばIDはユニ
フォームリソースロケータ(URL)の形式でよい。サイズフィールド512は
、バッファ218に記憶された特定情報グループのサイズを定義する情報から成
り、ブロック番号514はバッファ218に記憶された物理ブロックに対応する
論理ブロック番号である。ブロック番号514は例えば、バッファ218内のブ
ロックの物理ブロック番号に翻訳される32ビット数である。
【0030】 論理ブロック番号514は、バッファ218内における情報のロケーションを
特定するため、インデックステーブル212で用いられる。情報がバッファ21
8に記憶されると、新情報を反映するようにインデックステーブル212が更新
されなければならない。バッファ218から情報が検索されると、第一に、この
情報がバッファ218に記憶されているかどうか、記憶されている場合には、第
二に、情報の論理ブロック番号を決定するのにインデックステーブル212が用
いられる。ブロックにアクセスするため、論理ブロック番号は対応する物理バッ
ファブロック番号に翻訳される。これらのプロセスとサポートする装置について
、以下、より詳細に説明する。
【0031】情報の挿入 図6は、入力ポインタIPが最大値Mに達した時にIPのラップアラウンドを
用いて、プロクシサーバ制御装置210によりネットワーク116から検索され
た情報をバッファ218に挿入する、バッファ制御装置214のプロセスを示す
流れ図である。IPの値は、新情報の記憶が可能な次の利用可能論理ブロックの
番号である。バッファ制御装置214は、URLとこのURLに対応する情報と
をプロクシサーバ制御装置210から受け取る(ステップ610)。次にバッフ
ァ制御装置214は情報のサイズと(ステップ612)、情報を記憶するのに必
要なバッファ218のブロック数とを決定する。
【0032】 最大範囲Mは、入力ポインタIPが最高数2−1に達してゼロに戻るという
条件を回避するため、論理バッファのサイズに対する任意のリミットとして用い
られる。最大範囲MはバッファサイズNの整数倍であり、M+N>2−1とな
るように選択される。入力ポインタIPが最大範囲Mに達することがあり得る。
バッファを管理する際には、この条件を検討しなければならない。
【0033】 〈旧入力ポインタIP+情報の記憶に必要なブロック数〉が最大範囲Mより大
きくない場合(ステップ614)、新入力ポインタIPは単純に、〈旧入力ポイ
ンタIP+情報の記憶に必要なブロック数〉に設定される(ステップ616)。
情報は、旧入力ポインタの値によって特定されたブロックから始まるバッファ2
18の連続ブロックに記憶される。
【0034】 新入力ポインタIPが最大範囲Mより大きく、入力ポインタIPが論理バッフ
ァの最初にラップアラウンドすることを意味する場合には、〈情報の記憶に必要
なブロック数−最大範囲Mと旧入力ポインタとの差〉に、新入力ポインタが設定
される(ステップ618)。情報は、2列の連続論理ブロックとして記憶される
(ステップ620)。第1列は、旧入力ポインタの値から始まる論理ブロックか
ら、論理ブロックM−1までの範囲である。第2列は、0から、新入力ポインタ
によって特定された論理ブロックまで(これを含まない)の、論理ブロック範囲
である。
【0035】 次にバッファ制御装置214は、インデックステーブル212にURLがすで
に記憶されているかどうかを判断するため、インデックステーブル212を走査
する(ステップ622)。このURLに対応するインデックステーブル212に
エントリがあれば、このエントリに関連する論理ブロック番号が、この情報の旧
入力ポインタ番号と新サイズとで置換され(ステップ624)、プロセスが終了
する。URLに対応するインデックスエントリがインデックステーブル212に
ない場合、図5に示されたタイプの新インデックスエントリが作成され(ステッ
プ626)、プロセスから出る。
【0036】バッファアクセス 図7は、プロクシサーバ制御装置210からのリクエストを受けてバッファ2
18から情報を検索するバッファ制御装置214の一部を示すブロック図である
。バッファ制御装置214は、キー分析手段710と、論理ブロック番号確認手
段712と、論理ブロック番号−物理ブロック番号マップ714(図3のマップ
310に対応)と、バッファアクセス716とから成る。キー分析手段710は
、プロクシサーバ制御装置210からURLを含むリクエストを受け取り、この
URLに対応するブロック番号をインデックステーブル212から決定する。U
RLがインデックステーブル212に見つからない場合には、バッファが情報を
含まないとの指示が、パス718を介してプロクシサーバ制御装置210に戻さ
れる。
【0037】 キー分析手段710は、インデックステーブル212内にURLを発見した場
合、論理ブロック番号とサイズフィールドとをブロック番号確認手段712に転
送する。論理ブロック番号確認手段712は、バッファ218のブロックを表す
のに現在使用されている有効論理ブロック番号のウィンドウ内に論理ブロック番
号があるかどうか判断するため、この論理ブロック番号に関するアルゴリズムを
実行する。論理ブロック番号がウィンドウ内にない場合、パス720を介して無
効指示がプロクシサーバ制御装置210に送られる。論理ブロック番号が有効な
場合、論理ブロック番号とサイズとが論理ブロック番号−物理ブロック番号マッ
プ310に転送され、ここで論理ブロック番号がバッファ218の対応する物理
ブロック番号に変換される。物理ブロック番号とサイズは、バッファアクセス7
16に転送される。バッファアクセス716は、物理ブロック番号(サイズフィ
ールドにより、次のブロックも)の情報をバッファ218から検索して、検索さ
れた情報をパス722を介してプロクシサーバ制御装置210に戻す。
【0038】 図8は、論理ブロック番号確認手段712をより詳細に示すブロック図である
。論理ブロック番号確認手段712は、入力ポインタ810と、バッファサイズ
812と、論理ブロック番号範囲計算手段814とから成る。論理ブロック番号
範囲計算手段814は、論理ブロック番号(CN)と、キー分析手段710によ
りインデックステーブル212で発見されたURLに対応するサイズとを受け取
る。現在入力ポインタ810とバッファサイズ812とに基づいて、論理ブロッ
ク番号範囲計算手段814は、キー分析手段710から受け取られた論理ブロッ
ク番号が有効かどうかを決定する。この計算では、現在論理ブロック番号CNが
有効かどうかを決定するのに、入力ポインタ(IP)810とバッファサイズ(
N)812とを用いる。CNは、図3の「スライディングウィンドウ」で示され
た、現在入力ポインタとバッファサイズとの間のウィンドウになければならない
【0039】 通常、入力ポインタIPは、バッファにデータが追加されるたびに増分される
に過ぎない。しかし入力ポインタIPが単純に増分されない例もある。一例は、
入力ポインタIPがNにリセットされる時である。これは、システムがクラッシ
ュした時や、任意のリミットに達した時など、様々な状況で発生する。入力ポイ
ンタIPが単純に増分されない別の例は、入力ポインタIPが最大範囲Mに達し
て、ゼロにラップアラウンドする時である。
【0040】 論理ブロック番号の最大範囲が十分に大きい場合、論理循環バッファの最後に
決して達しない可能性がある。例えば、装置の寿命中に必要とされるブロック数
よりも最大範囲Mが大きい場合、任意のリミット最大範囲Mに達することは決し
てない。論理ブロック番号のサイズが32ビットの整数で表される場合、論理ブ
ロック番号の最大値は232−1、つまり約40億である。64ビットのブロッ
ク番号が使用される場合、論理循環バッファの最後に決して到達しない可能性が
非常に高い。
【0041】 同様に、システムクラッシュ時や他の何らかの事象が起きた際に入力ポインタ
IPが周期的にリセットされるようにバッファが実行される場合、最大範囲Mに
達しない可能性がある。しかし、入力ポインタIPがバッファの最初にリセット
される必要のある状況が見られる。この場合にバッファ制御装置214は、論理
ブロックの入力ポインタをNの初期値にリセットすることにより、インデックス
テーブル全体を周期的にパージする。こうしてバッファを効果的に消去できる。
例えば図3では、スライディングウィンドウは、有効論理ブロック番号の集合I
P−Nを示す。現在入力ポインタIPがNよりはるかに大きい場合、スライディ
ングウィンドウを最初(つまり開始論理ブロック番号N)まで移動させることに
より、現在の論理ブロック番号の集合が旧物となる。
【0042】 一実施例では、状況に応じて入力ポインタIPが二つの方法で管理される。第
一の場合、例えば入力ポインタIPが論理バッファのサイズ最大範囲Mにごく近
い時や、新ブロックが追加される時に、入力ポインタIPはバッファの最初まで
ラップアラウンドする。この場合、入力ポインタIPは0とNの間の値を持つ。
第二の場合、システムが周期的に入力ポインタIPにリセットする時や、システ
ムクラッシュその他の事象で入力ポインタIPをリセットする時には、入力ポイ
ンタIPはNにリセットされる。
【0043】 リクエストが有効な論理ブロック番号についてのものかどうかを決定する際に
は、入力ポインタIPの処理、リセット、ラップアラウンドの各方法を考慮に入
れなければならない。より詳しく述べると、論理ブロック番号が有効かどうかを
判断する際に、入力ポインタIPがゼロにラップアラウンドするかNにリセット
されるかどうかを検討しなければならないのである。
【0044】 図9は、論理ブロック番号確認手段712によって実行される処理を示す流れ
図である。ラップアラウンドの条件は、IP<Nで示される(ステップ910)
。IP<Nの場合、論理ブロック番号がIPより小さいかM−(N−IP)以上
ならば有効であると見なされる(ステップ914)。第二に、ラップアラウンド
でない場合、IP>=Nの時、論理ブロック番号の値がIP−N以上でIP未満
であれば、論理ブロック番号は有効である(ステップ912)。
【0045】 検査の結果に基づいて、論理ブロック番号確認手段712は有効指示(ステッ
プ916)または無効指示(ステップ918)を戻す。論理ブロック番号が有効
でない場合、論理ブロック番号確認手段712は、パス720を介してプロクシ
サーバ制御装置210に無効指示を与える。論理ブロック番号が有効である場合
、論理ブロック番号を物理バッファブロック数に分析するため、論理ブロック番
号とサイズが論理ブロック番号−物理ブロック番号マップ310に転送される。
【0046】 要約すると、従来の循環バッファでは、ブロックの有効性と新しさを決定する
のに、ブロックの世代番号とブロック番号とを必要とする。ここに開示された本
発明の原理による装置と方法では、従来の世代番号とブロック番号とを、ブロッ
クの有効性と新しさとを決定するのに用いられる一つの論理ブロック番号に単純
化することにより、結果的に、循環バッファアルゴリズムがより単純になる。
【0047】 (産業上の利用可能性)結論 本発明の原理によるネットワークアクセス装置と方法には、発明の範囲と趣旨
から逸脱しない様々な変形と変更が可能であることは、当業者には自明であろう
。幾つかの実施例について上述したが、本発明の原理による趣旨と範囲に包含さ
れる他の変更が可能である。
【0048】 循環バッファの形で本発明を説明したが、この原理はいかなるタイプのバッフ
ァにも適用される。論理ブロックの柔軟性により、従来のバッファリングシステ
ムで必要とされるオーバヘッド処理の複雑さが低下する。
【0049】 ここに開示された論理ブロックバッファは、プロクシサーバ以外の環境でも使
用できる。例えば、論理ブロックバッファは、バッファが必要とされるいかなる
環境でも使用される。
【0050】 ここに開示された装置は、この装置によって実行されるプロセスをサポートす
るものと理解すべきであり、同様に、ここに開示されたプロセスは、プロセスの
ステップを実行するのに必要な装置をサポートするものと理解すべきである。さ
らに、ここで開示された装置と方法は、ハードウェアのみ、ソフトウェアのみ、
ハードウェアとソフトウェアの組合せで実行されることを理解すべきである。
【0051】 ここに開示された本発明による装置と方法は、循環バッファの維持と使用に関
連している。ここに説明された装置と方法を実施するプロクシサーバ110によ
って実行される一つ以上の命令シーケンスにより、バッファの全体または一部が
実行される。この命令は、記憶装置などのコンピュータ読取り可能な媒体から、
プロクシサーバ110によって読み取られる。プロクシサーバ110による命令
シーケンスの実行により、ここで説明した本発明によるプロセスステップが実行
される。プロクシサーバ110による命令シーケンスの実行は、プロセスステッ
プを実施する装置要素を実行することであると考えられる。ソフトウェア命令の
代わりに、またはソフトウェアと組み合わせて、配線による回路を使用して、本
発明を実行してもよい。ゆえに本発明の実施例は、ハードウェア回路とソフトウ
ェアの特定組合せには限定されない。
【0052】 ここで使用された「コンピュータ使用可能媒体」の語は、実行のための命令を
記憶する何らかの媒体を指す。このような媒体は、不揮発性メモリ媒体、揮発性
メモリ媒体、伝送媒体を含むが、これらに限定されるわけではない。不揮発性メ
モリ媒体は、例えば光学または磁気ディスクを含む。揮発性メモリ媒体はRAM
を含む。伝送媒体は例えば、同軸ケーブル、銅線、光ファイバ、電線を含む。伝
送媒体は、電波や赤外線データ通信の際に発生するものなど、音波や光波の形を
取る。
【0053】 コンピュータ読取り可能媒体に共通する形態は、例えば、フロッピー(登録商 標)ディスク、フレキシブルディスク、ハードディスク、磁気テープその他の磁 気記憶媒体、CD−ROMその他の光学媒体、パンチカード、紙テープその他の 孔パターンを持つ物理媒体、RAM、PROM、EPROM、FLASH−EP ROMその他のメモリチップやカートリッジ、後述する搬送波、その他のコンピ ュータによる読取りと使用が可能な媒体を含む。
【0054】 ここに説明された循環バッファの全体または一部を実行するための一つ以上の
実行命令シーケンスを実施する際には、様々な形態のコンピュータ読取り媒体が
必要とされる。例えば命令は最初に、磁気ディスクや遠隔コンピュータで実施さ
れる。遠隔コンピュータは命令をダイナミックメモリにロードし、モデムを介し
た電話回線により命令を送る。コンピュータシステムのローカルなモデムは、電
話回線でデータを受け取り、赤外線送信機を用いてデータを赤外線信号に変換す
る。適当な回路に結合された赤外線検出手段は、赤外線信号で搬送されたデータ
を受け取り、このデータをバスに載せる。バスはデータをメモリに搬送し、ここ
からプロセッサが命令を検索および実行する。メモリに受け取られた命令は、プ
ロセッサによる実行の前後に、任意で記憶装置に記憶される。
【0055】 明細書を検討し開示された実施例を実施すれば、発明の他の実施例は当業者に
は自明だろう。明細書と実施例は単なる例に過ぎず、発明の真の範囲と趣旨は以
下の請求項とその均等物とによって画定される。
【図面の簡単な説明】
【図1】 本発明の原理による循環バッファが実行されるシステムを示すブロック図であ
る。
【図2】 プロクシサーバ110をより詳細に示すブロック図である。
【図3】 論理ブロック番号とバッファ218内の物理ブロックとの関係を示すブロック
図である。
【図4】 論理ブロック番号とバッファ218内の物理ブロックとの関係を示す別のブロ
ック図である。
【図5】 インデックステーブル212のインデックスエントリを示すブロック図である
【図6】 ネットワーク116からプロクシサーバ制御装置210によって検索された新
情報をバッファ218に挿入する時のバッファ制御装置214のプロセスを示す
流れ図である。
【図7】 バッファ218から情報を検索するバッファ制御装置214の一部を示すブロ
ック図である。
【図8】 ブロック番号確認手段712をより詳細に示すブロック図である。
【図9】 ブロック番号確認手段712によって実行される処理を示す流れ図である。
【符号の説明】
110 プロクシサーバ 210 プロクシサーバ制御装置 212 インデックステーブル 214 バッファ制御装置 218 バッファ 310 論理ブロック番号の物理ブロックへのマップ
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AG,AL,AM,AT,AU, AZ,BA,BB,BG,BR,BY,CA,CH,C N,CU,CZ,DE,DK,DZ,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MD ,MG,MK,MN,MW,MX,NO,NZ,PL, PT,RO,RU,SD,SE,SG,SI,SK,S L,TJ,TM,TR,TT,UA,UG,UZ,VN ,YU,ZA,ZW (72)発明者 チャウラ ラジーブ アメリカ合衆国、94555、カリフォルニア 州、フレモント、ナイランダー テラス 34459、 (72)発明者 アマディアン オミッド アメリカ合衆国、94025、カリフォルニア 州、メンロ パーク、シダー ストリート 2040 (72)発明者 ラディア サンジャイ アール アメリカ合衆国、94539、カリフォルニア 州、フレモント、ボア サークル 883 Fターム(参考) 5B060 AB20 AC19 5B082 BA02 FA02 FA05

Claims (39)

    【特許請求の範囲】
  1. 【請求項1】 バッファから情報のリクエストを受け取るための受取手段と
    、 前記リクエストに基づいて論理ブロック番号を決定するための決定手段と、 前記論理ブロック番号を前記バッファの物理ブロック番号に翻訳するための翻
    訳手段と、 前記物理ブロック番号を用いて前記情報にアクセスするためのバッファアクセ
    ス手段と、 から成る、バッファから情報を検索するための装置。
  2. 【請求項2】 前記決定手段が、 前記バッファへのインデックスを記憶するための記憶装置と、 前記インデックスにアクセスして、前記リクエストに関連した前記論理ブロッ
    ク番号を決定するためインデックスアクセス手段と、 から成る、請求項1に記載の装置。
  3. 【請求項3】 さらに、 前記論理ブロック番号を確認するための確認手段、 から成る、請求項1に記載の装置。
  4. 【請求項4】 前記確認手段が、 前記論理ブロック番号が前記バッファを現在画定している論理ブロック番号の
    範囲内にあるかどうかを判断するための範囲装置、 から成る、請求項3に記載の装置。
  5. 【請求項5】 前記確認手段がさらに、 情報を保持する次のブロックを表す論理ブロック番号を明確にする入力ポイン
    タを記憶するための入力ポインタ記憶装置と、 前記バッファのサイズのインジケータを記憶するためのインジケータ記憶装置
    と、 から成る、請求項4に記載の装置。
  6. 【請求項6】 前記確認手段が、 ラップアラウンドが発生したかどうかを判断するためのラップアラウンド判断
    手段、 から成る、請求項3に記載の装置。
  7. 【請求項7】 前記確認手段がさらに、 ラップアラウンド条件が発生したかどうかによりリクエストが有効かどうかを
    決定するための範囲確認手段、 から成る、請求項3に記載の装置。
  8. 【請求項8】 前記翻訳手段が、 論理ブロック番号をブロックで表された前記バッファサイズで割る除算手段、
    から成る、請求項1に記載の装置。
  9. 【請求項9】 前記バッファに情報を記憶するリクエストを受け取るための
    リクエスト受取手段と、 論理ブロック番号入力ポインタに基づいて前記情報を記憶するためのバッファ
    ブロックを選択するための選択手段と、 前記情報を前記バッファブロックに記憶するための記憶手段と、 から成る、バッファに情報を記憶するための装置。
  10. 【請求項10】 前記選択手段が、 前記論理ブロック番号入力ポインタから物理ブロック番号を計算するための手
    段、 から成る、請求項9に記載の装置。
  11. 【請求項11】 さらに、 前記バッファブロックに対応する論理ブロック番号を記憶するための論理ブロ
    ック記憶装置、 から成る、請求項9に記載の装置。
  12. 【請求項12】 前記論理ブロック記憶装置が、 前記情報に対応するインデックスエントリが前記インデックスにすでに記憶さ
    れているかどうかを判断するキー分析手段、 から成る、請求項11に記載の装置。
  13. 【請求項13】 さらに、 前記情報を前記バッファに記憶するのに必要なブロックの数を決定するための
    サイズ決定手段と、 前記情報を前記バッファに記憶するのに必要なブロックの数に基づいて、次の
    論理ブロック番号入力ポインタを新しい番号に設定するための論理ブロック番号
    入力ポインタ設定手段と、 から成る、請求項9に記載の装置。
  14. 【請求項14】 バッファから情報のリクエストを受け取る段階と、 前記リクエストに関連する論理ブロック番号を決定する段階と、 前記論理ブロック番号を前記バッファの物理ブロック番号に翻訳する段階と、 前記物理ブロック番号を用いて前記情報を検索する段階と、 から成る、バッファ管理方法。
  15. 【請求項15】 論理ブロック番号を決定する段階が、 記憶されたインデックスにアクセスする段階、 を含む、請求項14に記載の方法。
  16. 【請求項16】 さらに、 前記論理ブロック番号を確認する段階、 を含む、請求項14に記載の方法。
  17. 【請求項17】 前記論理ブロック番号を確認する段階が、 前記論理ブロック番号が前記バッファを現在画定している論理ブロック番号の
    範囲内であるかどうかを判断する段階、 を含む、請求項16に記載の方法。
  18. 【請求項18】 前記確認段階が、ラップアラウンドが発生したかどうかを
    判断する段階を含む、請求項16に記載の方法。
  19. 【請求項19】 前記確認段階がさらに、ラップアラウンド条件が発生した
    かどうかによりリクエストが有効かどうかを判断する段階を含む、請求項18に
    記載の方法。
  20. 【請求項20】 前記論理ブロック番号を翻訳する段階が、 論理ブロック番号をブロックで表されたバッファサイズで割る段階、 を含む、請求項14に記載の方法。
  21. 【請求項21】 バッファに情報を記憶するリクエストを受け取る段階と、 論理ブロック番号入力ポインタに基づいて前記情報を記憶するためのバッファ
    ブロックを選択する段階と、 前記論理ブロック番号入力ポインタに対応するバッファブロックに前記情報を
    記憶する段階と、 から成る、バッファ管理方法。
  22. 【請求項22】 バッファブロックを選択する前記段階が、 前記論理ブロック番号入力ポインタから物理ブロック番号を計算する、 段階を含む、請求項21に記載の方法。
  23. 【請求項23】 さらに、 前記バッファブロックに対応する論理ブロック番号を記憶する、 段階を含む、請求項21に記載の方法。
  24. 【請求項24】 論理ブロック番号を記憶する前記段階が、 前記情報に対応するインデックスエントリが前記インデックスにすでに記憶さ
    れているかどうかを判断する、 段階を含む、請求項23に記載の方法。
  25. 【請求項25】 さらに、 前記情報を前記バッファに記憶するのに必要なブロックの数を決定する、 段階を含む、請求項21に記載の方法。
  26. 【請求項26】 さらに、 前記情報を前記バッファに記憶するのに必要なブロックの数に基づいて、前記
    論理ブロック番号入力ポインタを新しい数に設定する、 段階を含む、請求項25に記載の方法。
  27. 【請求項27】 バッファを管理するためのコンピュータ読取コードが組み
    込まれたコンピュータ使用可能媒体、 から成り、該コンピュータ使用可能媒体が、 バッファから情報のリクエストを受け取るように構成された受取モジュールと
    、 前記リクエストに関連する論理ブロック番号を決定するための決定モジュール
    と、 前記論理ブロック番号を前記バッファの物理ブロック番号に翻訳するための翻
    訳モジュールと、 前記物理ブロック番号を用いて前記情報を検索するための検索モジュールと、 から成る、コンピュータプログラム生成物。
  28. 【請求項28】 さらに、 記憶されたインデックスにアクセスするためのアクセスモジュール、 から成る、請求項27に記載のコンピュータプログラム生成物。
  29. 【請求項29】 さらに、 前記論理ブロック番号を確認するための確認モジュール、 から成る、請求項27に記載のコンピュータプログラム生成物。
  30. 【請求項30】 前記確認モジュールが、 ラップアラウンドが発生したかどうかを判断するためのラップアラウンド判断
    モジュール、 から成る、請求項29に記載のコンピュータプログラム生成物。
  31. 【請求項31】 前記確認モジュールがさらに、 ラップアラウンド条件が発生したかどうかによりリクエストが有効かどうかを
    決定するための範囲確認モジュール、 から成る、請求項30に記載のコンピュータプログラム生成物。
  32. 【請求項32】 さらに、 前記論理ブロック番号が前記バッファにより現在画定されている論理ブロック
    番号の範囲内にあるかどうかを判断するための判断モジュール、 から成る、請求項29に記載のコンピュータプログラム生成物。
  33. 【請求項33】 さらに、 論理ブロック番号をブロックで表された前記バッファサイズで割るための除算
    モジュール、 から成る、請求項23に記載のコンピュータプログラム生成物。
  34. 【請求項34】 バッファを管理するためのコンピュータ読取可能コードが
    組み込まれたコンピュータ使用可能媒体、 から成り、該コンピュータ使用媒体が、 前記バッファに情報を記憶するリクエストを受け取るための受取モジュールと
    、 論理ブロック番号入力ポインタに基づいて前記情報を記憶するためのバッファ
    ブロックを選択するための選択モジュールと、 前記論理ブロック番号入力ポインタに対応するバッファブロックに前記情報を
    記憶するための記憶モジュールと、 から成る、コンピュータプログラム生成物。
  35. 【請求項35】 さらに、 前記論理ブロック番号入力ポインタから物理ブロック番号を計算するための計
    算モジュール、 から成る、請求項34に記載のコンピュータプログラム生成物。
  36. 【請求項36】 さらに、 前記バッファブロックに対応する論理ブロック番号を記憶するための記憶モジ
    ュール、 から成る、請求項34に記載のコンピュータプログラム生成物。
  37. 【請求項37】 さらに、 前記情報に対応するインデックスエントリが前記インデックスにすでに記憶さ
    れているかどうかを判断するための判断モジュール、 から成る、請求項34に記載のコンピュータプログラム生成物。
  38. 【請求項38】 さらに、 前記情報を前記バッファに記憶するのに必要なブロックの数を決定するための
    決定モジュール、 から成る、請求項34に記載のコンピュータプログラム生成物。
  39. 【請求項39】 さらに、 前記情報を前記バッファに記憶するのに必要なブロックの数に基づいて前記論
    理ブロック番号入力ポインタを新しい番号に設定するための設定モジュール、 から成る、請求項38に記載のコンピュータプログラム生成物。
JP2000611157A 1999-04-08 2000-04-06 循環バッファを提供する装置と方法 Pending JP2002541579A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/288,023 US6807615B1 (en) 1999-04-08 1999-04-08 Apparatus and method for providing a cyclic buffer using logical blocks
US09/288,023 1999-04-08
PCT/US2000/008989 WO2000062154A1 (en) 1999-04-08 2000-04-06 Apparatus and method for providing a cyclic buffer

Publications (1)

Publication Number Publication Date
JP2002541579A true JP2002541579A (ja) 2002-12-03

Family

ID=23105425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000611157A Pending JP2002541579A (ja) 1999-04-08 2000-04-06 循環バッファを提供する装置と方法

Country Status (6)

Country Link
US (1) US6807615B1 (ja)
EP (1) EP1181639B1 (ja)
JP (1) JP2002541579A (ja)
AU (1) AU4072500A (ja)
DE (1) DE60006957D1 (ja)
WO (1) WO2000062154A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097107A (ja) * 2006-10-06 2008-04-24 Seiko Epson Corp データ記録装置及びその制御方法
JP2015026243A (ja) * 2013-07-26 2015-02-05 アズビル株式会社 記録データ処理方法および情報処理装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269608B2 (en) * 2001-05-30 2007-09-11 Sun Microsystems, Inc. Apparatus and methods for caching objects using main memory and persistent memory
US7856660B2 (en) * 2001-08-21 2010-12-21 Telecommunication Systems, Inc. System for efficiently handling cryptographic messages containing nonce values
US7187689B1 (en) * 2001-10-29 2007-03-06 Juniper Networks, Inc. Self-cleaning mechanism for error recovery
US20030126196A1 (en) * 2001-12-27 2003-07-03 Todd Lagimonier System for optimizing the invocation of computer-based services deployed in a distributed computing environment
US6941441B2 (en) * 2003-03-12 2005-09-06 Intel Corporation Method and apparatus for handling cyclic buffer access
US7894174B2 (en) * 2004-08-23 2011-02-22 Monolithic Power Systems, Inc. Method and apparatus for fault detection scheme for cold cathode fluorescent lamp (CCFL) integrated circuits
US7788463B2 (en) * 2007-02-13 2010-08-31 Microsoft Corporation Cyclic buffer management
CN101453818B (zh) 2007-11-29 2014-03-19 杭州茂力半导体技术有限公司 放电灯的电路保护和调节装置
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
US9037788B2 (en) * 2010-09-30 2015-05-19 Micron Technology, Inc. Validating persistent memory content for processor main memory
US20120198267A1 (en) * 2011-01-31 2012-08-02 Srinjoy Das System and Method for Facilitating Data Transfer Between a First Clock Domain and a Second Clock Domain
US9236064B2 (en) 2012-02-15 2016-01-12 Microsoft Technology Licensing, Llc Sample rate converter with automatic anti-aliasing filter
US10089025B1 (en) 2016-06-29 2018-10-02 EMC IP Holding Company LLC Bloom filters in a flash memory
US10055351B1 (en) 2016-06-29 2018-08-21 EMC IP Holding Company LLC Low-overhead index for a flash cache
US10261704B1 (en) 2016-06-29 2019-04-16 EMC IP Holding Company LLC Linked lists in flash memory
US10037164B1 (en) 2016-06-29 2018-07-31 EMC IP Holding Company LLC Flash interface for processing datasets
US10146438B1 (en) 2016-06-29 2018-12-04 EMC IP Holding Company LLC Additive library for data structures in a flash memory
US10331561B1 (en) * 2016-06-29 2019-06-25 Emc Corporation Systems and methods for rebuilding a cache index
CN111432899B (zh) 2017-09-19 2022-04-15 Bae系统控制有限公司 用于管理对共享端口的多核访问的系统和方法
US10944697B2 (en) * 2019-03-26 2021-03-09 Microsoft Technology Licensing, Llc Sliding window buffer for minimum local resource requirements

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4482952A (en) * 1980-12-15 1984-11-13 Nippon Electric Co., Ltd. Virtual addressing system using page field comparisons to selectively validate cache buffer data on read main memory data
EP0314740A1 (en) 1987-05-14 1989-05-10 Ncr Corporation Memory addressing system
KR920001282B1 (ko) * 1987-10-02 1992-02-10 가부시키가이샤 히타치세이사쿠쇼 버퍼메모리 제어장치
US5603008A (en) * 1992-09-30 1997-02-11 Amdahl Corporation Computer system having cache memories with independently validated keys in the TLB
CA2134061A1 (en) * 1993-10-28 1995-04-29 Aaron William Ogus Frame buffering of network packets
US5574944A (en) * 1993-12-15 1996-11-12 Convex Computer Corporation System for accessing distributed memory by breaking each accepted access request into series of instructions by using sets of parameters defined as logical channel context
JP2550921B2 (ja) * 1994-08-26 1996-11-06 日本電気株式会社 環状バッファ制御装置
JP2842313B2 (ja) * 1995-07-13 1999-01-06 日本電気株式会社 情報処理装置
US5923900A (en) * 1997-03-10 1999-07-13 International Business Machines Corporation Circular buffer with n sequential real and virtual entry positions for selectively inhibiting n adjacent entry positions including the virtual entry positions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097107A (ja) * 2006-10-06 2008-04-24 Seiko Epson Corp データ記録装置及びその制御方法
JP2015026243A (ja) * 2013-07-26 2015-02-05 アズビル株式会社 記録データ処理方法および情報処理装置

Also Published As

Publication number Publication date
AU4072500A (en) 2000-11-14
EP1181639B1 (en) 2003-12-03
WO2000062154A1 (en) 2000-10-19
US6807615B1 (en) 2004-10-19
EP1181639A1 (en) 2002-02-27
DE60006957D1 (de) 2004-01-15

Similar Documents

Publication Publication Date Title
JP2002541579A (ja) 循環バッファを提供する装置と方法
US7908276B2 (en) Filesystem having a filename cache
US7269608B2 (en) Apparatus and methods for caching objects using main memory and persistent memory
US6766418B1 (en) Methods and apparatus for accessing data using a cache
KR100330576B1 (ko) 컴퓨터네트워크로부터월드와이드웹상의페이지위치을파악하고문서위치를파악하는시스템및방법
US6052697A (en) Reorganization of collisions in a hash bucket of a hash table to improve system performance
US8521790B2 (en) Increasing efficiency of data storage in a file system
US7191289B2 (en) Method and system for an atomically updated, central cache memory
JP4489292B2 (ja) 高性能オブジェクト・キャッシュ
US7802070B2 (en) Approach for de-fragmenting physical memory by grouping kernel pages together based on large pages
JP4317531B2 (ja) 複数のメモリ・バッファ・サイズを均衡させるためのシステムおよび方法
JP2002540502A (ja) データベースシステムにおけるバーチャルメモリマッピングとトランザクションマネージメントのポインターリロケーションオプチミゼーションの方法及び装置
JPH10133950A (ja) ページテーブル更新方法および装置
US20050240716A1 (en) System and method for interfacing index based and interator based application programming interfaces
US7200731B2 (en) Memory leak detection
US20070050551A1 (en) Cache method and cache system for storing file's data in memory blocks divided from cache memory
CN112115002A (zh) 从损坏或不可信机械硬盘恢复文件的方法及装置
US7509461B1 (en) Method and apparatus for intelligent buffer cache pre-emption
US7765378B1 (en) Utilization of memory storage
US6618792B1 (en) Method and apparatus for locating data in computer systems
US20020184441A1 (en) Apparatus and methods for caching objects using main memory and persistent memory
US8028011B1 (en) Global UNIX file system cylinder group cache
US6834330B2 (en) Pre-fetch of records identified by an I/O trace
US20030154221A1 (en) System and method for accessing file system entities
JPH09297702A (ja) 情報処理装置及びシステム及びその制御方法