【事件の表示】
　平成　２年特許願第５０７４６５号「キャッシュ／メインメモリのコンシステンシを維持するための装置及び方法」拒絶査定不服審判事件〔平成　３年　３月２１日国際公開、ＷＯ９１／０３７８５、平成　５年　４月１５日国内公表、特表平　５−５０２１２３、請求項の数（１３）〕について、次のとおり審決する。
【結　論】
　原査定を取り消す。
　本願の発明は、特許すべきものとする。
【理　由】
１．事実の経過
　本件審判請求に係る特許願は、１９９０年３月２８日（パリ条約による優先権主張１９８９年９月１１日、米国）を国際出願とする特許出願であって、平成１４年１２月１１日付けで本件審判の請求は成り立たない旨の審決をしたところ、東京高等裁判所において審決取消の判決（平成１５年（行ヶ）第１５９号、平成１６年９月２８日判決言渡。以下、本件高裁判決という。）があった。
２．本願発明
　本願の請求項１乃至１３に係る発明は、特許請求の範囲に記載された次のとおりのものである。
　「【請求項１】　プロセッサおよびキャッシュメモリを有する第１エージェントと関連する装置であって、システムメモリ手段と、該システムメモリ手段にアクセス可能な前記第１エージェントと、前記システムメモリ手段にアクセス可能な第２エージェントとを有するシステムにおける前記第１エージェントの外部にある前記システムメモリ手段と前記キャッシュメモリとの間の整合性を維持するための装置において、
　前記第１エージェントの前記キャッシュメモリと並列に前記第１エージェントの前記プロセッサに結合され、前記プロセッサから少なくとも１つのデータ、前記１つのデータに関連するアドレス、および前記１つのデータに関連する制御コマンドを受信し、前記１つのデータがシステムバスを通じて前記システムメモリ手段へ書き込まれる前に、前記１つのデータ、前記１つのデータに関連する前記アドレスおよび前記制御コマンドを一時的に記憶する手段であって、前記制御コマンドは、前記１つのデータの全体を前記システムメモリ手段へ書込むことを示す全書込み制御コマンド又は前記１つのデータの一部のみを前記システムメモリ手段へ書込むことを示す部分書込み制御コマンドを備えるものである、受信して一時的に記憶する手段と、
　前記システムバスに結合され、前記システムメモリ手段への前記第２エージェントによる書込みアクセスの発生を前記システムバスから検出する手段と、
　前記受信して一時的に記憶する手段と前記検出する手段とに結合され且つ応答して、（１）前記第２エージェントによる前記書込みアクセスの発生が検出されず、前記制御コマンドが部分書込み制御コマンドとして記憶されている場合には
、前記制御コマンドを全書込み制御コマンドへ選択的に変換し、（２）前記第２エージェントによる前記書込みアクセスの発生が検出された場合には、前記制御コマンドを変更せずに維持する手段と、
　前記受信して一時的に記憶する手段に応答して、前記システムバスを介して前記システムメモリ手段へ、記憶された前記１つのデータと、記憶された前記アドレスと、選択的に変換された前記制御コマンドまたは維持された前記制御コマンドとを供給する手段と
　を備える装置。
　　【請求項２】　請求項１に記載の装置であって、前記受信して一時的に記憶する手段は、前記第１エージェント上のデータソースに結合された入力及び前記システムバスに結合された出力を有するＦＩＦＯバッファ手段を備える、装置。
　　【請求項３】　請求項１に記載の装置であって、前記部分書込み制御コマンドは、バイト書込み制御コマンドまたはハーフワード書込み制御コマンドの何れかである、装置。
　　【請求項４】　請求項１に記載の装置であって、前記１つのデータは、少なくとも４バイトのデータを含むワードであり、前記制御コマンドは、少なくとも全ワード書込みサイクルまたは部分ワード書込みサイクルを示し、前記部分ワード書込みサイクルは、バイト書込みサイクルまたはハーフワード書込みサイクルの何れかである、装置。
　　【請求項５】　請求項２に記載の装置であって、前記ＦＩＦＯバッファ手段と前記キャッシュメモリ手段の両方が、前記データソースからのデータを両方同時に記憶する、装置。
　　【請求項６】　請求項１に記載の装置であって、前記の選択的な変換は、前記第２エージェントによる書込みアクセスを前記検出する手段による評価によって検出したときに起きる、装置。
　　【請求項７】　請求項１に記載の装置であって、前記の選択的な変換は、前記１つのデータに対する前記アドレスに関連する書込みアクセスの存在を前記検出手段による評価によって検出したときに起きる、装置。
　　【請求項８】　システムメモリ手段と、該システムメモリ手段にアクセス可能でありプロセッサおよびキャッシュメモリを有する第１エージェントと、前記システムメモリ手段にアクセス可能である第２エージェントとを有するシステムにおける前記キャッシュメモリと前記システムメモリ手段との間の整合性を維持する方法であって、
　前記プロセッサから少なくとも１つのデータ、前記１つのデータに関連するアドレス、および前記１つのデータに関連する制御コマンドを受信し、前記１つのデータがシステムバスを通じて前記システムメモリ手段へ書き込まれる前に、前記１つのデータ、前記１つのデータに関連する前記アドレスおよび前記１つのデータに関連する前記制御コマンドを一時記憶手段に一時的に記憶するステップであって、前記制御コマンドは、前記１つのデータの全体を前記システムメモリ手段へ書込むことを示す全書込み制御コマンド又は前記１つのデータの一部のみを前記システムメモリ手段へ書込むことを示す部分書込み制御コマンドを備えるものである、受信して一時的に記憶するステップと、
　前記システムメモリ手段へ前記１つのデータを記憶するために、記憶された前記１つのデータ、前記関連するアドレス、および前記関連する制御コマンドを前記システムバスへ供給するステップとを備え、該供給するステップが、
　　前記一時記憶手段がその中に少なくとも１つのデータを記憶しているかを判定するステップと、
　　前記システムメモリ手段への前記第２エージェントによる書込みアクセスの発生を前記システムバスから検出するステップと、
　　前記発生が検出されない場合には、前記関連する制御コマンドが部分書込み制御コマンドとして記憶されていた場合に、前記関連する制御コマンドを全書込み制御コマンドへ選択的に変換し、前記システムバスを介して前記システムメモリ手段へ、記憶された前記１つのデータと、前記関連するアドレスと、選択的に変換された前記全書込み制御コマンドとを供給し、
　　前記発生が検出された場合には、前記関連する制御コマンドを維持し、前記システムバスを介して前記システムメモリ手段へ、記憶された前記１つのデータと、前記関連するアドレスと、維持された前記関連する制御コマンドとを供給するステップと
を含む、
　方法。
　　【請求項９】　請求項８に記載の方法であって、前記受信して一時的に記憶するステップは、前記１つのデータをＦＩＦＯバッファ手段に記憶することにより達成される、方法。
　　【請求項１０】　請求項８に記載の方法であって、前記部分書込み制御コマンドは、バイト書込み制御コマンドまたはハーフワード書込み制御コマンドの何れかである、方法。
　　【請求項１１】　請求項８に記載の方法であって、前記１つのデータは、少なくとも４バイトのデータを含むワードであり、前記制御コマンドは、少なくとも全ワード書込みサイクルまたは部分ワード書込みサイクルを示し、前記部分ワード書込みサイクルは、バイト書込みサイクルまたはハーフワード書込みサイクルの何れかである、方法。
　　【請求項１２】　請求項８に記載の方法であって、前記の選択的な変換は、前記第２エージェントによる書込みアクセスが検出されたときに起きる、方法。
　　【請求項１３】　請求項８に記載の方法であって、前記の選択的な変換は、前記第２エージェントによる書込みアクセスが、一時的に記憶された前記１つのデータに対する前記関連するアドレスに対応するときに、起きる、方法。」
３．平成１４年１２月１１日付けの審決において、本件審判の請求が成り立　たないとした理由
　平成１４年１２月１１日付けの審決において、本件審判の請求が成り立たないとした理由は、本件明細書の発明の詳細な説明は、当業者が容易にその実施をすることができる程度にその発明の目的、構成及び効果が記載されておらず、特許法第３６条第３項に規定する要件を満たしていないとするものである。
４．当審の判断
（１）明細書の記述が特許法第３６条第３項の規定を満たさないとする点に関し、上記審決取消訴訟（平成１５年（行ヶ）第１５９号）から主なところを取り上げると次のとおりである。
（ａ）内部に基準値が予め複数個設定され、比較する信号のみを入力するコンパレータが一般に知られており、本願に適用可能なものであることが明らかであるかどうか。
（ｂ）ＣＰＵ１による「Ｂ’」というハーフワード書き込み処理を、ＦＩＦＯ１８内に記憶しておいた「ＡＢ」というワードデータに対し行うと、ＦＩＦＯ１８内のデータは「ＡＢ’」となるが、その時点では、もはや、ＣＰＵ１が上位又は下位のいずれのハーフワードを書き換えたのか、区別がつかない。そうすると、次に、ＦＩＦＯ１８のワードデータに基づき、ハーフワード書き込みでメインメモリ２４のデータを書き換えようとしても、ＦＩＦＯ１８の上位又は下位のいずれのハーフワードを用いて書き換えればよいのかその位置が判断できない、という問題があるかどうか。
（ｃ）各作用物からＳＢ（システムバス）２０上に与えられるＭＣ０＊〜ＭＣ３＊は、ある時点においてどの作用物からの信号が反映されているのか明確でなく、ある作用物からの信号に他の作用物からの信号がさらに作用し得る不安定な状態にあるかどうか。
（ｄ）ＳＸＷＰ信号は、ＪＫフリップフロップ３０及び３６を経て、２クロック分遅れて、キャッシュヒットによる強制ワード書き込み信号ＦＷＷを無効にするＵＮＦＷＷ信号となるところ、この２クロックの間にも、自身の作用物のＦＩＦＯ１８を含め他の作用物のＦＩＦＯ１８からも、本来無効にされるべきワード書き込みのためのデータ、アドレス、制御信号が出力され得るとの問題があるかどうか。
（２）そこで以下、上記（ａ）〜（ｄ）について検討する。
　上記（ａ）について：
　請求人は、その内部に基準値が予め複数個設定され、比較する信号のみを入力するコンパレータは周知であるとし、その証拠としてウィンドウコンパレータである特開昭６３−６６６３４号（甲１１）を例示している。
　しかし、コンパレータとは、一致あるいは大小を判定し、その判定結果を出力端より出力するものであるのに対し、ウィンドウコンパレータは、当業者に周知であるように、閾値が２つ存在し、入力値がその閾値の間にあるのか、すべての閾値の下にあるのか、すべての閾値の上にあるのかを判別するものであり、大小を判定し、その判定結果をＡＮＤ、ＯＲ条件等で結合して出力端より出力するものである。そして、本件の明細書のどこをみても、本件のコンパレータ２９がウィンドウコンパレータであるとの説明はない。また、技術的に見てみても、本件のコンパレータ２９が、ウィンドウコンパレータであるということはありえない。
　甲１１は、通常は複数のコンパレータで構成するものをそれに代えてメモリを用いるとし、メモリのアドレスを入力値と対応付け、当該アドレスに入力値に応じたデータを出力値として格納することにより、上限と下限を示す基準値がアドレス値として設定されているもので、論理回路数の増加やデータ設定の手間を犠牲にしつつも、多ビット比較の構成を既存のメモリを利用して簡易に実現するようにしたウィンドコンパレータである。つまり、本件コンパレータと甲１１のウィンドウコンパレータとは用語の一部（コンパレータ）が同じであるものの、その機能も構成の仕方もその用法も異なるものであって、甲１１のコンパレータは、本件コンパレータを置き換えるものとしては、いわゆる阻害要因を有するものである。
　本件高裁判決では、『甲１１には，「〔問題点を解決するための手段〕上記目的は，予め所定の内容に設定された記憶素子のアドレス入力に被比較値を印加し，該記憶素子の出力を比較結果とする構成をとることにより，達成される。〔作用〕記憶素子は，アドレス入力信号によって指定された番地のデータ出力を行なうように動作する。それによって，或る値以下のアドレスに対応するデータを負極性，その値を越えるアドレスに対応するデータを正極性に設定しておくことにより，該記憶素子のアドレス入力信号として印可した被比較値が或る値以下にあるか，上にあるかを該記憶素子の出力から知ることができる。また該記憶素子のある範囲内のみのデータを他と逆極性にすることにより，被比較値が範囲内にあるか否かを判定することができる。」との記載があるから，本願出願前に，その内部に基準値が予め複数個設定され，比較する信号のみを入力するコンパレータが一般に知られていたことが明らかである。』、『甲１１のものが，その内部に基準値が予め複数個設定され，比較する信号のみを入力するコンパレータである以上，ビット数の多寡や，比較機能の差（ウインドウ型であるか，一致検出機能を有するものであるか）の点は，上記認定を何ら左右しない。』と述べているが、甲１１において、本件発明のＭＣ０＊〜ＭＣ３＊と比較されるのはメモリアドレスであり、設定値ではない。甲１１の設定値とは出力値のことであって比較される値ではない。この点でまず本件高裁判決は不可解である。
　また、本件高裁判決では、比較機能の差（ウインドウ型であるか，一致検出機能を有するものであるか）は問題にしていないようであるが、先にも述べたように、ウィンドウコンパレータは、その機能として、大小を判定し、その判定結果をＡＮＤ、ＯＲ条件等で結合して出力端より出力するものであって、通常複数のコンパレータで構成されるものであるから、その構成に代えてメモリを用いたとしても、本件発明のような単体のコンパレータと同一視することはできない。
　さらに、コンパレータのような単純な回路をわざわざメモリを用いて複雑（メモリをアクセスするための周辺回路が必要となる）にする必然性はないし、また、メモリを用いるとその出力を読み出すのに数クロックを要することになってしまう（この点は後の(d)で述べることと合わせると、ますます不可解である）。
　そして、コンパレータの規格をみても、請求人の主張するような、内部に基準値が予め複数個設定したものは存在しない。
　したがって、本件のコンパレータ２９に関する記述は依然として不明であるといわざるを得ない。
　上記（ｂ）について：
　この（ｂ）の点は裁判の過程で具体的に指摘した問題点である。
　請求人は、「ワード単位でデータの読み出しおよび書き込みを行うための、ワード単位のデータの区切りを定義する情報(例えば、ワードデータであることを識別するデータ、ワードデータの開始アドレス、開始アドレスからのバイト/ビット数終了アドレスなど)」、「ワードデータ内の各バイトに対してのバイト単位の属性情報(アドレスデ一夕など)」及び「ハーフワード単位でのデータの区切りを定義する情報」が記憶され、それぞれが、アドレスライン１２a、及び制御ライン１２cにより維持されていると主張しているが、本件明細書の発明の詳細な説明には、「ワード単位のデータの区切りを定義する情報」、「ワードデータ内の各バイトに対してのバイト単位の属性情報」及び「ハーフワード単位でのデータの区切りを定義する情報」が記憶され、それぞれが、アドレスライン１２a、及び制御ライン１２cにより維持されていることや、それらを用いてそれぞれの書き込み命令に対応したデータ単位でデータをＦＩＦＯ１８から読み出すこと、及びそれらを実現するための具体的構成について何ら記載されていない
　また、アドレスの最下位のビット（最下位側ビットと補正しているが、補正により内容が変わるということではないので、出願当初の明細書の記載のとおりとする）だけでは、バイト書込みをどこにするかの識別をするためにはビット数が足りない（少なくとも２ビット必要）し、また、アドレスの最下位ビットによる識別であるとすると、そもそもアドレス信号はメモリ２４にも送られ、そのアドレス信号によりメモリ２４がアクセスされるということになるから、異なるアドレスが送られた時点で、そもそも識別の対象となるフルワードの開始アドレス位置がアドレス値に依存して異なることになるから、アドレスの最下位ビットにより識別というのは奇妙である。
　本件高裁判決では、『そうすると，上記記載から，ＣＰＵからのハーフワード書き込みのデータは，ＦＩＦＯ１８において，キャッシュメモリからのデータとマージされてフルワードとして記憶され，同時に，ＣＰＵからのアドレス信号及び書き込み形式を指定する制御信号もＦＩＦＯ１８に記憶され，データとともにメモリ制御装置に送られるものであること，ハーフワード書き込みであることは上記制御信号により示され，いずれのハーフワードであるかは，アドレスの最下位側ビットによって判別することができること，ワード書き込みを行う場合は，制御信号のＭＣ２＊及びＭＣ３＊を強制的に低レベルにするが，コンパレータの検出動作により書き込みが検出されると，制御信号ＭＣ２＊及びＭＣ３＊の低レベルへの強制が無効とされること，ワード書き込みを無効にするときにアドレスデータや書き込みデータの変更は行われないことが明らかである。したがって，・・・アドレスの最下位側ビットによりワード内のハーフワードやバイトの位置を特定できるから，被告の主張するような「ＦＩＦＯ１８内のワードデータの上位又は下位のいずれのハーフワードを用いて書き換えればよいのか判断できない」という問題が生じることはない。』と述べているが、文章（文章の体裁：「・・・無効とされること，ワード書き込みを無効にするときにアドレスデータや書き込みデータの変更は行われないことが明らかである。したがって，・・・」）が不明りょうで分かりにくいが、アドレスデータの変更が行われないといいながら、アドレスの最下位側ビットでハーフワードやバイト位置を特定できる（したがって、アドレスの最下位側ビットは位置を特定するために異なる）としており、不可解なことである。
　ハーフワードやバイト位置を特定するためには、例えば特開昭６２−２７８６５１号公報に示されているように、位置特定のための制御信号によるとするのが自然であり、アドレスを用いるとするのは、フルワードの開始アドレス位置が変更してしまい不自然である。
　本件明細書の記述は依然として不明であるといわざるを得ない。
　上記（ｃ）について：
　請求人は、甲１２（特開昭６４−７３４４３号公報）を周知文献として挙げ、マルチプロセッサシステムがバス・ロック機能を実施するための構成を備えることは当業者であれば理解できることであるから、このようなバス・ロック機能を備えると、不安定な状態にはならないと主張している。しかし、甲１２は、作用物へのバスロック信号の入力を禁止することで当該作用物がバスの使用要求を出してバスが使用できるようにするもので、一旦バスロック信号が入力されバスロックされた作用物は、バスの使用要求を出すことができず、バスへのアクセスが禁止されるものである（第４頁右下段等参照）から、甲１２によれば、バスロックされたバスにアクセスできない他の作用物は、当該占有した作用物の書き込み信号を、バスの一部であるＭＣ０*〜ＭＣ３*によって検知し得ない。
　また、どこにどのようにバス・ロック機構を組み込めば請求人主張の機能を発揮できるのかも不明である。
　さらに、バス・ロック機能はマルチプロセッサシステムにおける一つの手法であるにすぎず、マルチプロセッサシステムとあれば、必ずバス・ロック機能が必ず付随するものでもない。
　さらにいえば、バス・ロック機構を設けることと、（請求項７は明細書にどのように行うかの記述がない点で問題であるが）「【請求項７】　請求項１に記載の装置であって、前記の選択的な変換は、前記１つのデータに対する前記アドレスに関連する書き込みアクセスの存在を前記検出手段による評価によって検出したときに起きる、装置」との整合性も不明である。
　本件高裁判決においては、『バスロック機能は，他のＣＰＵのバスの使用を禁止するものであり，他のＣＰＵがバス上の信号をコンパレータで検知するのに，バスへのアクセス権を必要とすることは考えられないし，他のＣＰＵのコンパレータの検出動作がアクセス権を有するＣＰＵのバスアクセス動作に反するものであるとも認められない。』、『バスロック機構自体は周知の技術常識であるところ，本願発明は，バスロック機構を前提としたものであって，特段，バスロック機構と矛盾する原理や機能を有するものではないから，本願発明にバスロック機構をどのように組み込むかについての具体的構成が本願明細書に開示されていなくても，当業者であれば，本願発明を容易に実施することができるものというべきである。』と述べているが、（特にＦｉｇ．１の）どこにどのようにバス・ロック機構を組み込むのか明示しない点が先ず問題である。
　仮にＦｉｇ．１のバスインターフェースがロックされてしまうということになれば、コンパレータの比較はできないことになる。
　さらに甲１２においては、特別なバスロック線が設けられ、このバスロック線の信号を検知してバスのロックを行なうものであるのに対し、本件においては特別なバスロック線を設けるといったことは記載されていないから、本件高裁判決で『他のＣＰＵがバス上の信号をコンパレータで検知するのに，バスへのアクセス権を必要とすることは考えられない』との点がどのような構成等を前提として述べているのか不明である。
　したがって、本件明細書の記述は依然として不明であるといわざるを得ない。
　上記（ｄ）について：
　請求人は、ＣＰＵがバスを開放して、バスアクセス権を得るまではデータがＣＰＵ１からバスへ出力されず、ＦＩＦＯに保留され、バスアクセス権を得るまでの間に書き込みの方法が変更されるから問題はないと主張するが、そもそもバスアクセス権やバスロックが本件においてどのように実現されているが不明である点が問題である。
　また、ＣＰＵnがメモリ制御装置に指令を渡し終えた後、バスのロックを解除し、ＣＰＵ1がバスを占有するまでの間の、２クロック以上の間に作用物のＳＸＷＰ信号が通り過ぎたＪＫフリップフロップ３０、３６のＫはＨとなっており、ＳＸＷＰ信号のない状態がＭＣ０*〜ＭＣ３*に伝搬されているから、新たにバスを占有したＣＰＵ1においては、ＭＣ０*〜ＭＣ３*においてＣＰＵnがメモリにアクセスした時のＳＸＷＰ信号を検出することはできず、したがって、この間にＦＩＦＯ１８のデータがメインメモリに対して出力され、ワード書き込みにより上書きされてしまう。
　本件高裁判決では、『コンパレータ２９がＳＸＷＰ信号を検出した時点では，当該書き込みを行った別の作用物（ＣＰＵｎ）がバスのアクセス権を有しており，他の作用物がバスのアクセス権を得るまでに一定の時間が必要であることは明らかである。上記２クロック分の時間は，この点も考慮したものと考えられるから，被告の主張するような問題が生じるとは認められない。』と述べているが、一般的な意味において、アクセス権を持つためにある時間がかかるというのは分かるが、そもそもバスアクセス権やバスロックが本件においてどのように実現されているか不明である。また、２クロックは、ＦＩＧ．２に示された構成をみれば明らかなように、ＣＬＲＸＷＰ及びＥＭＰＴＹによる状態変化を与える構成としたためにかかってしまった時間であって、アクセス権を得るために必要な時間を考慮したものでない。しかも、本件高裁判決によれば、コンパレータとしてメモリを用いているから、２クロックに加え、さらに数クロックかかるということになり、これをも考慮して時間調整されているとは考えにくいことであり、根拠のないことと言わざるを得ない。
　また、『仮に，被告の主張するような問題が生じ得るとしても，そのような問題は，当業者であれば，２クロック分の時間を適宜調整することにより，容易に解決し得ることであるから，それによって，当業者が本願発明を容易に実施することができないということはできない。』とも述べているが、そもそも時間を適宜調整するとかしないとかの問題ではなく、本件明細書に示されている構成ではどうなっているかということである。
　したがって、本件明細書の記述は依然として不明であるといわざるを得ない。
（３）ただ、本件高裁判決においては、本件明細書には不備はないと結論しており、当査定不服審判に限れば、上記（１）（２）で述べた点を理由として原査定を維持することはできないことになっている。
５．まとめ
　したがって、原査定の拒絶の理由によって拒絶することはできない。
　
　また、他に本願を拒絶すべき理由を発見しない。
　よって、結論のとおり審決する。