【事件の表示】
　平成１０年特許願第５２０４０２号「回路内プログラミング構造を埋め込んだプロセッサ」拒絶査定不服審判事件〔平成１０年　５月　７日国際公開、ＷＯ９８／１９２３４、平成１３年　７月３１日国内公表、特表２００１−５１０６００、請求項の数（３２）〕について、次のとおり審決する。
【結　論】
　原査定を取り消す。
　本願の発明は、特許すべきものとする。
【理　由】
１．手続の経緯・本願発明 
　本願は、１９９６年１０月２８日（米国受理）を国際出願日とする出願であって、その請求項１〜３２に係る発明（以下、「本願発明１」から「本願発明３２」という。）は、平成２１年２月２５日付けの手続補正書により補正された特許請求の範囲の請求項１〜請求項３２に記載されたとおりの次のものと認める。 
  
 「【請求項１】　プロセッサによる実行のための命令を記憶する不揮発性メモリセルを集積回路上に含み、第１メモリアレイをプログラミングするための回路内プログラミング命令セットを含む第１メモリアレイと、
　前記プロセッサによる実行のための命令を記憶する不揮発性メモリセルを集積回路上に含む第２メモリアレイと、
　データが外部の情報源から受け取られる集積回路上の外部ポートと、
　回路内プログラム更新指令に応答し、第１メモリアレイから回路内プログラミング命令セットのコピーを第２メモリアレイに書き込むと共に、前記第１のメモリアレイに記憶された前記回路内プログラミング命令セットを少なくとも更新し、その後制御論理回路が前記第１のメモリアレイに記憶された前記更新された回路内プログラミング命令セットを前記プロセッサが実行することができるように、前記プロセッサに第２メモリアレイから前記回路内プログラミング命令セットを実行させて前記外部ポートからのデータで前記第１メモリアレイの不揮発性メモリセルをプログラムさせる制御論理回路とを含む、
ことを特徴とする命令のプログラムを実行するプロセッサを有する集積回路の回路内プログラミング用装置。
　　【請求項２】　前記第１メモリアレイが不揮発性メモリセルの別個に消去可能な複数のブロックを含み、回路内プログラミング命令セットが前記複数のブロックの特定のブロックに記憶され、前記回路内プログラミングブロック命令セットの実行中に前記特定のブロックが修正され新しい回路内プログラミング命令セットを生成し、その後制御論理回路が前記第１メモリアレイから新しい回路内プログラミング命令セットを前記プロセッサに実行させることができる請求項１に記載の装置。
　　【請求項３】　前記回路内プログラミング命令セットを実行せずに前記第１メモリアレイをプログラムすると共に確認するためのデータ経路を含む請求項１の装置。
　　【請求項４】　前記制御論理回路が前記プロセッサにより実行される命令を含む請求項１に記載の装置。
　　【請求項５】　外部のデータ源への複数のポートを含み、前記回路内プログラミング命令セットの実行中に前記外部ポートのために使用される前記複数のポート中のポートが前記回路内プログラミング命令セットにより決定される請求項１に記載の装置。
　　【請求項６】　外部のデータ源への複数のポートを含み、前記回路内プログラムの更新指令が複数のポートのうちの１つで受け取られる請求項１に記載の装置。
　　【請求項７】　前記外部ポートのために使用される前記複数のポート中のポートと、前記回路内プログラム更新指令が受け取られる前記複数のポート中のポートとが、前記回路内プログラミング命令セットにより決定される請求項１１に記載の装置。
　　【請求項８】　前記第１メモリアレイの不揮発性メモリセルがフローティングゲートメモリセルを含み、前記第２メモリアレイがフローティングゲートメモリセルを含み、前記第１及び第２メモリアレイに結合された消去及びプログラムポートを含み、前記第１及び第２メモリアレイを消去すると共にプログラムするために提供される請求項１に記載の装置。
　　【請求項９】　前記消去及びプログラムポートが前記第１及び第２メモリアレイに共通して接続された消去及びプログラム回路を含む請求項８に記載の装置。
　　【請求項１０】　前記消去及びプログラムポートが前記第１及び第２メモリアレイのそれぞれのため別個の消去及びプログラム回路を含む請求項８に記載の装置。
　　【請求項１１】　前記集積回路上の前記プロセッサは、命令入力を有し、該命令入力で受け取った命令を実行し、
　前記第１メモリアレイは、前記プロセッサの命令入力に結合された読み出しポートを有する前記集積回路上の不揮発性メモリセル、及び回路内プログラミング命令セットを記憶する不揮発性メモリセルのブロックを含み、
　前記第２メモリアレイは、前記プロセッサの命令入力に結合された読み出しポートを有する前記集積回路上の不揮発性メモリセルを含み、
　前記装置は、前記回路内プログラミング命令セットを実行せずに前記第１メモリアレイをプログラミングすると共に確認するための前記集積回路上のデータ経路とを含む、
ことを特徴とする請求項１に記載の装置。
　　【請求項１２】　前記制御論理回路がプロセッサにより実行される命令を含む請求項１１に記載の装置。
　　【請求項１３】　不揮発性メモリを含む第１の消去可能でプログラム可能な読み出し専用メモリアレイと不揮発性メモリを含む第２の消去可能でプログラム可能な読み出し専用メモリアレイを前記集積回路に提供し、
　前記第１アレイに回路内プログラミング命令セットを記憶し、
　前記集積回路の外部のイニシエータから回路内プログラム指令を前記プロセッサによって受け取り、
　該回路内プログラム指令に応答して、第１アレイから回路内プログラミング命令セットを第２アレイに前記プロセッサによってコピーし、前記第２アレイから回路内プログラミング命令セットを前記プロセッサで実行し、
　前記第１アレイに記憶された前記回路内プログラミング命令セットを少なくとも前記プロセッサによって更新するために、前記第２アレイから前記回路内プログラミング命令セットの制御下、外部の情報源からのデータで少なくとも前記第１アレイの選択した部分を前記プロセッサによってプログラムし、
　前記第１アレイの前記部分をプログラミング後、前記第１アレイから回路内プログラミング命令セットを前記プロセッサで実行すること、を含むことを特徴とする、命令のプログラムを実行するプロセッサを有する集積回路の回路内プログラミングのための方法。
　　【請求項１４】　前記回路内プログラミング命令セットを記憶する段階が前記第１アレイの選択した部分に前記回路内プログラミング命令セットを記憶することを含む請求項１３に記載の方法。
　　【請求項１５】　前記第１アレイがセルの別個に消去可能な複数のブロックを含み、前記第１アレイの選択した部分が前記複数のブロックに特定のブロックを含み、前記第１アレイの前記部分をプログラムする段階が前記特定のブロックを修正し新しい回路内プログラミング命令セットを生成させる請求項１３に記載の方法。
　　【請求項１６】　前記回路内プログラミング指令により示された前記回路内プログラミングシーケンスが前記回路内プログラミング命令セットを修正することを含むかどうかを前記イニシエータから前記プロセッサによって決定し、もしそうでなければ、その後前記第２アレイから前記回路内プログラミング命令セットを前記プロセッサによってコピーすると共に実行する段階をスキップすることを含む請求項１３に記載の方法。
　　【請求項１７】　前記集積回路が外部のデータ源への複数のポートを含み、プログラミングする段階が前記複数のポートの選択したポートからデータを受け取ることを含む請求項１３に記載の方法。
　　【請求項１８】　前記選択したポートが前記回路内プログラミング命令セットにより指定される請求項１７に記載の方法。
　　【請求項１９】　前記第１メモリアレイに結合される第１入力、前記第２メモリアレイに結合される第２入力、及び前記プロセッサに命令を供給する出力を有するコード多重装置と、
　少なくとも前記第１メモリアレイをプログラムすると共に消去し少なくとも前記第１メモリアレイに命令をロードする第１の消去／プログラム経路、及び前記回路内プログラミング命令セットの制御下で少なくとも前記第１メモリアレイをプログラムすると共に消去する第２の消去／プログラム経路を支援する消去／プログラム多重装置と、
　前記第１メモリアレイに記憶された前記回路内プログラミング命令セット及びプロセッサを含み、回路内プログラム更新指令に応答し、第１メモリアレイ及び第２メモリアレイに記憶された命令の全て又は一部を更新する論理回路とをさらに含む請求項１に記載の装置。
　　【請求項２０】　前記回路内プログラミング命令セットが、
　前記第１メモリアレイから前記元の回路内プログラミング命令セットのコピーを前記第２メモリアレイに書き込み、複製された回路内プログラミング命令セットを生成し、
　前記元の回路内プログラミング命令セットから前記第２メモリアレイで複製された回路内プログラミング命令セットに前記プロセッサ制御を切り替える前記コード多重装置を制御し、
　前記第２メモリアレイで複製された回路内プログラミング命令セットの制御下、前記第１メモリアレイの回路内プログラミング命令セットを更新する、
論理回路を含む請求項５に記載の装置。
　　【請求項２１】　前記第１及び第２メモリアレイに共通して結合されるプログラム及び消去回路を含む請求項１９に記載の装置。
　　【請求項２２】　前記回路内プログラム指令を受け取る段階で、前記集積回路の外部の前記イニシエータから識別子を前記プロセッサによってさらに受け取り、
　前記イニシエータの識別子を前記プロセッサによって確認し、その後確認された場合、前記回路内プログラム指令に応答して、前記第１アレイから前記回路内プログラミング命令セットを前記第２アレイにコピーする前記段階を前記プロセッサによって実行し、そして前記第２アレイから前記回路内プログラミング命令セットを前記プロセッサで実行する段階をさらに実行する、請求項１３に記載の方法。
　　【請求項２３】　前記イニシエータの識別子が確認されない場合には、その後前記プロセッサによって前記イニシエータから認識を要求し、確認か成功するまで、又は試みの最大数がなされるまで、前記プロセッサによって前記イニシエータの認識を確認しようとし、
　前記試みの最大数がなされた場合には、その後前記イニシエータに失敗の応答を前記プロセッサによって発行することを含む、
請求項２２に記載の方法。
　　【請求項２４】　前記プロセッサによって前記命令セットを識別する改訂番号を発行し、プログラミング段階が成功した場合には前記プロセッサによって前記改訂番号を記憶することを含む請求項２２に記載の方法。
　　【請求項２５】　プログラミングの段階の後、エラーのため前記プログラムされた命令セットを前記プロセッサによって検査し、エラーが発見された場合には、エラーが発見されなくなるまで又は再試行の最大数が試みられるまでプログラミング段階を前記プロセッサによって再試行し、
　再試行の最大数か試みられた場合には、その後前記イニシエータに失敗応答を前記プロセッサによって発行することを含む、
請求項２２に記載の方法。
　　【請求項２６】　エラーのため前記プログラムされた命令セットを検査する段階が、前記プログラムされた命令セットの検査合計を前記プロセッサによって確認することを含む請求項２５に記載の方法。
　　【請求項２７】　前記プログラムする段階が前記命令セットのブロックを前記プロセッサによってプログラムし、該ブロックのプログラミングを前記プロセッサによって確認し、該ブロックのプログラミングが確認された場合には、前記命令セットが完了するまで前記プロセッサによって次のブロックに進み、前記ブロックのプログラミングが確認されない場合には、その後それが確認を終えるまで又は再試行の最大数が試みられるまで前記プログラミングを前記プロセッサによって再試行し、
　確認を終えることなしに再試行の最大数が試みられた場合には、その後前記イニシエータに失敗応答を前記プロセッサによって発行することを含む、
請求項２２に記載の方法。
　　【請求項２８】　前記第１アレイがセルの別個に消去可能な複数のブロックを含み、前記第１アレイの選択した部分が前記複数のブロックに特定のブロックを含み、前記第１アレイの前記選択した部分をプログラムする段階が、前記特定のブロックを修正し、新しい回路内プログラミング命令セットを前記プロセッサによって生成する請求項２２に記載の方法。
　　【請求項２９】　請求項１３に記載の方法において、前記イニシエータは、コンピュータ又はワークステーションを含むことを特徴とする方法。
　　【請求項３０】　請求項２２に記載の方法において、前記イニシエータは、コンピュータ又はワークステーションを含むことを特徴とする方法。
　　【請求項３１】　請求項３に記載の装置において、前記第１メモリアレイをプログラムすると共に確認するためのデータ経路によりプログラム及び確認すること、あるいは前記回路内プログラミング命令セットによりプログラムすることのいずれかを選択する複数の多重Ｉ／Ｏピンを含む装置。
　　【請求項３２】　請求項１１に記載の装置において、前記第１メモリアレイをプログラムすると共に確認するためのデータ経路によりプログラム及び確認すること、あるいは前記回路内プログラミング命令セットによりプログラムすることのいずれかを選択する複数の多重Ｉ／Ｏピンを含む装置。」　 
２．引用例 
　これに対して、原査定の拒絶の理由に引用された、本願の出願の日前に頒布された刊行物である特開平８−２５５０８４号公報（以下、「引用文献」という。）には、マイクロプロセッサのフラッシュＥＥＰＲＯＭのブロック０〜ブロック３からなる第１のメモリに格納されたブート・ファームウェアを含むファームウェアのアップグレードについて記載されており、その記載からして、前記マイクロプロセッサの電源投入時にフラッシュＥＥＰＲＯＭの第１のメモリの主ブート・ブロック０からブート・ファームウェアを読み取り、該ブート・ファームウェアにおける命令を実行することによりマイクロプロセッサをブートアップ（システムの立ち上げ）し、該マイクロプロセッサを操作可能モードとするマイクロプロセッサにおいて、前記ファームウェアのアップグレード中に電源異常による中断が生じて、中断後の前記マイクロプロセッサのブート時においても、必ずブート・ファームウェアを読み取り該ブート・ファームウェアにおける命令を実行することによりマイクロプロセッサをブートアップして、前記ファームウェアのアップグレードを続けることができるようにするために、
　プロセッサをブート・ファームウェアを格納する前記主ブート・ブロック０を参照して、操作可能モードにブート・アップした後、新しいファームウェアの書き込みに備えて、主ブート・ブロック０以外のブロックを消去し、前記主ブート・ブロック０の内容をブロック２にコピーするとともに、ＮＶＭＥＭＢＩＴをセットして、（仮に電源異常または他の中断事象が発生した場合にその後の再ブート時に前記ブロック２からブート・ファームウェアを読み取り、ブートアップすることができるようにするために、）前記ブロック２を主ブートブロックのアドレス空間に現れるように設定した後に、前記主ブート・ブロック０を消去し、主ブート・ブロック０に新しいブート・ファームウェアを書き込み、アップグレードするとともに、前記ＮＶＭＥＭＢＩＴをリセットして、（仮に電源異常または他の中断事象が発生した発生した場合にその後の再ブート時に前記主ブート・ブロック０から新しいブート・ファームウェアを読み取り、ブートアップすることができるようにするために、）前記主ブート・ブロック０を主ブート・ブロックのアドレス空間に戻した後に、前記ブロック２を消去し、主ブート・ブロック０以外の残りのブロックに対応する新しいファームウェアを書き込むことで、ブート・ファームウェアを含むファームウェアのアップグレードのプロセス中に電源異常または他の中断事象が生じた場合であっても、該中断発生後のブート時に、ＮＶＭＥＭＢＩＴの値に応じて、主ブート・ブロック０または前記ブロック２から、ブート・ファームウェアを読み取り該ブート・ファームウェアにおける命令を実行することによりマイクロプロセッサをブートアップして、少なくともプロセッサをファームウェアのアップグレードの実施に十分な操作可能モードにすることを可能としたことを特徴とする、マイクロプロセッサのフラッシュＥＥＰＲＯＭのブロック０〜ブロック３からなる第１のメモリに格納されたブート・ファームウェアを含むファームウェアをアップグレードする方法／装置が記載されている。
　 
３．対比・判断
　本願発明１〜本願発明３２は、少なくとも 以下の発明特定事項（イ）（以下、「本願発明１〜本願発明３２の発明特定事項」という）を共通に備えている。
　
（イ）第１メモリアレイをプログラミングするための回路内プログラミング命令セットを含む第１メモリアレイと、第２メモリアレイと、プロセッサとを有する集積回路であって、回路内プログラム更新指令に応答して、前記第１メモリアレイから前記回路内プログラミング命令セットを第２メモリアレイに前記プロセッサによってコピーし、前記第２メモリアレイから前記コピーされた回路内プログラミング命令セットを前記プロセッサで実行することで、前記第１メモリアレイに記憶された前記回路内プログラミング命令セットを更新し、前記第１メモリアレイの前記回路内プログラミング命令セットを更新後、前記第１メモリアレイから前記更新された回路内プログラミング命令セットを前記プロセッサで実行することを特徴とする集積回路。
　 
　（イ）について検討する。
　引用文献に記載された発明においては、ブート・ファームウェアを含むファームウェアのアップグレード時において、マイクロプロセッサの電源投入時にブート・ファームウェアを格納する前記主ブート・ブロック０を参照して、操作可能モードにブート・アップした後、新しいファームウェアの書き込みに備えて、主ブート・ブロック０以外のブロックを消去し、前記主ブート・ブロック０の内容をブロック２にコピーするとともに、ＮＶＭＥＭＢＩＴをセットして、（仮に電源異常または他の中断事象が発生した場合にその後の再ブート時に前記ブロック２からブート・ファームウェアを読み取り、ブートアップすることができるようにするために、）前記ブロック２を主ブートブロックのアドレス空間に現れるように設定した後に、前記主ブート・ブロック０を消去し、主ブート・ブロック０に新しいブート・ファームウェアを書き込み、アップグレードするとともに、前記ＮＶＭＥＭＢＩＴをリセットして、（仮に電源異常または他の中断事象が発生した発生した場合にその後の再ブート時に前記主ブート・ブロック０から新しいブート・ファームウェアを読み取り、ブートアップすることができるようにするために、）前記主ブート・ブロック０を主ブート・ブロックのアドレス空間に戻した後に、前記ブロック２を消去し、主ブート・ブロック０以外の残りのブロックに対応する新しいファームウェアを書き込むことで、ブート・ファームウェアを含むファームウェアのアップグレードのプロセス中に電源異常または他の中断事象が生じた場合であっても、該中断発生後のブート時に、ＮＶＭＥＭＢＩＴの値に応じて、主ブート・ブロック０または前記ブロック２から、ブート・ファームウェアを読み取り該ブート・ファームウェアにおける命令を実行することによりマイクロプロセッサをブートアップして、少なくともプロセッサをファームウェアのアップグレードの実施に十分な操作可能モードにすることを可能としたものである。
　
　そして、引用文献の発明の詳細な説明の段落【００３７】における記載「このコードは、電源投入シーケンスまたは通常の実行システムから呼び出すことが可能である。」、及び段落【００３８】における「電源異常に耐えるファームウェア・アップグレードに関するプロセスの擬似コード」の記載を参照すると、前記「電源異常に耐えるファームウェア・アップグレードに関するプロセスの擬似コード」（以下、「アップグレードのためのコード」という）は、ファームウェア・アップグレードを実行するためのプロセスの実施例として記載されており、フラッシュＥＥＰＲＯＭの第１のメモリの全てのブロック０〜ブロック３をプログラミングするための命令セットに相当すると解される。
　
　なお、引用文献には、ブート・ファームウェアを格納する第１のメモリに含まれる主ブート・ブロック０を参照して、操作可能モードにブート・アップした後、新しいファームウェアの書き込みに備えて、第１のメモリに含まれる主ブート・ブロック０以外のブロックを消去し、前記主ブート・ブロック０の内容を第１のメモリに含まれるブロック２にコピーすることは記載されているが、上記アップグレードの最中に電源異常または他の中断が発生しない限り、ブロック２からブート・ファームウェアを読み取り、操作可能モードにブート・アップするものではなく、かつブート・ファームウェアは操作可能モードにブート・アップするための命令コードを含むものであって、アップグレードのためのコードを含まないことは、当業者にとって自明であるから、引用文献に記載された「ブート・ファームウェア」は、本願発明１〜本願発明３２の「第１メモリアレイをプログラミングするための回路内プログラミング命令セット」には相当しない。
　そして、前記アップグレードのためのコードは、前記フラッシュＥＥＰＲＯＭの第１のメモリの全てのブロック０〜ブロック３を更新（すなわち、プログラミング）するものであるから、前記フラッシュＥＥＰＲＯＭの第１のメモリは、第１メモリアレイに対応すると解される。
　
　そして、引用文献には前記アップグレードのためのコードがフラッシュＥＥＰＲＯＭのブロック０〜ブロック３からなる第１のメモリに含まれることについて、記載も示唆もない。
　仮に前記アップグレードのためのコードが前記第１のメモリに含まれると仮定しても、引用文献には、前記アップグレードのためのコードを前記第１のメモリからコピーするコピー先である前記第１のメモリとは異なる第２のメモリについて記載も示唆もない。
　さらに、引用文献には、前記第２のメモリにコピーされた前記アップグレードのためのコードを前記プロセッサで実行することについて記載も示唆もない。
　さらに、前記第１のメモリに記憶された前記アップグレードのためのコードを更新することについて記載も示唆もない。
　さらに、前記第１のメモリに含まれる前記アップグレードのためのコードを更新後、前記第１のメモリから前記更新されたアップグレードのためのコードを前記プロセッサで実行することについて記載も示唆もない。
　
　してみると、引用文献には、本願発明１〜本願発明３２の前記発明特定事項（イ）が記載されているとは認められず、かつその記載から自明とはいえない。
　
　以上のとおりであるから、本願発明が引用文献に記載された発明と同じ、または引用文献に記載された発明に基づいて容易に発明できたものということはできない。
　そして、本願発明は、前記発明特定事項（イ）を備えることにより、明細書に記載の効果を奏するものである。 
　したがって、本願発明は、引用文献に記載された発明と同じ、または引用文献に記載された発明に基づいて当業者が容易に発明できたものではない。 
　 
４．むすび 
　以上のとおりであるから、本願の請求項１−３２に係る発明は、特許法第２９条第１項第３号及び特許法第２９条第２項の規定により特許を受けることができないとした原査定の判断は妥当でない。
 また、他に本願を拒絶すべき理由を発見しない。 
 よって、結論のとおり審決する。