• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない。 G06F
管理番号 1192678
審判番号 不服2006-9221  
総通号数 112 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2009-04-24 
種別 拒絶査定不服の審決 
審判請求日 2006-05-08 
確定日 2009-02-12 
事件の表示 平成11年特許願第127277号「分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ」拒絶査定不服審判事件〔平成12年 3月 3日出願公開、特開2000- 67024〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 1.手続の経緯と本願発明
本願は、平成11年5月7日(パリ条約による優先権主張1998年5月8日、米国)の出願であって、平成17年9月1日付けで拒絶理由通知がなされ、同年11月7日付けで手続補正がなされたが、平成18年3月27日付けで拒絶査定がなされ、これに対し、同年5月8日に審判請求がなされたものである。
そして、その請求項1に係る発明(以下「本願発明」という。)は、平成17年11月7日付け手続補正書により補正された特許請求の範囲の請求項1に記載された次のとおりのものと認める。

「データ処理システムであって、
複数のマルチプロセッサ・ノードを備え、各マルチプロセッサ・ノードが、
各々複数のキャッシュ・ライン・エントリを保存するように構築された複数のキャッシュと、
各々がそれぞれのキャッシュに接続された複数のプロセッサと、
コヒーレンス制御装置と、
前記複数のキャッシュ中のキャッシュ・ライン・エントリの状態を把握するディレクトリであって、前記ディレクトリの第1部分が前記複数のキャッシュのライン・エントリの第1サブセットに関する一時的状態情報を保持し、前記ディレクトリの第2部分が前記複数のキャッシュのライン・エントリの第2サブセットに関する非一時的状態を保持するディレクトリと、を含む、
データ処理システム。」

2.引用文献
A.原査定の拒絶の理由に引用された、特開平7-6092号公報(以下、「引用文献」という。)には以下の事項が記載されている。(備考:下線は当審で便宜上付与したものである。)

(ア)「【0001】
【産業上の利用分野】本発明は、マルチプロセッサ・コンピュータ・システムのためのキャッシュ・メモリ構造の分野に関するものである。とりわけ、本発明は、パケット・スイッチ式バスを利用した、マルチプロセッサ・コンピュータ・システムのためのキャッシュ制御システムにおける保留ライト・バックキャッシュ・コントローラに関するものである。」

(イ)「【0003】主メモリからのデータ及び命令は、キャッシュ・ラインと呼ばれる均一な単位でキャッシュ・メモリにマッピングされる。各キャッシュ・ラインは、主メモリのアライメントのとれた連続セグメントを表している。キャッシュ・メモリは、通常、主メモリよりはるかに小さいので、主メモリの限られた部分集合についてしか記憶することができない。従って、キャッシュ・メモリは、データの主メモリ・アドレスの一部を記憶する必要がある。アドレスのこの部分は、アドレス・タグと呼ばれ、キャッシュ・ライン毎に1つのアドレス・タグが存在する。各キャッシュ・ラインは、さらに、サブブロックと呼ばれる、より小さい均一なインクリメントに細分することができる。キャッシュ・メモリのキャッシュ・ラインに対するアクセスは、アドレス・タグ及びキャッシュ・ラインに関連した状況ビットの集合を記憶しているキャッシュ・ディレクトリを利用して実施される。
【0004】最近では、処理速度の上昇を目指して、複数のプロセッサを備えたコンピュータ・システムが一般的になっている。マルチプロセッサ・システムの場合、プロセッサ・サブシステムは、それ自体の独立したキャッシュ・メモリを備えることが可能である。各プロセッサは、その局所キャッシュ・メモリに記憶されたデータを変更することができるので、独立したキャッシュ・メモリを備えたマルチプロセッサ・システムが適正に動作するためには、そのシステムは、キャッシュ・メモリに記憶されているデータの対応を適正に保つ必要がある。異なるキャッシュにおけるデータの対応は、「キャッシュ整合性」と呼ばれる。「メモリからのロード」操作によって戻される値が、常に、同じメモリ・アドレスに対する最新の「メモリへの記憶」操作の値と同じである場合、キャッシュ・システムは、「整合している」とみなされる。
【0005】キャッシュの整合性を維持するため、いくつかの状況ビットは、各キャッシュ・ラインにおける情報の現在の状態を反映するキャッシュ・ディレクトリに保持されるのが普通である。保持される一般的な状況ビットには、「有効ビット」、「共用ビット」、及び、「所有ビット」がある。「有効ビット」は、キャッシュ・ラインに記憶されている情報が、現在有効であるか否かを表示する。「共用」状況ビットは、キャッシュ・ラインの情報が、他のキャッシュ・メモリと共用されているか否かを表示する。あるキャッシュ・ラインが「共用」という場合には、最初に、他のキャッシュ・メモリのキャッシュ・ラインを無効にするか、あるいは、他のキャッシュ・メモリのキャッシュ・ラインを更新しない限り、その修正を行うことはできない。「所有」状況ビットは、キャッシュ・ラインの情報が、主メモリにライト・バックすることができないように、修正されていることを表示する。メモリのラインは、1度に1つのプロセッサ・サブシステムによってしか「所有」することができない。プロセッサは、そのキャッシュ・ラインの1つの内容に修正を施す必要がある場合、まず、キャッシュ・ラインの状況を変更して、「所有」状況にしなければならない。所有キャッシュ・ラインは、新しい情報に置き換える前に、主メモリにライト・バックしなければならない。」

(ウ)「【0012】
【発明が解決しようとする課題】本発明の目的は、キャッシュ・メモリ構造を支援する多重処理装置において、保留ライト・バック・キャッシュ・コントローラを備える二重ディレクトリ・キャッシュ制御システムを実現する装置及び方法を提供することにある。
・・・(中略)・・・
【0014】プロセッサ・キャッシュ・コントローラは、実際の処理装置に緊密に結合されている。プロセッサ・キャッシュ・コントローラは、処理装置によって行われるメモリ要求のサービスを実施する。プロセッサ・キャッシュ・コントローラは、キャッシュ・メモリに要求された記憶場所を備えていない場合、キャッシュ・バスを介してバス・キャッシュ・コントローラに要求を送る。キャッシュ・ラインを置換しなければならない場合、プロセッサ・キャッシュ・コントローラは、即座に、置換されることになるキャッシュ・ラインからの所有サブブロックをバス・キャッシュ・コントローラに送る操作にとりかかる。
【0015】バス・キャッシュ・コントローラは、メモリ・バスに直接接続されており、処理装置に関するメモリ・バス・トランザクションの全てを取り扱う。バス・キャッシュ・コントローラには、主メモリに対する所有キャッシュ・ラインのライト・バックの取扱いを任された保留ライト・バック・コントローラが含まれている。バス・キャッシュ・コントローラは、キャッシュ・ミスによって生じたプロセッサ・キャッシュ・コントローラからのメモリ要求を受信すると、メモリ・バスを通じて、すぐに対応するメモリ要求パケットを同報通信する。所有キャッシュ・ラインを置換すべき場合には、プロセッサ・キャッシュ・コントローラは、所有キャッシュ・ラインからのサブブロックをバス・キャッシュ・コントローラに送り、バス・キャッシュ・コントローラは、所有サブブロックを保留ライト・バック・コントローラに緩衝処理する。バス・キャッシュ・コントローラは、メモリ・バスから新しいキャッシュ・ライン情報を受信すると、即座に、新しいキャッシュ・ライン情報をプロセッサ・キャッシュ・コントローラに送り、プロセッサ・キャッシュ・コントローラは、キャッシュ・ラインを置換して、処理の続行を可能にする。所有キャッシュ・ラインの緩衝処理によって、保留ライト・バック・コントローラは、所有キャッシュ・ラインを主メモリにライト・バックする前に、新しいキャッシュ・ラインを要求し、置換することが可能になる。この結果、キャッシュ・ミスによる待ち期間を平均して大幅に短縮することが可能になる。
【0016】バス・キャッシュ・コントローラの保留ライト・バック・キャッシュ・コントローラは、バス・キャッシュ・コントローラのためのインテリジェント・ライト・バック・バッファの働きをする。バス・キャッシュ・コントローラが、新しいキャッシュ・ライン・データの読み取り要求を送り出すと、所有キャッシュ・ラインからの古いキャッシュ・ライン・データは、主メモリにライト・バックするため、保留ライト・バック・コントローラに送られる。保留ライト・バック・コントローラは、まだライト・バックされていない所有キャッシュ・ラインを制御している間に、そのキャッシュ・ラインに向けられた読み取り要求に応答しなければならない。メモリ・バスのもう1つの装置が、保留ライト・バック・コントローラによって所有されたキャッシュ・ラインに対する書き込みを実施する場合、保留ライト・バック・コントローラは、古くなったデータを含んでいるので、ライト・バックを実施してはならない。」

(エ)「【0018】次に、図6を参照すると、本発明の教示を組み込んだ、マルチプロセッサによる高性能コンピュータ・システムの概要がブロック図で示されている。図6には、メモリ・バス25に結合された主メモリ装置23が示されている。図6には、主メモリ装置が1つだけしか示されていないが、主メモリのアドレス空間は、いくつかの独立したメモリ装置に分割することができる。従って、2つ以上のメモリ装置をメモリ・バス25に接続することが可能である。メモリ・バス25に結合された、1対のプロセッサ・サブシステム20も示されている。プロセッサ・サブシステム20は、メモリ・バス25を介して、主メモリ23からデータを読み取ったり、主メモリにデータを書き込んだりする。3つ以上のプロセッサ・サブシステム20をメモリ・バス25に結合することによって、処理パワーを追加することも可能である。
・・・(中略)・・・
【0022】図6をもう1度参照すると、プロセッサ・モジュール32には、プロセッサ21、プロセッサ・キャッシュ・コントローラ35、及び、キャッシュ・メモリ37が含まれている。プロセッサ・キャッシュ・コントローラ35は、プロセッサ・キャッシュ・メモリ37に記憶されているキャッシュ・ラインに関するアドレス・タグ及び状況ビットを含むプロセッサ・キャッシュ・ディレクトリ34を維持している。プロセッサ・キャッシュ・コントローラ35は、プロセッサ・キャッシュ・メモリ37とプロセッサ21の間におけるインターフェイスとしての役目を担っている。
【0023】バス・キャッシュ・コントローラ31は、プロセッサ・サブシステム20に関するいくつかのキャッシュ制御操作を実施する。バス・キャッシュ・コントローラ31の主たる目的は、プロセッサ・サブシステム20に必要な全てのメモリ・バス25におけるトランザクションを実施することである。バス・キャッシュ・コントローラ31は、キャッシュ・メモリ37におけるアドレス・タグ及び状況ビットを含むキャッシュ・ディレクトリ46を維持する。バス・キャッシュ・コントローラ31には、後述のように、新しい情報に置換された所有キャッシュ・ラインのライト・バックを任された、保留ライト・バック・コントローラ40が含まれている。バス・キャッシュ・コントローラ31の機能性については、メモリ・バス25において管理するトランザクションに関連して説明するのが最も分かりやすい。バス・キャッシュ・コントローラ31は、メモリ・バス25において、3タイプのバス・トランザクション、すなわち、読み取り、書き込み、及び、ライト・バックを実施する。各トランザクション・タイプは、別個に取り扱われることになる。」

(オ)「【0034】保留ライト・バック・コントローラ40は、主メモリ23にライト・バックされるまで、緩衝処理を施されている所有サブブロックの小ディレクトリを維持する。保留ライト・バック・コントローラ40に記憶されているサブブロックは、それぞれ、3つの状態、すなわち、有効、所有、及び、無効のうちの1つであるとみなすことができる。」

(カ)「【図面の簡単な説明】
・・・(中略)・・・
【図6】キャッシュ・コントローラがプロセッサ・キャッシュ・コントローラ及びバス・キャッシュ・コントローラに分割された、本発明のキャッシュ制御システムを備えた、マルチプロセッサ・システムのブロック図である。」

ここで、(ア)、(エ)及び(カ)における記載、並びに【図6】を参照すると、引用文献には、コンピュータ・システムであって、複数のプロセッサ・サブシステムを備え、各プロセッサ・サブシステムが、複数のキャッシュ・ラインを保存するように構築されたキャッシュと、そのキャッシュに接続されたプロセッサと、キャッシュ・コントローラと、を含むコンピュータ・システムについて記載されている。
なお、前記キャッシュ・コントローラが、キャッシュの制御(すなわち、コヒーレンスの制御)を行うことは、当業者にとって、自明である。

そして、(ウ)の段落【0014】における記載「キャッシュ・ラインを置換しなければならない場合、プロセッサ・キャッシュ・コントローラは、即座に、置換されることになるキャッシュ・ラインからの所有サブブロックをバス・キャッシュ・コントローラに送る操作にとりかかる。」、段落【0015】における記載「バス・キャッシュ・コントローラには、主メモリに対する所有キャッシュ・ラインのライト・バックの取扱いを任された保留ライト・バック・コントローラが含まれている。・・・(中略)・・・所有キャッシュ・ラインを置換すべき場合には、・・・(中略)・・・バス・キャッシュ・コントローラは、所有サブブロックを保留ライト・バック・コントローラに緩衝処理する。・・・(中略)・・・所有キャッシュ・ラインの緩衝処理によって、保留ライト・バック・コントローラは、所有キャッシュ・ラインを主メモリにライト・バックする前に、新しいキャッシュ・ラインを要求し、置換することが可能になる。」及び(オ)の段落【0034】における記載「保留ライト・バック・コントローラ40は、主メモリ23にライト・バックされるまで、緩衝処理を施されている所有サブブロックの小ディレクトリを維持する。保留ライト・バック・コントローラ40に記憶されているサブブロックは、それぞれ、3つの状態、すなわち、有効、所有、及び、無効のうちの1つであるとみなすことができる。」からすると、
キャッシュに記憶されている所有キャッシュ・ラインであって、置換すべき所有キャッシュ・ラインに関して、当該所有キャッシュ・ラインが主メモリにライト・バックされるまでの間、当該所有キャッシュ・ラインの状態情報を一時的に保留ライト・バック・コントローラの小ディレクトリに保持すると解される。
なお、前記所有キャッシュ・ラインの状態情報は、置換しなければならないことが決まってから、主メモリにライト・バックされるまでの間の一時的な状態情報であると解される。

また、(イ)の段落【0005】における記載「キャッシュの整合性を維持するため、いくつかの状況ビットは、各キャッシュ・ラインにおける情報の現在の状態を反映するキャッシュ・ディレクトリに保持されるのが普通である。保持される一般的な状況ビットには、「有効ビット」、「共用ビット」、及び、「所有ビット」がある。」及び(エ)の段落【0023】における記載「バス・キャッシュ・コントローラ31は、キャッシュ・メモリ37におけるアドレス・タグ及び状況ビットを含むキャッシュ・ディレクトリ46を維持する。」からすると、キャッシュ・ディレクトリ46は、前記キャッシュのキャッシュ・ラインであって、少なくとも現在の状態が確定しているキャッシュ・ラインに関する状態を保持していると解される。
なお、前記少なくとも現在の状態が確定しているキャッシュ・ラインの状態情報は、非一時的な状態情報であると解される。

そして、(ウ)の段落【0012】における記載「本発明の目的は、キャッシュ・メモリ構造を支援する多重処理装置において、保留ライト・バック・キャッシュ・コントローラを備える二重ディレクトリ・キャッシュ制御システムを実現する装置及び方法を提供することにある。」からすると、前記保留ライト・バック・コントローラの小ディレクトリ及び前記キャッシュ・ディレクトリ46とは、二重ディレクトリを構成すると認められる。
したがって、引用文献には、次の発明(以下、「引用発明」という。)が記載されているものと認められる。

コンピュータ・システムであって、
複数のプロセッサ・サブシステムを備え、各プロセッサ・サブシステムが、
複数のキャッシュ・ラインを保存するように構築されたキャッシュと、
そのキャッシュに接続されたプロセッサと、
コヒーレンス制御を行うキャッシュ・コントローラと、
前記キャッシュ中のキャッシュ・ラインの状態を把握する二重ディレクトリであって、前記二重ディレクトリの小ディレクトリが前記キャッシュの所有キャッシュ・ラインであって、置換すべき所有キャッシュ・ラインに関する一時的状態情報を保持し、前記二重ディレクトリのキャッシュ・ディレクトリが前記キャッシュのキャッシュ・ラインであって、少なくとも現在の状態が確定しているキャッシュ・ラインに関する非一時的な状態情報を保持する二重ディレクトリと、を含む、
コンピュータ・システム。

3.対比
ここで、本願発明と引用発明とを比較する。
引用発明の「コンピュータ・システム」、「キャッシュ・ライン」及び「コヒーレンス制御を行うキャッシュ・コントローラ」は、それぞれ本願発明の「データ処理システム」、「キャッシュ・ライン・エントリ」及び「コヒーレンス制御装置」に相当する。
また、引用発明の「二重ディレクトリ」、「小ディレクトリ」、及び「キャッシュ・ディレクトリ」は、それぞれ本願発明の「ディレクトリ」、「第1部分」、及び「第2部分」に相当する。
また、引用発明の「キャッシュの所有キャッシュ・ラインであって、置換すべき所有キャッシュ・ライン」及び「キャッシュのキャッシュ・ラインであって、少なくとも現在の状態が確定しているキャッシュ・ライン」は、それぞれ本願発明の「キャッシュのライン・エントリの第1サブセット」及び「キャッシュのライン・エントリの第2サブセット」に相当する。

そして、引用発明の「プロセッサ・サブシステム」と、本願発明の「マルチプロセッサ・ノード」とは、ともに、プロセッサ・ノードである点で共通する。

以上から、本願発明と引用発明とは、以下の点で一致し、また、相違している。

(一致点)
データ処理システムであって、
複数のプロセッサ・ノードを備え、各プロセッサ・ノードが、
複数のキャッシュ・ライン・エントリを保存するように構築されたキャッシュと、
そのキャッシュに接続されたプロセッサと、
コヒーレンス制御装置と、
前記キャッシュ中のキャッシュ・ライン・エントリの状態を把握するディレクトリであって、前記ディレクトリの第1部分が前記キャッシュのライン・エントリの第1サブセットに関する一時的状態情報を保持し、前記ディレクトリの第2部分が前記キャッシュのライン・エントリの第2サブセットに関する非一時的状態を保持するディレクトリと、を含む、
データ処理システム。

(相違点1)
「プロセッサ・ノード」について、本願発明は、マルチプロセッサ・ノードであって、当該マルチプロセッサ・ノードが、複数のキャッシュと、各々がそれぞれのキャッシュに接続された複数のプロセッサと、前記マルチプロセッサ・ノードに含まれる前記複数のキャッシュ中のキャッシュ・ライン・エントリの状態を把握するディレクトリと、を含むのに対して、引用発明は、プロセッサ・サブシステムであって、当該プロセッサ・サブシステムが、キャッシュと、当該キャッシュに接続されたプロセッサと、前記キャッシュ中のキャッシュ・ラインの状態を把握する二重ディレクトリと、を含むものである点。

(相違点2)
「ディレクトリ」について、本願発明のディレクトリの第1部分が前記複数のキャッシュのライン・エントリの第1サブセットに関する一時的状態情報を保持し、前記ディレクトリの第2部分が前記複数のキャッシュのライン・エントリの第2サブセットに関する非一時的状態を保持するディレクトリであるのに対して、引用発明の二重ディレクトリの小ディレクトリが前記キャッシュの所有キャッシュ・ラインであって、置換すべき所有キャッシュ・ラインに関する一時的状態情報を保持し、前記二重ディレクトリのキャッシュ・ディレクトリが前記キャッシュのキャッシュ・ラインであって、少なくとも現在の状態が確定しているキャッシュ・ラインに関する非一時的な状態情報を保持する二重ディレクトリである点。

4.判断
相違点1及び相違点2について検討する。
本願の優先権主張日以前である、平成8年12月3日に頒布された特開平8-320827号公報に、
「【0015】
・・・(中略)・・・ このプロセッサ群は、図1(A)のように、少なくとも1つ以上のプロセッサで構成される例えば3つのプロセッサモジュール10-1?10-3に分割される。またプロセッサ群が共有する主記憶が設けられる。主記憶は複数のローカル記憶部28に分割され、各ローカル記憶部8はプロセッサモジュール10-1?10-3上に配置される。 ・・・(中略)・・・
【0016】プロセッサ16の各々には主記憶28のアクセスを高速化するキャッシュユニット18が設けられる。主記憶28のデータのキャッシュユニット18への登録状態はキャッシュライン単位にディレクトリ記憶部30に記憶される。 ・・・(中略)・・・ 主記憶28とキャッシュユニット18間のキャッシュコヒーレンスは、スヌープユニット20による内部コヒーレンス処理部で実現される。また複数のプロセッサモジュール10-1?10-3の間のキャッシュコヒーレンスは、キャッシュ変換部80による外部コヒーレンス処理部で実現される。
【0017】・・・(中略)・・・
【0018】またディレクトリ記憶部30へのキャッシュ状態の記憶は、プロセッサモジュール単位に行われる。具体的には、プロセッサモジュール10-1?10-3は、ディレクトリ記憶部30に複数のプロセッサモジュール10-1?10-3との対応状態を記憶するディレクトリ制御部を有し、このディレクトリ制御部によってディレクトリ記憶部30への登録を複数のプロセッサモジュール単位に指定する。」と記載されているように、
複数のプロセッサモジュール(すなわちマルチプロセッサ・ノード)で構成されるマルチプロセッサシステムであって、各マルチプロセッサ・ノードが、複数のキャッシュユニット(すなわち、キャッシュ)と、各々がそれぞれのキャッシュに接続された複数のプロセッサと、コヒーレンス処理部(すなわち、コヒーレンス制御装置)と、前記複数のキャッシュ中のキャッシュライン(すなわち、キャッシュ・ライン・エントリ)の状態を把握するディレクトリ記憶部(すなわち、ディレクトリ)と、を含むマルチプロセッサシステムの構成は、当業者にとって周知の事項である。
してみると、引用発明の「プロセッサ・サブシステム」として、複数のキャッシュと、各々がそれぞれのキャッシュに接続された複数のプロセッサと、前記複数のキャッシュ中のキャッシュ・ラインの状態を把握する二重ディレクトリと、を含むように構成することは、当業者であれば容易に想到し得たことである。
その際、引用発明の「二重ディレクトリ」において、二重ディレクトリの小ディレクトリが前記複数のキャッシュの所有キャッシュ・ラインであって、置換すべき所有キャッシュ・ラインに関する一時的状態情報を保持し、前記二重ディレクトリのキャッシュ・ディレクトリが前記複数のキャッシュのキャッシュ・ラインであって、少なくとも現在の状態が確定しているキャッシュ・ラインに関する非一時的な状態情報を保持することは、論理的必然である。
よって、相違点1及び相違点2は格別のものではない。

上記で検討したごとく、相違点1及び相違点2は格別のものではなく、そして、本願発明の構成によってもたらされる効果も、当業者であれば当然に予測可能なものに過ぎず格別なものとは認められない。

よって、本願発明は、引用発明及び周知技術に基いて、当業者が容易に発明をすることができたものである。

5.結び
以上のとおり、本願発明は、その出願前日本国内又は外国において頒布された刊行物に記載された発明に基いて、その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。
よって、上記結論のとおり、審決する。
 
審理終結日 2008-12-03 
結審通知日 2008-12-09 
審決日 2008-12-24 
出願番号 特願平11-127277
審決分類 P 1 8・ 121- Z (G06F)
最終処分 不成立  
前審関与審査官 鳥居 稔  
特許庁審判長 赤川 誠一
特許庁審判官 中里 裕正
鈴木 匡明
発明の名称 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ  
代理人 石田 敬  
代理人 樋口 外治  
代理人 西山 雅也  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ