【事件の表示】
　特願２０００−　３３２２７「マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体」拒絶査定不服審判事件〔平成１３年　８月１７日出願公開、特開２００１−２２２４６６〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯・本願発明
　本願は、平成１２年２月１０日の出願であって、その請求項１に係る発明（以下、「本願発明」という。）は、平成１４年１０月７日付け及び平成１５年１１月２５日付け手続補正書により補正された明細書及び図面の記載からみて、特許請求の範囲の請求項１に記載された次のとおりのものである。
   
「【請求項１】
　複数のプロセッサと、
　前記複数のプロセッサにより共有される共有メモリと、
　前記共有メモリに対する各プロセッサの処理を調停する排他制御手段と、
　を備え、
　前記共有メモリは、その内部が、複数の小ブロックに区分されており、各小ブロック毎に、該小ブロックを最後に更新したプロセッサを示す識別子を記憶する識別子記憶領域と実データを記憶するデータブロックとを有し、
　前記共有メモリ内の小ブロックに対する処理を行うプロセッサが、前記識別子記憶領域の内容と、前記プロセッサの識別子とを比較し、前記プロセッサの識別子と一致した場合には、前記共有メモリを参照せずに、前記プロセッサの占有メモリを参照する、ことを特徴とする、分散共有メモリ型マルチプロセッサ・システム。」
　
２．引用文献
　原査定の拒絶の理由に引用された特開平９−４４４０２号公報（以下、「引用文献１」という。）には、図面と共に以下の事項が記載されている。
　
Ａ．「 【０００１】
【発明の属する技術分野】本発明は各々がキャッシュメモリを備えた複数のプロセッサから構成されるマルチプロセッサシステムにおけるキャッシュメモリの記憶一致制御装置及び方法に関する。
【０００２】
【従来の技術】キャッシュメモリ制御方式には、キャッシュ書き込み時に主記憶を更新しないストアイン方式と、キャッシュ書き込み時には主記憶も更新するストアスルー方式とがあるが、大規模なマルチプロセッサシステムにおいてはストアイン方式が適していると言われる。ストアイン方式の方がストアスルー方式に比べて主記憶アクセス回数が少なくてすみ、システム全体の性能が上がるからである。しかし、各々がストアイン方式のキャッシュメモリを備えたプロセッサを複数台接続してマルチプロセッサを構成する場合には、キャッシュメモリ間のデータの一致性制御が問題となる。 」
　
Ｂ． 「 【０００８】
【発明の実施の形態】次に、本発明の実施例を図面を用いて説明する。
【０００９】
先ず、本発明の実施しうるマルチプロセッサシステムの一例を図２に示す。このマルチプロセッサシステムは、２つのＣＰＵ１，２と、ＣＰＵ対応のキャッシュメモリ３，４と、記憶制御ユニット５と、主記憶６とから構成され、キャッシュメモリ３，４と、記憶制御ユニット５と、主記憶６とはシステムバス７で結合されている。
【００１０】
ＣＰＵはメモリアクセス時に、主記憶データ読み出し指令または書き込み指令を対応するキャッシュメモリへ送る。ＣＰＵ間のデータ共有を考慮しない（考慮すべきか否かはＯＳが認識している）場合、要求されたデータがキャッシュメモリにあればそのキャッシュメモリからデータを取り出し、またはそのキャッシュメモリにデータを格納する。しかし要求されたデータがキャッシュメモリにない場合にはキャッシュミスが生じる。そのときには、要求されたデータを含むブロックを、主記憶からキャッシュメモリへ転送する。その後は、キャッシュメモリにデータが存在した場合と同様に動作する。このデータアクセス動作ではデータの共有なしで動作しているので、他ＣＰＵに接続されているキャッシュメモリに対応するブロックが存在するかどうかの判定及び存在した場合の記憶一致のためのキャッシュメモリ制御は行われない。
【００１１】
これに反して、ＣＰＵ間のデータ共有を考慮する場合には、キャッシュメモリへの主記憶データ読み出し指令または書き込み指令を行なう前に、ＣＰＵは共有データロック取得の指令を対応するキャッシュメモリを通して記憶制御ユニット５へ送る。記憶制御ユニット５では、後述の方法により、要求されたアドレスのロックが解除されていないことがわかれば待ち合わせ、ロックが解除されていればロックを取得し、その結果を要求したＣＰＵを返す。このとき、前回このアドレスでロックを取得していたＣＰＵが同一ＣＰＵでなければ、前回ロックを取得していたＣＰＵに接続されたキャッシュメモリの対応するブロックの内容を今回ロックを取得したＣＰＵに接続されているキャッシュメモリに転送する。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
【００１３】一方、前回このアドレスでロックを取得していたＣＰＵが同一ＣＰＵの場合もしくは初めてロックを取得するアドレスであった場合は、データ共有を考慮しないときと同様の動作をする。」
　
Ｃ．「【００１５】
次に、ＣＰＵ間のデータ共有を考慮する場合のキャッシュメモリの制御の方法について以下に更に詳しく説明する。まず、共有データロックについて図１により説明する。共有データロックを管理制御する記憶制御ユニット５は、ロックフラグ１０，ロック取得プロセッサＩＤ１１，ロック取得判定機構１２，プロセッサＩＤ判定機構１３及びキャッシュメモリ制御機構１４から構成される。
【００１６】
ロックフラグ１０とロック取得プロセッサＩＤ１１はロック取得対象となるアドレス単位に設けられ、ロックフラグ１０は当該アドレス単位がロックされているか否か、またロック取得プロセッサＩＤ１１はロックを取得しているプロセッサを示し、ＣＰＵからの共有データロック取得指令で示された共有データロック取得アドレスで一つのロックフラグとロック取得プロセッサＩＤが選択される。ロック取得判定機構１２は、共有データロック取得アドレスにより選択されたロックフラグをもとにロック取得の可否を判定する。
【００１７】
また、プロセッサＩＤ判定機構１３は、選択されたロック取得プロセッサＩＤとロック取得指令を出したＣＰＵの識別番号が同一かどうか判定する。ロック取得可能のとき、プロセッサＩＤ判定機構１３は、要求したＣＰＵと選択されたロック取得プロセッサＩＤに格納されている前回のロック取得ＣＰＵを比較する。同一でない場合、前回ロックを取得していたＣＰＵに対応のキャッシュメモリの当該ブロックの内容ろ今回ロックを取得したＣＰＵに接続されているキャッシュメモリに転送する指示をキャッシュメモリ制御機構１４に送る。そして、キャッシュメモリ制御機構１４によるキャッシュメモリの転送終了後、記憶制御ユニット５における書込機構（図示省略）により、ロックフラグ１０をロック取得状態とするとともに、ロック取得指令を出したＣＰＵの識別番号を選択されたロック取得プロセッサＩＤ１１に格納する。」
　
Ｄ．「【００１９】なお、共有データロック取得指令に使用した共有データロック取得アドレス２０は、図３に示すように、キャッシュメモリのブロックロード単位に合わせて下位ビットを削除し記憶制御ユニット２１へ送り、ブロックロード単位に保持するロックフラグとロック取得プロセッサＩＤを指定することもできる。」
　
　上記キャッシュメモリの記憶一致制御では、キャッシュメモリへの主記憶データ読み出し指令または書き込み指令を行なう前に、ＣＰＵは共有データロック取得の指令を対応するキャッシュメモリを通して記憶制御ユニット５へ送り、ロックを取得した後で、共有データの読み出しや書き込みを行っているから、記憶制御ユニット５はＣＰＵのアクセスを調停するロック機構を有している。
　引用文献１では、ロック取得プロセッサＩＤ１１についてロックを取得したプロセッサ番号という意味で用いられたり、ＣＰＵ識別番号という意味で用いられたりしており、いささか曖昧な面があるが、引用文献１全体を合理的に解釈すれば、ロック取得プロセッサＩＤ１１というのはロックを取得したＣＰＵの識別番号を記憶する領域であり、この領域に格納されるものはＣＰＵ識別番号と考えるのが至当である。
　上記記載箇所Ｂの【００１３】段落には、前回このアドレスでロックを取得していたＣＰＵが同一ＣＰＵの場合・・・・・・・は、データ共有を考慮しないときと同様に動作する。」と記載され、データ共有を考慮しないときにはデータがキャッシュメモリにあればキャッシュメモリから取り出すのであるから、結局のところ、ロックを取得していたＣＰＵが同一の時には、まずは主記憶６を参照せずにアクセス要求しているＣＰＵのキャッシュメモリを参照することになる。
　上記記載箇所Ｄによれば、ロック対象となるアドレス単位をキャッシュメモリのブロックロード単位とすることが記載されており、ブロックロードを行う単位でアクセスに伴うロック制御を行っているから、主記憶はブロックロード単位に区分されて取り扱われているとみることができる。
　
　以上の記載から、引用文献１には次の発明（以下、「引用発明」という。）が記載されている。
　
　２つのＣＰＵと、
　前記２つのＣＰＵにより共有される主記憶と、
　前記主記憶に対する前記２つのＣＰＵのアクセスを調停するロック機構と、
　を備え、
　記憶制御ユニットには、ロック対象となるブロックロード単位にロックを取得したＣＰＵ識別番号を記憶するロック取得ＣＰＵ識別番号記憶領域を有し、
　前記主記憶は、内部が前記ブロックロード単位に区分されており、各ブロックロード単位に共有データを記憶しており、
　前記ＣＰＵが主記憶にアクセスする際に、記憶制御ユニットのロック取得ＣＰＵ識別番号記憶領域のＣＰＵ識別番号とアクセスしているＣＰＵのＣＰＵ識別番号とを比較し、前回このブロックロード単位でロックを取得していたＣＰＵがアクセスしているＣＰＵと同一の場合は、前記主記憶を参照せずに、前記ＣＰＵのキャッシュメモリを参照する、マルチプロセッサシステム
　
　また、原査定の拒絶の理由に引用された特開平１０−４９４４１号公報（以下、「引用文献２」という。）には、図面と共に以下の事項が記載されている。
　
Ｅ．「【０００１】
【発明の属する技術分野】本発明は、それぞれがキャッシュメモリを備えた複数のプロセッサから構成されるマルチプロセッサシステムにおけるキャッシュメモリの記憶一致制御装置及び方法に関する。」
　
Ｆ．「【００１３】図１に記憶制御ユニット５の詳細を示す。記憶制御ユニット５は、キャッシュ同期書き込みリクエスト単位に、書き込みプロセッサ番号を保持するプロセッサ番号格納域１０と書き込みアクセスアドレスをセットで保持する書き込みアクセス格納域１１、を有し、さらに、キャッシュ同期読み出し時に、書き込みアクセスアドレス格納域１１の書き込みアクセスアドレスとキャッシュ同期読み出しアドレスの間の重なりによりキャッシュ一致処理の要不要を判定する一致処理判定機構１２と、一致判定結果により、書き込みプロセッサ番号格納域１０のプロセッサ番号に対応するキャッシュメモリの記憶内容をキャッシュ同期読み出しプロセッサのキャッシュメモリにコピーするキャッシュメモリ制御機構１３を有している。」
　
Ｇ．「【００１６】これに対して、ＣＰＵ間のデータ共有を考慮する場合には、キャッシュ同期書き込み命令においてその命令をキャッシュメモリを通して記憶制御ユニット５へ送る。記憶制御ユニット５では、書き込み要求したアドレスと書き込み要求したプロセッサ番号を書き込みアクセスアドレス格納域１１とプロセッサ番号格納域１０に登録する。このとき同一アドレスですでに格納されている項目がある場合はそれを削除し（図３の１００，１０１）、最新の書き込みプロセッサ番号が登録される（１０２，１０３）。書き込みデータは、要求ＣＰＵに対応するキャッシュメモリに対応するキャッシュメモリに格納する（１０４）。またキャッシュ同期読み出し指令において、その指令をキャッシュメモリを通して記憶制御ユニット５へ送る。記憶制御ユニット５では、書き込みアクセスアドレス格納域１１から登録済みアクセスと読み出し要求アドレスを一致処理判定機構１２で比較し重なっているか否かを判定する（図４の１１０）。
【００１７】判定結果はキャッシュメモリ制御機構１３に入力され、重なりがない場合は非共有データの場合のキャッシュミスと同様に、要求されたデータを含むブロックを主記憶からキャッシュメモリへ転送する（１１１）。その後はキャッシュメモリにデータが存在した場合と同様に動作する。
【００１８】重なりがある場合は、重なりを検出した書き込みアクセスアドレスに対応したプロセッサ番号をプロセッサ番号格納域１０から取り出し、キャッシュメモリ制御機構１３に入力される。キャッシュメモリ制御機構１３では、入力されたプロセッサ番号に対応するキャッシュメモリから要求されたデータを含むブロックを取り出し読み出し先のキャッシュメモリへ転送する（１１２）。その後はキャッシュメモリにデータが存在した場合と同様に動作する。
【００１９】重なりを検出したプロセッサ番号とキャッシュ同期読み出し命令実行プロセッサ番号が同一の時は、キャッシュヒットとしてキャッシュメモリ間のデータ転送無しで動作する。プロセッサ番号格納域１０及び書き込みアクセスアドレス格納域１１に空きが無くなった場合、登録済みの項目を一つ削除し新規の登録を行う（１０３）。削除情報はキャッシュメモリ制御機構１３に入力され、削除項目に対応するプロセッサ番号のキャッシュメモリのデータブロックを主記憶に戻す。」
　
　以上の記載より、引用文献２には、最新のデータがキャッシュメモリに存在するときにキャッシュメモリを参照するための技術として次の技術事項が記載されている。
「書き込み要求したアドレス対応に書き込み要求した最新のプロセッサ番号を格納するプロセッサ番号格納領域を有し、アクセス要求があったときにアクセス要求したプロセッサ番号とプロセッサ番号格納領域に格納された最新のプロセッサ番号を比較し、同一の場合はキャッシュヒットとしてキャッシュメモリに対してアクセスする技術」
　
　また、原査定の拒絶の理由に引用された特開平１０−２３２８０７号公報（以下、「引用文献３」という。）には、図面と共に以下の事項が記載されている。
　
Ｈ．「【００１７】図２を参照すると、メモリ１４０は、データをブロック単位に分割され（１４２、１４９等）、各々のブロックには世代番号が付されている（１４１、１４８等）。この世代番号は対応するブロックの世代を表すものであり、この世代番号が共有ファイル４００のものと一致していればそのブロックのデータも一致しているものと考えることができる。」
　
３．対比
　本願発明と引用発明とを対比すると、
引用発明における「ＣＰＵ」「主記憶」「ロック機構」「ブロックロード単位」「共有データ」「キャッシュメモリ」は、それぞれ、本願発明における「プロセッサ」「共有メモリ」「排他制御手段」「データブロック」「実データ」「占有メモリ」に相当する。
　引用発明では記憶制御ユニットを有し、記憶制御ユニット内にロック機構を有しているが、本願発明においても共有メモリに対する排他制御やアクセス制御が行われているから、本願の明細書には明示はないものの、共有メモリに対する記憶制御を司る部分が存在することは明らかである。
　本願発明における小ブロックを最後に更新したプロセッサの識別子と引用発明のロック取得ＣＰＵ識別番号とは、アクセス単位毎の占有メモリのデータ内容が最新であるか否かの判定に用いる共有メモリに対するアクセス履歴としてのプロセッサ番号である点で一致している。
　本願発明の識別子記憶領域と引用発明のロック取得ＣＰＵ識別番号記憶領域とは、共有メモリに対するアクセス履歴としてのプロセッサ番号を記憶する領域である点で一致している。
　引用発明における「ＣＰＵが主記憶をアクセスする」ことと、本願発明における「共有メモリ内の小ブロックに対する処理を行う」こととは、同等の処理である。
　引用発明における「ロック取得ＣＰＵ識別番号記憶領域のＣＰＵ識別番号とアクセスしているＣＰＵのＣＰＵ識別番号とを比較し、前回このブロックロード単位でロックを取得していたＣＰＵがアクセスしているＣＰＵと同一の場合は、前記主記憶を参照せずに、前記ＣＰＵのキャッシュメモリを参照する」ことと、本願発明における「前記識別子記憶領域の内容と、前記プロセッサの識別子とを比較し、前記プロセッサの識別子と一致した場合には、前記共有メモリを参照せずに、前記プロセッサの占有メモリを参照する」こととは、最新のデータが占有メモリに存在するときに占有メモリを参照する制御に関して同等のものである。
　
  よって、本願発明と引用発明とは、
　
　複数のプロセッサと、
　前記複数のプロセッサにより共有される共有メモリと、
　前記共有メモリに対する各プロセッサの処理を調停する排他制御手段と、
　を備え、
　前記共有メモリは、その内部に実データを記憶するデータブロックを有し、
　前記共有メモリ内の小ブロックに対する処理を行うプロセッサが、前記共有メモリに対するアクセス履歴としてのプロセッサ番号識別子と、前記プロセッサの識別子とを比較し、前記プロセッサの識別子と一致した場合には、前記共有メモリを参照せずに、前記プロセッサの占有メモリを参照する、ことを特徴とする、分散共有メモリ型マルチプロセッサ・システム
　
である点で一致し、次の点で相違する。
　
相違点１
　共有メモリに対するアクセス履歴としてのプロセッサ番号が、本願発明では最後に更新したプロセッサを示す識別子であるのに対し、引用発明では最後にロックを取得したロック取得ＣＰＵ識別番号である点
　
相違点２
　共有メモリに対するアクセス履歴としてのプロセッサ番号を格納する領域が、本願発明では、共有メモリ内部でデータブロックと共に小ブロックを構成する記憶領域であるのに対し、引用発明では共有メモリのデータブロックに対応して記憶制御ユニットに構成された記憶領域である点
　
４．検討
相違点１について
　引用発明では、最新データがキャッシュメモリに存在することを検証するものとして、最後にロックを取得したＣＰＵ識別番号を用いているが、引用文献２には上記２．で認定したように、最新データがキャッシュメモリに存在することを検証するものとして書き込み要求した最後のプロセッサ番号を用いるものが記載されているから、最新データがキャッシュに存在するときにキャッシュメモリを参照するために、引用発明における最後にロックを取得したＣＰＵ識別番号に代えて最後に書き込み要求をしたＣＰＵ番号、つまり、最後に更新したプロセッサ番号を用いるようにすることは容易に為し得ることである。そして、プロセッサ番号として、最後に更新したプロセッサ番号を用いると２度目以降のアクセスでは最後に更新したプロセッサはキャッシュメモリを参照するのでアクセス効率が上がるのに対し、最後にロックを取得したプロセッサ番号を用いると２度目以降のアクセスでは最後にアクセスしたプロセッサはキャッシュメモリを参照するのでアクセス効率が上がるという相違はあるものの、その効果は似たり寄ったりのものである。従って、この相違点を格別のものということはできない。
　
相違点２について
　引用文献３の記載箇所Ｈによれば、メモリ内を複数のブロックに分割し、ブロック内に該ブロックの世代番号を記憶する領域とデータを記憶する領域を設けるものが記載されている。また、特開平９−３４７９３号公報には、主記憶キーにより不正アクセスを防止するものにおいて、従来のキーストレジとキー制御回路を有するメモリ制御回路ユニットに代わってキー制御部のない低価格のメモリ制御回路ユニットを使用できるようにしたものであって、このものではメモリ領域対応の主記憶キーは主記憶の領域と対応して主記憶内に記憶し、主記憶からキーを読み出してキーの比較を行っている。このように、主記憶を複数のブロックに分割し、ブロック内にそのブロックのアクセスに関する属性情報を格納する構成は周知のものであり、また、主記憶にメモリブロックの属性情報をもつものはメモリ制御回路ユニットにメモリブロックの属性情報をもつものより簡易な構成となっている。そして、一般に計算機設計に分野では、より簡易なあるいは低コストに設計するという課題は自明のものであるから、引用発明において共有メモリに対するアクセス履歴としてプロセッサ番号を格納する領域を記憶制御ユニットに持つものに代えて、共有メモリにデータブロックに対応させた記憶領域に持つようにすることは容易に為し得ることである。従って、この相違点を格別のものということはできない。
　
５．むすび
　したがって、本願発明は、引用文献１、２、３に記載された発明および当該分野の周知事項に基づいて、当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。