JPH10254779A - 分散キャッシュシステム - Google Patents

分散キャッシュシステム

Info

Publication number
JPH10254779A
JPH10254779A JP9060794A JP6079497A JPH10254779A JP H10254779 A JPH10254779 A JP H10254779A JP 9060794 A JP9060794 A JP 9060794A JP 6079497 A JP6079497 A JP 6079497A JP H10254779 A JPH10254779 A JP H10254779A
Authority
JP
Japan
Prior art keywords
cache
bus
data
address
path
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
JP9060794A
Other languages
English (en)
Inventor
Hiroshi Shikame
洋志 鹿目
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP9060794A priority Critical patent/JPH10254779A/ja
Publication of JPH10254779A publication Critical patent/JPH10254779A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 本発明は、キャッシュが接続されるバスの他
にキャッシュ制御に係わる経路を独立して設けることに
より、バスの負担軽減をはかった分散キャッシュシステ
ムを構築することを主な特徴とする。 【解決手段】 キャッシュ制御に係わるバス9をシステ
ムバス8とは独立して設け、キャッシュ内蔵の制御ロジ
ック43は、キャッシュ4(5、6)ならびに各キャッ
シュが共有しているデータをあるデバイス1(2、3)
がローカルに更新した場合、バス9を介して他のキャッ
シュへの更新アドレス通知を行う。キャッシュ制御ロジ
ック43は、更に、他のデバイスのキャッシュにヒット
したとき、ライトバックならびに他のキャッシュに対す
るデータブロードキャストをバス9を介して行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デバイス毎ローカ
ルなキャッシュを持ち、キャッシュ共有時におけるキャ
ッシュ間データの一貫性を維持できる分散キャッシュシ
ステムに関する。
【0002】
【従来の技術】メモリアクセスを高速化するために、メ
モリを階層構造とし、常時はCPU内蔵のキャッシュメ
モリから、キャッシュメモリにないデータは外部の主記
憶装置からデータを得るといったキャッシュメモリシス
テムが頻繁に使用され、最近ではマイクロプロセッサに
も内蔵されるに至った。
【0003】一方、CPU毎ローカルなキャッシュを持
つマルチプロセッシングシステムの他、PCIバスの普
及とともに、ストレージデバイス等入出力デバイスにも
キャッシュを持つものがバスに分散配置されるようにな
った。以降、キャッシュを持つCPUもしくは入出力デ
バイスを単にデバイスと称して説明を行う。
【0004】ところで、上述した分散キャッシュシステ
ムでは、あるキャッシュ上の有効データが他のキャッシ
ュと共有されている状態で、そのキャッシュが接続され
たデバイスによってローカルにデータ更新がなされた場
合、更新されたキャッシュは、自身以外のキャッシュに
そのデータ更新を通知しなければならない。更新の通知
を受けたキャッシュはそのキャッシュが持つデータエン
トリを更新しなければならない。通常この更新通知のた
めにシステムバス相当が使用される。
【0005】
【発明が解決しようとする課題】上述した従来の分散キ
ャッシュシステムでは、キャッシュデータ更新の通知を
システムバスを使用するため、都度システムバスを占有
することになり、バストラフィックがシステム性能を低
下させる。また、それぞれの分散キャッシュの個数、容
量の増大とともにデータ更新通知による性能低下が目立
つようになる。
【0006】本発明は上記事情に鑑みてなされたもので
あり、キャッシュが接続されるバスの他にキャッシュ制
御に係わる経路を独立して設けることにより、バスの負
担軽減をはかった分散キャッシュシステムを提供するこ
とを目的とする。
【0007】
【課題を解決するための手段】本発明の分散キャッシュ
システムは、それぞれにキャッシュが接続される1以上
のデバイスを共通接続する、アドレス、データ、コント
ロールのための複数の経路を持つ第一のバスと、第一の
バスが持つ複数の経路のうち、システムに接続されるキ
ャッシュが共通接続され、そのキャッシュの制御に係わ
る経路を上記バスとは独立して設けられる第二のバスと
を具備し、この第二のバスを使用してキャッシュ間で共
有されたデータに対するローカルなデータの更新を知
り、キャッシュ間のデータの一貫性を維持することを特
徴とする。
【0008】第二のバスは、少なくとも各キャッシュ間
でアドレス通知を行う経路、キャッシュヒットを通知す
る経路、アドレスとそのアドレスに対する操作を通知す
る経路、データを通知する経路の少なくとも1個、また
はその組み合わせを含む。
【0009】更に本発明の分散キャッシュシステムは、
それぞれにキャッシュが接続される1以上のデバイスを
共通接続する、アドレス、データ、コントロールのため
の複数の経路を持つ第一のバスと、第一のバスが持つ複
数の経路のうち、システムに接続されるキャッシュが共
通接続され、そのキャッシュの制御に係わる経路を上記
バスとは独立して設けられる第二のバスと、キャッシュ
本体ならびに各キャッシュが共有しているデータをある
デバイスがローカルに更新した場合、上記第二のバスを
介して他のキャッシュへの更新アドレス通知を行うキャ
ッシュ制御ロジックを具備することを特徴とする。キャ
ッシュ制御ロジックは、他のデバイスのキャッシュにヒ
ットしたとき、ライトバックならびに他のキャッシュに
対するデータブロードキャストを第二のバスを介して行
う。
【0010】このことにより、システムバスのトラフィ
ック量が減るためキャッシュ制御にかかるシステムバス
の負担が軽減され、システム性能向上に寄与する。
【0011】
【発明の実施の形態】図1は本発明の実施例を示すブロ
ック図である。図において、1、2、3はデバイスであ
り、それぞれがローカルなキャッシュ4、5、6を持
つ、もしくは内蔵(6)する。本発明実施例ではデバイ
ス3としてキャッシュ内蔵のインテル社製Pentiu
mプロセッサを想定している。デバイス1、2としてプ
ロセッサを並列に配置したマルチプロセッサ構成、ある
いはストレージデバイス、グラフィクスメモリ等後述す
る主記憶と同様の内容を保持、更新するローカルなメモ
リを持つデバイスを想定している。7は主記憶装置であ
り、上述したデバイス123に共通使用される。8はバ
スであり、36本のアドレスライン(ADR)、32本
のデータライン(DAT)、20本のコマンド他制御ラ
イン(CTL)で構成される。バス8はシステムを構成
する各デバイスが共通接続されるシステムバスであった
り、あるいはシステムバス(ローカルバス)にブリッジ
を介し接続されるPCIバスを想定している。
【0012】9は本発明の特徴であるキャッシュコント
ロールバスである。バス構造は上述したシステムバス構
造と同様、もしくは後述するように、キャッシュ制御に
係わるラインのみシステムバスから独立した経路を構成
している。バス構造は、図3乃至図6に変形例として示
されている。詳細は後述する。
【0013】図2は図1に示すキャッシュ4(5、6)
の内部構成を示すブロック図である。図において、41
はテータキャッシュであり、主記憶装置7の一部写しが
格納されている。42はタグメモリであり、アドレスデ
ータが格納されている。43はキャッシュ制御ロジック
であり、バス8、9のアクセスプロトコル(バス争奪、
開放、調停)に従うバスインタフェース制御ならびにキ
ャッシュのリードライト制御を司る。キャッシュのリー
ドライト制御として、デバイス1(2、3)からアクセ
ス要求を受け、タグメモリ42を介してアドレスチェッ
クを行い、リードライト応答を行う他、バスの8、9の
アドレスを常に監視し、主記憶との間でロールインロー
ルバック処理に伴うデータ取り込み、掃き出し操作なら
びに、アドレス更新通知等を行う。
【0014】キャッシュ制御バス9の構造について以下
の4つの変形例を説明する。
【0015】図3に第1の変形例が示されている。図か
らわかるように、各デバイス1、2に接続されたキャッ
シュ4、5、キャッシュ6を内蔵するデバイス3を接続
するバス8の他に、キャッシュ制御バス9として、各キ
ャッシュ4、5、6間でアドレス通知を行う経路91を
独立して設けたものである。各キャッシュ4、5、6間
を結ぶアドレス通知経路91をバス8が持つアドレス経
路と独立して設けたことにより、各キャッシュ4、5、
6が共有しているデータを、あるデバイス1(2、3)
がローカルに内容更新した場合の他のキャッシュ5
(6)への更新アドレス通知をバス8を用いることなく
実現できる。
【0016】図4に第2の変形例が示されている。92
はアドレス通知経路である。第1の実施例に比し、アド
レス通知経路92の本数が少なくなっているのが異な
る。第1の変形例では36本、第2の実施例では30本
のアドレス線を想定している。このことにより、各キャ
ッシュ4、5、6への更新アドレス通知をバス8を用い
ることなく実現でき、その際一部アドレスを使用するた
め、第1の変形例よりもハードウェア量の削減ができ
る。
【0017】図5に第3の変形例が示されている。図5
に示す変形例は、図3に示す第1の変形例に、更にキャ
ッシュヒットを通知する経路(制御線)93を付加した
ものである。この経路93を通じて他のデバイス2
(3)のキャッシュ5(6)がデータ共有状態を通知で
きるため、キャッシュ1内蔵のキャッシュ制御ロジック
43は、他のデバイス2(3)のキャッシュ5(6)に
ヒットしたとき、即ち、キャッシュ共有時に、バス8の
データ線を使用してライトバックや他のキャッシュ5
(6)へのデータブロードキャストを行う。
【0018】図6に第4の変形例が示されている。図6
に示す変形例は、図3に示す第1の変形例に、更にその
アドレスに対するリードライト操作を通知する経路(コ
マンド線)94を付加したものである。あるデバイス1
(2、3)がローカルにキャッシュ4の内容変更をした
場合、他のキャッシュ5(6)への更新アドレス通知を
バス8を用いることなく行うのは勿論のこと、無効なラ
インへのリード時にもリード操作を指定し上述したアド
レス通知経路91にアドレスを出力し、このラインの有
効なコピーを持っているキャッシュが存在していた場
合、このキャッシュ4からバス8を介してデータをロー
ドする。このことにより、バス8の使用率が軽減される
他、無効ラインへのリードが他のキャッシュにヒットし
た場合のデータロードにかかわるレイテンシが改善され
る。
【0019】図7に第5の変形例が示されている。図7
に示す変形例は、図3に示す第1の変形例と図5に示す
第3の変形例に、更にデータを通知する経路95を付加
したものである。あるデバイス1(2、3)がローカル
にキャッシュ4の内容を変更した場合、キャッシュ4内
蔵のキャッシュ制御ロジック43は、アドレス通知経路
91を介し他のキャッシュ5(6)に更新アドレスの通
知を行い、コヒーレンシを維持する。また、キャッシャ
内蔵のキャッシュ制御ロジック43は、上述したアドレ
ス通知経路91を介し、他のデバイス2、3のキャッシ
ュ5、6に対してデータ共有状態を通知できるため、他
のデバイス2(3)のキャッシュ5(6)にヒットした
キャッシュデータ共有時に、ライトバックや、他のキャ
ッシュ5(6)へのデータブロードキャストを専用のデ
ータ経路95を用いて行う。いずれの制御もキャッシュ
制御に係わるバス8の使用率が軽減されるため、バス8
にかかる負担が著しく改善され、バス性能の向上に寄与
することができる。
【0020】以上説明のように本発明は、キャッシュが
接続されるバスの他にキャッシュ制御に係わる経路を独
立して設けることにより、バスの負担軽減をはかったも
のである。
【0021】本発明はマルチプロセッサ構成における分
散キャッシュシステムに適用して最適であるが、ストレ
ージデバイス、グラフィックスメモリ等主記憶と同様の
内容を保持、更新するローカルメモリを持ったデバイス
に対しても有効である。
【0022】
【発明の効果】以上説明のように、本発明は、分散キャ
ッシュ間のデータの一致性を確保するために欠くことの
できない、キャッシュ間で共有されたデータに対するロ
ーカルなデータの更新通知を行う経路を付加することに
より、システム内部で汎用的なデータ転送に用いられる
バスの使用率を軽減できる。データ更新通知を行う経路
に加え、更に種々の経路を付加することにより以下に列
挙する効果も得られる。
【0023】(1)アドレス通知を行う経路として一部
アドレスを用いることにより、ハードウェア量の削減も
はかれる。
【0024】(2)更に、キャッシュヒットを通知する
経路、ならびにデータ経路を付加することにより、キャ
ッシュ共有時にライトバックや他のキャッシュへのデー
タブロードキャストを行う制御が可能となる。
【0025】(3)更に、コマンドを通知する経路を付
加することにより、無効ラインへのリードが他のキャッ
シュにヒットした場合データロードのレイテンシが改善
される。
【図面の簡単な説明】
【図1】本発明の実施例を示すブロック図。
【図2】図1におけるキャッシュの内部構成を示すブロ
ック図。
【図3】本発明のバス構造を示す第1の変形例を示す
図。
【図4】本発明のバス構造を示す第2の変形例を示す
図。
【図5】本発明のバス構造を示す第3の変形例を示す
図。
【図6】本発明のバス構造を示す第4の変形例を示す
図。
【図7】本発明のバス構造を示す第5の変形例を示す
図。
【符号の説明】
1、2、3…デバイス、4、5…キャッシュ、6…内蔵
キャッシュ、7…主記憶装置、8…キャッシュ制御バ
ス、9…バス、41…データキャッシュ、42…タグメ
モリ、43…キャッシュ制御ロジック、91、92…ア
ドレス通知経路、93…キャッシュヒット通知経路、9
4…コマンド通知経路、95…データ経路。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 それぞれにキャッシュが接続される1以
    上のデバイスを共通接続する、アドレス、データ、コン
    トロールのための複数の経路を持つ第一のバスと、第一
    のバスが持つ複数の経路のうち、システムに接続される
    キャッシュが共通接続され、そのキャッシュの制御に係
    わる経路を上記バスとは独立して設けられる第二のバス
    とを具備し、この第二のバスを使用してキャッシュ間で
    共有されたデータに対するローカルなデータの更新を知
    り、キャッシュ間のデータの一貫性を維持することを特
    徴とする分散キャッシュシステム。
  2. 【請求項2】 第二のバスは、少なくとも各キャッシュ
    間でアドレス通知を行う経路を含むことを特徴とする請
    求項1記載の分散キャッシュシステム。
  3. 【請求項3】 第二のバスは、少なくとも各デバイスの
    キャッシュヒットを通知する経路を含むことを特徴とす
    る請求項2記載の分散キャッシュシステム。
  4. 【請求項4】 第二のバスは、少なくともアドレスとそ
    のアドレスに対する操作を通知する経路を含むことを特
    徴とする請求項1記載の分散キャッシュシステム。
  5. 【請求項5】 第二のバスは、少なくともデータを通知
    する経路を具備することを特徴とする請求項3記載の分
    散キャッシュシステム。
  6. 【請求項6】 それぞれにキャッシュが接続される1以
    上のデバイスを共通接続する、アドレス、データ、コン
    トロールのための複数の経路を持つ第一のバスと、第一
    のバスが持つ複数の経路のうち、システムに接続される
    キャッシュが共通接続され、そのキャッシュの制御に係
    わる経路を上記バスとは独立して設けられる第二のバス
    と、キャッシュ本体ならびに各キャッシュが共有してい
    るデータをあるデバイスがローカルに更新した場合、上
    記第二のバスを介して他のキャッシュへの更新アドレス
    通知を行うキャッシュ制御ロジックを具備することを特
    徴とする分散キャッシュシステム。
  7. 【請求項7】 上記キャッシュ制御ロジックは、他のデ
    バイスのキャッシュにヒットしたとき、ライトバックな
    らびに他のキャッシュに対するデータブロードキャスト
    を上記第二のバスを介して行うことを特徴とする請求項
    6記載の分散キャッシュシステム。
JP9060794A 1997-03-14 1997-03-14 分散キャッシュシステム Pending JPH10254779A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9060794A JPH10254779A (ja) 1997-03-14 1997-03-14 分散キャッシュシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9060794A JPH10254779A (ja) 1997-03-14 1997-03-14 分散キャッシュシステム

Publications (1)

Publication Number Publication Date
JPH10254779A true JPH10254779A (ja) 1998-09-25

Family

ID=13152579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9060794A Pending JPH10254779A (ja) 1997-03-14 1997-03-14 分散キャッシュシステム

Country Status (1)

Country Link
JP (1) JPH10254779A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054997B2 (en) 2002-05-24 2006-05-30 Hitachi, Ltd. Disk array system and cache control method
JP2008140379A (ja) * 2006-11-29 2008-06-19 Internatl Business Mach Corp <Ibm> バス・スイッチング電力を節約し且つ雑音を減少させるためのコンピュータ実装方法、バス・スイッチング・システム及びコンピュータ・プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054997B2 (en) 2002-05-24 2006-05-30 Hitachi, Ltd. Disk array system and cache control method
US7392341B2 (en) 2002-05-24 2008-06-24 Hitachi, Ltd. Disk array system and cache control method
JP2008140379A (ja) * 2006-11-29 2008-06-19 Internatl Business Mach Corp <Ibm> バス・スイッチング電力を節約し且つ雑音を減少させるためのコンピュータ実装方法、バス・スイッチング・システム及びコンピュータ・プログラム
US8495272B2 (en) 2006-11-29 2013-07-23 International Business Machines Corporation Method to save bus switching power and reduce noise in an engineered bus

Similar Documents

Publication Publication Date Title
US10078592B2 (en) Resolving multi-core shared cache access conflicts
JP3849951B2 (ja) 主記憶共有型マルチプロセッサ
US6901495B2 (en) Cache memory system allowing concurrent reads and writes to cache lines to increase snoop bandwith
US5715428A (en) Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system
US5983326A (en) Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode
JP3269967B2 (ja) キャッシュコヒーレンシ制御方法、および、これを用いたマルチプロセッサシステム
US7539823B2 (en) Multiprocessing apparatus having reduced cache miss occurrences
US6615319B2 (en) Distributed mechanism for resolving cache coherence conflicts in a multi-node computer architecture
US8185695B2 (en) Snoop filtering mechanism
US6279085B1 (en) Method and system for avoiding livelocks due to colliding writebacks within a non-uniform memory access system
JPH06243035A (ja) コンピュータ・システムのためのクラスタ・アーキテクチャにおける一般化共用記憶
JPH036757A (ja) ライトバツクデータキヤツシユメモリ装置
JPH09223118A (ja) スヌープキャッシュメモリ制御システム
JP2006277762A (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
JPH02141845A (ja) マルチプロセッサシステムにおいて中央処理ユニットにより主メモリからデータブロックを読み取る方法
US20050144390A1 (en) Protocol for maintaining cache coherency in a CMP
US6038642A (en) Method and system for assigning cache memory utilization within a symmetric multiprocessor data-processing system
US20050102477A1 (en) Multiprocessor system
US6571350B1 (en) Data storage method and data storage for averaging workload in a redundant storage configuration
US20040117564A1 (en) System and method for reducing shared memory write overhead in multiprocessor systems
JP2004199677A (ja) キャッシュを動作させるためのシステム及び方法
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
US5701422A (en) Method for ensuring cycle ordering requirements within a hierarchical bus system including split-transaction buses
JPH10301850A (ja) データ処理システム内のキャッシュ・コヒーレンシを維持するためにセクタ化キャッシュ・メモリに疑似精密包含方式を設ける方法及びシステム
JPH10254779A (ja) 分散キャッシュシステム