特許拒絶査定不服審判
2018-000980
再構成可能プロセッサ及び再構成可能プロセッサのミニコア
- 審判番号
- 2018-000980
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2012-271447外部サイト(J-PlatPat)へ移動します
- 請求日
- 2018年01月24日
- 審決日
- 2018年10月01日
- 公報発行日
- 2019年04月26日
- 結論
- 請求不成立
- 分類
- P18 .121-Z (G06F)
- 条文(本文から自動抽出・参考)
- 特許法第17条の2第5項、特許法第29条、特許法第164条、特許法第17条の2第3項、特許法第17条の2第4項、特許法第36条
- データ出所
- 審決公報(SGML)
事件の表示
特願2012-271447「再構成可能プロセッサ及び再構成可能プロセッサのミニコア」拒絶査定不服審判事件〔平成25年 6月20日出願公開、特開2013-122764〕について、次のとおり審決する。
結論
【結 論】
本件審判の請求は、成り立たない。
理由
【理 由】
第1 手続の経緯
本願は,平成24年12月12日(パリ条約による優先権主張2011年12月12日,韓国)の出願であって,平成27年12月11日に手続補正書が提出され,平成28年12月20日付けで拒絶の理由が通知され,平成29年4月4日に手続補正書が提出され,同年9月22日付けで拒絶査定(謄本送達日同年10月3日。以下,「原査定」という。)がなされ,これに対して平成30年1月24日に審判請求がなされると共に手続補正がなされ,同年3月9日付けで審査官により特許法164条3項の規定に基づく報告がなされたものである。
第2 本願発明
1 本件補正について
A 補正の内容
平成30年1月24日になされた手続補正(以下,「本件補正」という。)の内容は,平成29年4月4日になされた手続補正により補正された特許請求の範囲,
「 【請求項1】
再構成可能CGAプロセッサであって、
少なくとも1つのミニコアを含み、
前記少なくとも1つのミニコアのそれぞれは、互いに異なる計算機能力を有する少なくとも2つの機能ユニットを含み、
前記機能ユニットのそれぞれは、相互異なる演算を実行する複数の演算素子を含み、
前記複数の演算素子のうちの少なくとも1つは、前記機能ユニットのうちの少なくとも2つに共通して含まれる少なくとも1つの演算素子を有し、
前記少なくとも1つのミニコアのそれぞれは、前記再構成可能CGAプロセッサを設計し又は拡張する基本単位と定められ、
前記機能ユニットのそれぞれの前記計算機能力は、前記機能ユニットのそれぞれに含まれる前記複数の演算素子のそれぞれの種類に基づいて定められる、
再構成可能CGAプロセッサ。
【請求項2】
前記機能ユニットのうち少なくとも1つは、前記機能ユニット間に共通しない少なくとも1つの演算素子をさらに含む、請求項1に記載の再構成可能CGAプロセッサ。
【請求項3】
前記少なくとも1つのミニコアのそれぞれは、前記機能ユニットが接続される内部ネットワークをさらに含む、請求項1に記載の再構成可能CGAプロセッサ。
【請求項4】
前記少なくとも1つのミニコアのそれぞれは、前記機能ユニットの個々の部分的計算機能力の組合せにより定められる全体計算機能力を有する、請求項1に記載の再構成可能CGAプロセッサ。
【請求項5】
前記少なくとも1つのミニコアのそれぞれが接続される外部ネットワークをさらに含む請求項1に記載の再構成可能CGAプロセッサ。
【請求項6】
再構成可能CGAプロセッサであって、
複数のミニコアと、
前記ミニコアが接続される外部ネットワークと、
を有し、
前記ミニコアのそれぞれは、
相互異なる演算を実行する複数の演算素子を含む第1演算素子グループを含む第1機能ユニットと、
前記複数の演算素子と少なくとも一部が異なる複数の演算素子を含む第2演算素子グループを含む第2機能ユニットと、
前記第1及び第2機能ユニットが接続される内部ネットワークと、
を含み、
前記第1演算素子グループ及び前記第2演算素子グループは、少なくとも1つの演算素子を共通して含み、
前記複数のミニコアのそれぞれは、前記再構成可能CGAプロセッサを設計する又は拡張する基本単位と定められ、
前記第1機能ユニットの計算機能力は、前記第1演算素子グループに含まれた複数の演算素子のそれぞれの種類に基づいて定められ、
前記第2機能ユニットの計算機能力は、前記第2演算素子グループに含まれた複数の演算素子のそれぞれの種類に基づいて定められる、
再構成可能CGAプロセッサ。
【請求項7】
前記第1演算素子グループ及び前記第2演算素子グループは、前記第1演算素子グループ及び前記第2演算素子グループに共通しない少なくとも1つの演算素子を更に有する、請求項6に記載の再構成可能CGAプロセッサ。
【請求項8】
前記ミニコアのそれぞれは、CGAプロセッサまたはVLIWプロセッサを設計する又は拡張する基本単位と定められる、請求項6に記載の再構成可能CGAプロセッサ。
【請求項9】
コースグレインアレイ(CGA)モードに切り換えるよう前記ミニコアを制御するモード制御信号を生成するよう構成されるモード制御部をさらに含む、請求項6に記載の再構成可能CGAプロセッサ。
【請求項10】
前記モード制御部が前記モード制御信号を生成すると、前記CGAモードになれるミニコアグループである第1ミニコアグループがGCAプロセッサで動作する、請求項9に記載の再構成可能CGAプロセッサ。
【請求項11】
前記複数のミニコアそれぞれは、前記CGAモードになれるミニコアモードグループである前記第1ミニコアグループ又はVLIWモードになれるミニコアグループである第2ミニコアグループのいずれかに属する、請求項10に記載の再構成可能CGAプロセッサ。
【請求項12】
前記外部ネットワークに接続され、前記第1ミニコアグループ内で前記CGAモードであるミニコアの間の連結についての設定情報を保存する構成メモリと、
前記外部ネットワークに連結され、前記CGAモードで、前記第1ミニコアグループのコンテキスト情報を保存するグローバルレジスタファイルと、
をさらに含む請求項10に記載の再構成可能CGAプロセッサ。
【請求項13】
再構成可能プロセッサであって、
相互異なる演算を実行する複数の演算素子を含む第1演算素子グループを有する第1機能ユニットと、
前記複数の演算素子と少なくとも一部が異なる複数の演算素子を含む第2演算素子グループを有する第2機能ユニットと、
前記第1機能ユニット及び前記第2機能ユニットが接続される内部ネットワークと、
を有し、
前記第1演算素子グループ及び前記第2演算素子グループは、少なくとも1つの演算素子を共通して含み、
前記第1機能ユニットの計算機能力は、前記第1演算素子グループに含まれた複数の演算素子のそれぞれの種類に基づいて定められ、
前記第2機能ユニットの計算機能力は、前記第2演算素子グループに含まれた複数の演算素子のそれぞれの種類に基づいて定められる、
再構成可能プロセッサ。
【請求項14】
前記第1演算素子グループ及び前記第2演算素子グループは、前記第1演算素子グループ及び前記第2演算素子グループの両方に共通しない少なくとも1つの演算素子をさらに含む、請求項13に記載の再構成可能プロセッサ。」(以下,この特許請求の範囲に記載された請求項を「補正前の請求項」という。)
を,
「 【請求項1】
再構成可能CGAプロセッサであって、
少なくとも1つのミニコアを含み、
前記少なくとも1つのミニコアのそれぞれは、互いに異なる計算機能力を有する複数の機能ユニットを含み、
前記複数の機能ユニットのそれぞれは、複数の演算素子を含み、
前記複数の演算素子のうちの少なくとも1つの演算素子は前記複数の機能ユニットに共通して含まれ、前記複数の機能ユニットのそれぞれに含まれた複数の演算素子は共通せず、
前記少なくとも1つのミニコアのそれぞれは、前記再構成可能CGAプロセッサを設計し又は拡張する基本単位と定められ、
前記複数の機能ユニットのそれぞれの前記計算機能力は、前記複数の機能ユニットのそれぞれに含まれる前記複数の演算素子のそれぞれの種類に基づいて定められる、
再構成可能CGAプロセッサ。
【請求項2】
前記機能ユニットのうち少なくとも1つは、前記機能ユニット間に共通しない少なくとも1つの演算素子をさらに含む、請求項1に記載の再構成可能CGAプロセッサ。
【請求項3】
前記少なくとも1つのミニコアのそれぞれは、前記機能ユニットが接続される内部ネットワークをさらに含む、請求項1に記載の再構成可能CGAプロセッサ。
【請求項4】
前記少なくとも1つのミニコアのそれぞれは、前記機能ユニットの個々の部分的計算機能力の組合せにより定められる全体計算機能力を有する、請求項1に記載の再構成可能CGAプロセッサ。
【請求項5】
前記少なくとも1つのミニコアのそれぞれが接続される外部ネットワークをさらに含む請求項1に記載の再構成可能CGAプロセッサ。
【請求項6】
再構成可能CGAプロセッサであって、
複数のミニコアと、
前記ミニコアが接続される外部ネットワークと、
を有し、
前記ミニコアのそれぞれは、
相互異なる演算を実行する複数の演算素子を含む第1演算素子グループを含む第1機能ユニットと、
前記複数の演算素子と少なくとも一部が異なる複数の演算素子を含む第2演算素子グループを含む第2機能ユニットと、
前記第1及び第2機能ユニットが接続される内部ネットワークと、
を含み、
前記第1演算素子グループ及び前記第2演算素子グループは、少なくとも1つの演算素子を共通して含み、
前記第1演算素子グループ及び前記第2演算素子グループ内にそれぞれ含まれた複数の演算素子は共通せず、
前記複数のミニコアのそれぞれは、前記再構成可能CGAプロセッサを設計する又は拡張する基本単位と定められ、
前記第1機能ユニットの計算機能力は、前記第1演算素子グループに含まれた複数の演算素子のそれぞれの種類に基づいて定められ、
前記第2機能ユニットの計算機能力は、前記第2演算素子グループに含まれた複数の演算素子のそれぞれの種類に基づいて定められる、
再構成可能CGAプロセッサ。
【請求項7】
前記第1演算素子グループ及び前記第2演算素子グループは、前記第1演算素子グループ及び前記第2演算素子グループに共通しない少なくとも1つの演算素子を更に有する、請求項6に記載の再構成可能CGAプロセッサ。
【請求項8】
前記ミニコアのそれぞれは、CGAプロセッサまたはVLIWプロセッサを設計する又は拡張する基本単位と定められる、請求項6に記載の再構成可能CGAプロセッサ。
【請求項9】
コースグレインアレイ(CGA)モードに切り換えるよう前記ミニコアを制御するモード制御信号を生成するよう構成されるモード制御部をさらに含む、請求項6に記載の再構成可能CGAプロセッサ。
【請求項10】
前記モード制御部が前記モード制御信号を生成すると、前記CGAモードになれるミニコアグループである第1ミニコアグループがGCAプロセッサで動作する、請求項9に記載の再構成可能CGAプロセッサ。
【請求項11】
前記複数のミニコアそれぞれは、前記CGAモードになれるミニコアモードグループである前記第1ミニコアグループ又はVLIWモードになれるミニコアグループである第2ミニコアグループのいずれかに属する、請求項10に記載の再構成可能CGAプロセッサ。
【請求項12】
前記外部ネットワークに接続され、前記第1ミニコアグループ内で前記CGAモードであるミニコアの間の連結についての設定情報を保存する構成メモリと、
前記外部ネットワークに連結され、前記CGAモードで、前記第1ミニコアグループのコンテキスト情報を保存するグローバルレジスタファイルと、
をさらに含む請求項10に記載の再構成可能CGAプロセッサ。
【請求項13】
再構成可能プロセッサであって、
相互異なる演算を実行する複数の演算素子を含む第1演算素子グループを有する第1機能ユニットと、
前記複数の演算素子と少なくとも一部が異なる複数の演算素子を含む第2演算素子グループを有する第2機能ユニットと、
前記第1機能ユニット及び前記第2機能ユニットが接続される内部ネットワークと、
を有し、
前記第1演算素子グループ及び前記第2演算素子グループは、少なくとも1つの演算素子を共通して含み、
前記第1演算素子グループ及び前記第2演算素子グループ内にそれぞれ含まれた複数の演算素子は共通せず、
前記第1機能ユニットの計算機能力は、前記第1演算素子グループに含まれた複数の演算素子のそれぞれの種類に基づいて定められ、
前記第2機能ユニットの計算機能力は、前記第2演算素子グループに含まれた複数の演算素子のそれぞれの種類に基づいて定められる、
再構成可能プロセッサ。
【請求項14】
前記第1演算素子グループ及び前記第2演算素子グループは、前記第1演算素子グループ及び前記第2演算素子グループの両方に共通しない少なくとも1つの演算素子をさらに含む、請求項13に記載の再構成可能プロセッサ。」(当審注:下線は,請求人が付与したものである。以下,この特許請求の範囲に記載された請求項を「補正後の請求項」という。)
に補正するものである。
そして,本件補正は,願書に最初に添付した明細書,特許請求の範囲又は図面に記載した事項の範囲内においてなされており,特許法17条の2第3項の規定に適合している。
また,本件補正は,特別な技術的特徴を変更(シフト補正)をしようとするものではなく,特許法17条の2第4項の規定に適合している。
B 本件補正の目的について
本件補正は,上記「A 補正の内容」のとおり本件審判の請求と同時にする補正であり,特許請求の範囲について補正をしようとするものであるから,本件補正が,特許法17条の2第5項の規定を満たすものであるか否か,すなわち,本件補正が,特許法17条の2第5項に規定する請求項の削除,特許請求の範囲の減縮(特許法36条5項の規定により請求項に記載した発明を特定するために必要な事項を限定するものであって,その補正前の当該請求項に記載された発明とその補正後の当該請求項に記載される発明の産業上の利用分野及び解決しようとする課題が同一であるものに限る),誤記の訂正,或いは,明りょうでない記載の釈明(拒絶理由通知に係る拒絶の理由に示す事項についてするものに限る)の何れかを目的としたものであるかについて,以下に検討する。
(1)補正前の請求項と,補正後の請求項とを比較すると,補正前の請求項1乃至14は,補正後の請求項1乃至14に対応する。
(2)本件補正は,下記の補正事項1乃至5よりなるものである。
<補正事項1>
補正前の請求項1の,「前記少なくとも1つのミニコアのそれぞれ」につき,「互いに異なる計算機能力を有する少なくとも2つの機能ユニットを含み」とされていたものを,補正後の請求項1では,「互いに異なる計算機能力を有する複数の機能ユニットを含み」とする補正。
<補正事項2>
補正前の請求項1において,「前記機能ユニットのそれぞれは、相互異なる演算を実行する複数の演算素子を含み」とされていたものを,補正後の請求項1では,「前記複数の機能ユニットのそれぞれは、複数の演算素子を含み」とする補正。
<補正事項3>
補正前の請求項1において,「前記複数の演算素子のうちの少なくとも1つは、前記機能ユニットのうちの少なくとも2つに共通して含まれる少なくとも1つの演算素子を有し」とされていたものを,補正後の請求項1では,「前記複数の演算素子のうちの少なくとも1つの演算素子は前記複数の機能ユニットに共通して含まれ、前記複数の機能ユニットのそれぞれに含まれた複数の演算素子は共通せず」とする補正。
<補正事項4>
補正前の請求項1において,「前記機能ユニットのそれぞれの前記計算機能力は、前記機能ユニットのそれぞれに含まれる前記複数の演算素子のそれぞれの種類に基づいて定められる」とされていたものを,「前記複数の機能ユニットのそれぞれの前記計算機能力は、前記複数の機能ユニットのそれぞれに含まれる前記複数の演算素子のそれぞれの種類に基づいて定められる」とする補正。
<補正事項5>
補正後の請求項6及び13において,「前記第1演算素子グループ及び前記第2演算素子グループ内にそれぞれ含まれた複数の演算素子は共通せず」との事項を追加する補正。
(3)補正事項1乃至4について
補正事項1乃至4はいずれも,原査定において,
「本件補正後の請求項1には「前記複数の演算素子のうちの少なくとも1つは、前記機能ユニットのうちの少なくとも2つに共通して含まれる少なくとも1つの演算素子を有し、」と記載されるようになった。
しかしながら、この記載のままでは、”演算素子が演算素子を有する”ことになり、その意味するところが明確でない。
そして、同様の趣旨の拒絶理由を、拒絶理由通知の理由1のa.において指摘していたところである。つまり、拒絶理由通知の理由1のa.は本件補正後においても解消されていない。」
と指摘された事項につき,これを明りょうとすることを目的としたものであって,明りょうでない記載の釈明を目的とするものであるから,本件補正は,特許法17条の2第5項の規定に適合するものである。
(4)補正事項5について
補正事項5は,補正前の請求項6及び13において,補正前の請求項1に係る上記(3)と同旨の事項に対応する事項を明りょうとすることを目的としたものであって,明りょうでない記載の釈明を目的とするものであるから,本件補正は,特許法17条の2第5項の規定に適合するものである。
2 本願発明について
本願請求項1に係る発明(以下「本願発明」という。)は,本件補正後の特許請求の範囲の請求項1に記載された,次のとおりのものと認める。
「 【請求項1】
再構成可能CGAプロセッサであって、
少なくとも1つのミニコアを含み、
前記少なくとも1つのミニコアのそれぞれは、互いに異なる計算機能力を有する複数の機能ユニットを含み、
前記複数の機能ユニットのそれぞれは、複数の演算素子を含み、
前記複数の演算素子のうちの少なくとも1つの演算素子は前記複数の機能ユニットに共通して含まれ、前記複数の機能ユニットのそれぞれに含まれた複数の演算素子は共通せず、
前記少なくとも1つのミニコアのそれぞれは、前記再構成可能CGAプロセッサを設計し又は拡張する基本単位と定められ、
前記複数の機能ユニットのそれぞれの前記計算機能力は、前記複数の機能ユニットのそれぞれに含まれる前記複数の演算素子のそれぞれの種類に基づいて定められる、
再構成可能CGAプロセッサ。」
第3 引用例
1 引用例1に記載された事項
原査定の拒絶の理由において引用された,本願の第一国出願前に既に公知である,特表2005-508532号公報(平成17年3月31日公開。以下,これを「引用例1」という。)には,関連する図面と共に,次の事項が記載されている。(下線は,当審で説明のために付加。以下同様。)
A 「【0016】
図1は、本発明による装置100の好ましい実施例を示すブロック図である。装置100は、ここで適応計算エンジン(“ACE”)100と呼ばれ、集積回路としてあるいは他の付加的構成要素を有する集積回路の一部として実施されることが望ましい。好ましい実施例において、以下により詳細に説明されるように、ACE100は、図示されるマトリックス150Aから150Nのような1つ以上の再構成可能マトリックス(あるいはノード)150、およびマトリックス相互接続ネットワーク110を含む。好ましい実施例においてはまた、以下に詳細に説明されるように、マトリックス150Aおよび150Bのような1つ以上のマトリックス150は制御装置120としての機能のために構成され、マトリックス150Cおよび150Dのような他のマトリックスはメモリ140としての機能のために構成される。多様なマトリックス150およびマトリックス相互接続ネットワーク110はまた、フラクタル副装置として共に実施することもできる。この副装置は数ノードから数千ノードにわたってもよい。
【0017】
従来技術からの重要な相違として、ACE100は、再構成可能マトリックス150、制御装置120、およびメモリ140あるいは他の入力/出力(“I/O”)機能の間そしてそれらの中の信号および他の伝送のために、従来の(そして通常別々の)データ、DMA、ランダム・アクセス、構成および命令バスを使用しない。その代わり、データ、制御、および構成情報は、これらのマトリックス150要素の間そしてそれらの中で、マトリックス相互接続ネットワーク110を使用して伝送される。マトリックス相互接続ネットワーク110は、以下により詳細に説明されるように、制御装置120およびメモリ140として構成されたマトリックス150を含む、再構成可能マトリックス150間および中の任意の接続を提供するために、リアルタイムで構成および再構成することができる。」
B 「【0022】
多様なマトリックスあるいはノード150は、概して再構成可能で異質であり、望ましい構成に依存している。再構成可能マトリックス150Aは、一般に、再構成可能マトリックス150Bから150Nとは異なり、再構成可能マトリックス150Bは、一般に、再構成可能マトリックス150Aおよび150Cから150Nとは異なり、再構成可能マトリックス150Cは、一般に、再構成可能マトリックス150A、150Bおよび150Dから150Nとは異なり、以下同様である。多様な再構成可能マトリックス150はそれぞれ、一般に、適応および再構成可能計算の(computational)(あるいは計算(computation))装置(200)の異なるあるいは変化する混合を含み、計算装置200は、代わりに、一般に、図3および図4に関して以下により詳細に説明される、固定特定用途向け計算要素(250)の異なるあるいは変化する混合を含む。計算要素(250)は、変化する機能を実行するために、多様な相互接続ネットワークを通して、様々な方法で適応的に接続、構成および再構成することができる。変化する内部構成および再構成に加えて、多様なマトリックス150は他のマトリックス150の各々に関して、マトリックス相互接続ネットワーク110を通して、より高いレベルで接続、構成および再構成することができる。このこともまた、以下により詳細に説明される。」
C 「【0026】
本発明の第3のそしておそらく最も重要な概念であり、従来技術の概念および規則からの注目すべき相違点は、上記の多様な選択されたアルゴリズムを実現するために使用される再構成可能な“異質性”の概念である。上記のように、従来技術の再構成可能性は同質なFPGAに排他的に依存しており、この同質FPGAにおいては、論理ゲートの同一のブロックが豊かなプログラマブル相互接続内において配列として繰り返され、効率が悪くしばしば経路指定および組合せ問題が起こるにもかかわらず、特定の機能を実現するために、同一のゲート間および中に接続を提供するよう相互接続が続いて構成される。まったく対照的に、本発明によると、計算装置200内において、異なる計算要素(250)は、専用乗算器、複合乗算器および加算器のような対応する異なる固定(あるいは専用)特定用途向けハードウェアとして、直接実現される。相互接続(210および220)を使用して、これらの異なる異質の計算要素(250)は、それから、しばしば移動通信において使用される離散コサイン変換の実行のような、選択されたアルゴリズムを実行するためにリアルタイムで適応的に構成することができる。図2のデータ・フロー・グラフの例に対しては、4つの乗算器および4つの加算器が構成される、つまり、特定のアルゴリズムを実行するためにリアルタイムで接続される。その結果、本発明によると、異なる(“異質の”)計算要素(250)が、任意の時に、任意のアルゴリズムあるいは他の機能を最適に実行するために、構成され再構成される。加えて、繰返し機能に対しては、計算要素の任意のインスタンシエイションあるいは構成が時間にわたってとどまる、つまり、このような繰返し計算の間にわたって不変であることができる。」
D 「【0033】
図3は、複数の計算装置200(計算装置200Aから200Nとして図示されている)および複数の計算要素250(計算要素250Aから250Zとして図示されている)を有する再構成可能マトリックス150をより詳細に示すブロック図であり、計算要素250の好ましい型の付加的説明および本発明の有用な要約を提供している。図3に示されるように、どんなマトリックス150も、一般に、マトリックス制御装置230、複数の計算(あるいは計算の)装置200、および、マトリックス相互接続ネットワーク110の論理あるいは概念サブセットあるいは部分として、データ相互接続ネットワーク240およびブール相互接続ネットワーク210を含む。上記のように、好ましい実施例において、ACE100構造内の“深さ”が増すにつれ、相互接続ネットワークは、適応性および再構成のより高いレベルに対してますます豊かになる。ブール相互接続ネットワーク210もまた上記のように、多様な計算装置200間および中の再構成およびデータ相互接続能力を提供し、小さい(つまり、わずか数ビット幅である)ことが望ましい。一方、データ相互接続ネットワーク240は、多様な計算装置200間および中の再構成およびデータ入出力に対する相互接続能力を提供し、比較的大きい(つまり、多数ビット幅である)ことが望ましい。しかし、再構成およびデータ能力に概念的に分けられるけれども、マトリックス相互接続ネットワーク110の任意の物理的部分は、任意の時間において、ブール相互接続ネットワーク210、データ相互接続ネットワーク240、最も低いレベルの相互接続220(多様な計算要素250間および中の)、あるいは他の入力、出力あるいは接続機能のいずれとしても動作することができる。
【0034】
図3に関して説明を続けると、計算装置200内には、計算要素250Aから250Z(個別におよび集合的に計算要素250と称される)として示される複数の計算要素250、および付加的相互接続220が含まれる。相互接続220は、多様な計算要素250間および中の、再構成可能相互接続能力および入力/出力経路を提供する。上記のように、各多様な計算要素250は、所定のタスクあるいは一定範囲のタスクを実行するために設計された専用、特定用途向けハードウェアから成り、その結果、複数の異なる固定計算要素250となっている。相互接続220を使用して、固定計算要素250は共に再構成可能に接続され、適応および変化した計算装置200となることができ、この計算装置200はまた、相互接続220、ブール・ネットワーク210、およびマトリックス相互接続ネットワーク110を使用して、図2のDFGの4重乗算および加算のような、アルゴリズムあるいは他の機能を任意の時間に実行するために、さらに再構成および相互接続することができる。」
E 「【0043】
図5Aから図5Eは、本発明による、計算装置を形成している、例示的固定および特定計算要素を詳細に示すブロック図である。これらの図面より明らかなように、同じ固定計算要素の多くが、異なるアルゴリズムを実行するために、変化する構成と共に使用されている。
【0044】
図5Aは、4点非対称有限インパルス応答(FIR)フィルタ計算装置300を示すブロック図である。図示されるように、この例示的計算装置300は、係数メモリ305、データ・メモリ310、レジスタ315、320および325、乗算器330、加算器335、および累算器レジスタ340、345、350および355を含む複数の固定計算要素の特定の第1の構成を含み、マルチプレクサ(MUX)360および365は相互接続ネットワーク(210、220および240)の一部を形成している。
【0045】
図5Bは、2点対称有限インパルス応答(FIR)フィルタ計算装置370を示すブロック図である。図示されるように、この例示的計算装置370は、係数メモリ305、データ・メモリ310、レジスタ315、320および325、乗算器330、加算器335、第2の加算器375、および累算器レジスタ340および345を含む複数の固定計算要素の第2の構成を含み、マルチプレクサ(MUX)360および365は相互接続ネットワーク(210、220および240)の一部を形成している。
【0046】
図5Cは、高速フーリエ変換(FFT)計算装置400のための副装置を示すブロック図である。図示されるように、この例示的計算装置400は、係数メモリ305、データ・メモリ310、レジスタ315、320、325および385、乗算器330、加算器335、および加算/減算器380を含む複数の固定計算要素の第3の構成を含み、マルチプレクサ(MUX)360、365、390、395および405は相互接続ネットワーク(210、220および240)の一部を形成している。
【0047】
図5Dは、複合有限インパルス応答(FIR)フィルタ計算装置440を示すブロック図である。図示されるように、この例示的計算装置440は、メモリ410、レジスタ315および320、乗算器330、加算/減算器380、および、実数および虚数累算器レジスタ415および420を含む複数の固定計算要素の第4の構成を含み、マルチプレクサ(MUX)360および365は相互接続ネットワーク(210、220および240)の一部を形成している。
【0048】
図5Eは、対応するデータ・フロー・グラフ460を有する、4乗有限インパルス応答(IIR)フィルタ計算装置450を示すブロック図である。図示されるように、この例示的計算装置450は、係数メモリ305、入力メモリ490、レジスタ470、475、480および485、乗算器330、および加算器335を含む複数の固定計算要素の第5の構成を含み、マルチプレクサ(MUX)360、365、390および395は相互接続ネットワーク(210、220および240)の一部を形成している。」
2 引用発明
ア 上記記載事項Aの,「装置100は、ここで適応計算エンジン(“ACE”)100と呼ばれ、集積回路としてあるいは他の付加的構成要素を有する集積回路の一部として実施されることが望ましい。」との記載,及び「ACE100は、図示されるマトリックス150Aから150Nのような1つ以上の再構成可能マトリックス(あるいはノード)150、およびマトリックス相互接続ネットワーク110を含む。」との記載から,引用例1には,“再構成可能マトリックス150からなる集積回路であるACE100”について記載されているといえる。
同じく上記記載事項Aの,「マトリックス150Aおよび150Bのような1つ以上のマトリックス150は制御装置120としての機能のために構成され、マトリックス150Cおよび150Dのような他のマトリックスはメモリ140としての機能のために構成される。」との記載,並びに「ACE100は、再構成可能マトリックス150、制御装置120、およびメモリ140あるいは他の入力/出力(“I/O”)機能の間そしてそれらの中の信号および他の伝送のために、…(中略)…データ、制御、および構成情報は、これらのマトリックス150要素の間そしてそれらの中で、マトリックス相互接続ネットワーク110を使用して伝送される。」との記載及び「マトリックス相互接続ネットワーク110は、…(中略)…制御装置120およびメモリ140として構成されたマトリックス150を含む、再構成可能マトリックス150間および中の任意の接続を提供するために、リアルタイムで構成および再構成することができる。」との記載から,引用例1には,“マトリックスの一部は制御装置として機能し,他のマトリックスはメモリとして機能し,これらのマトリックスを任意に接続するマトリックス相互接続ネットワーク110は,リアルタイムで構成および再構成することができ”ることが記載されているといえる。
イ 上記記載事項Bの「多様なマトリックスあるいはノード150は、概して再構成可能で異質であり、望ましい構成に依存している。再構成可能マトリックス150Aは、一般に、再構成可能マトリックス150Bから150Nとは異なり、再構成可能マトリックス150Bは、一般に、再構成可能マトリックス150Aおよび150Cから150Nとは異なり、再構成可能マトリックス150Cは、一般に、再構成可能マトリックス150A、150Bおよび150Dから150Nとは異なり、以下同様である。」との記載から,引用例1には,“多様なマトリックスは,再構成可能で異質であり,再構成可能マトリックス150Aは,再構成可能マトリックス150Bから150Nとは異なり,再構成可能マトリックス150Bは,再構成可能マトリックス150Aおよび150Cから150Nとは異なり,再構成可能マトリックス150Cは,再構成可能マトリックス150A,150Bおよび150Dから150Nとは異なり,以下同様であ”ることが記載されているといえる。
また同じく上記記載事項Bの「多様な再構成可能マトリックス150はそれぞれ、一般に、適応および再構成可能計算の(computational)(あるいは計算(computation))装置(200)の異なるあるいは変化する混合を含み、計算装置200は、代わりに、一般に、図3および図4に関して以下により詳細に説明される、固定特定用途向け計算要素(250)の異なるあるいは変化する混合を含む。」との記載から,引用例1には,“多様な再構成可能マトリックス150はそれぞれ,適応および再構成可能計算装置200の異なるあるいは変化する混合を含”むこと,及び,“計算装置200は,固定特定用途向け計算要素250の異なるあるいは変化する混合を含”むことが記載されているといえる。
ウ 上記記載事項Cの「従来技術の再構成可能性は同質なFPGAに排他的に依存しており、この同質FPGAにおいては、論理ゲートの同一のブロックが豊かなプログラマブル相互接続内において配列として繰り返され、効率が悪くしばしば経路指定および組合せ問題が起こるにもかかわらず、特定の機能を実現するために、同一のゲート間および中に接続を提供するよう相互接続が続いて構成される。まったく対照的に、本発明によると、計算装置200内において、異なる計算要素(250)は、専用乗算器、複合乗算器および加算器のような対応する異なる固定(あるいは専用)特定用途向けハードウェアとして、直接実現される。」との記載から,引用例1には,“従来,同質FPGAにおいて,論理ゲートの同一のブロックが豊かなプログラマブル相互接続内において配列として繰り返され,効率が悪くしばしば経路指定および組合せ問題が起こり,特定の機能を実現するために,同一のゲート間および中に接続を提供するよう相互接続が続いて構成されていたのと対照的に,計算装置200内において,異なる計算要素250は,専用乗算器,複合乗算器および加算器のような対応する異なる固定(あるいは専用)特定用途向けハードウェアとして,直接実現され”ることが記載されているといえる。
また,同じく上記記載事項Cの「相互接続(210および220)を使用して、これらの異なる異質の計算要素(250)は、それから、しばしば移動通信において使用される離散コサイン変換の実行のような、選択されたアルゴリズムを実行するためにリアルタイムで適応的に構成することができる。」との記載から,引用例1には,“異なる異質の計算要素250は,移動通信において使用される離散コサイン変換の実行のような,選択されたアルゴリズムを実行するためにリアルタイムで適応的に構成することができ”ることが記載されているといえる。
エ 上記記載事項Dの「どんなマトリックス150も、一般に、マトリックス制御装置230、複数の計算(あるいは計算の)装置200、および、マトリックス相互接続ネットワーク110の論理あるいは概念サブセットあるいは部分として、データ相互接続ネットワーク240およびブール相互接続ネットワーク210を含む。」との記載から,引用例1には,“マトリックス150は,マトリックス制御装置230,複数の計算装置200,および,データ相互接続ネットワーク240およびブール相互接続ネットワーク210を含”むことが記載されているといえる。
また,同じく上記記載事項Dの「一方、データ相互接続ネットワーク240は、多様な計算装置200間および中の再構成およびデータ入出力に対する相互接続能力を提供し、比較的大きい(つまり、多数ビット幅である)ことが望ましい。」との記載から,引用例1には,“データ相互接続ネットワーク240は,多様な計算装置200間および中の再構成およびデータ入出力に対する相互接続能力を提供し,多数ビット幅”であることが記載されているといえる。
同じく上記記載事項Dの「計算装置200内には、計算要素250Aから250Z(個別におよび集合的に計算要素250と称される)として示される複数の計算要素250、および付加的相互接続220が含まれる。」との記載,「各多様な計算要素250は、所定のタスクあるいは一定範囲のタスクを実行するために設計された専用、特定用途向けハードウェアから成り、その結果、複数の異なる固定計算要素250となっている。」,及び「相互接続220を使用して、固定計算要素250は共に再構成可能に接続され、適応および変化した計算装置200となることができ、この計算装置200はまた、相互接続220、ブール・ネットワーク210、およびマトリックス相互接続ネットワーク110を使用して、図2のDFGの4重乗算および加算のような、アルゴリズムあるいは他の機能を任意の時間に実行するために、さらに再構成および相互接続することができる。」との記載から,引用例1には,“計算装置200内には,計算要素250Aから250Zとして示される複数の計算要素250,および付加的相互接続220が含まれ,各多様な計算要素250は,所定のタスクあるいは一定範囲のタスクを実行するために設計された専用,特定用途向けハードウェアから成り,その結果,複数の異なる固定計算要素250となっており,相互接続220を使用して,固定計算要素250は共に再構成可能に接続され,適応および変化した計算装置200となることができ”ることが記載されているといえる。
オ 上記記載事項Eの「図5Aから図5Eは、本発明による、計算装置を形成している、例示的固定および特定計算要素を詳細に示すブロック図である。」の記載中,「計算装置」は,引用例1において「計算装置200」として説明されてきたものを指すことは明らかであり,上記記載事項Eから,引用例1には,“前記計算装置200は,同じ固定計算要素の多くが、異なるアルゴリズムを実行するために,変化する構成と共に使用され,4点非対称有限インパルス応答(FIR)フィルタ計算装置,2点対称有限インパルス応答(FIR)フィルタ計算装置,高速フーリエ変換(FFT)計算装置,複合有限インパルス応答(FIR)フィルタ計算装置,4乗有限インパルス応答(IIR)フィルタ計算装置として実現され”ることが記載されているといえる。
カ 以上上記ア乃至オより,引用例1には,次の発明(以下「引用発明」という。)が記載されているといえる。
「再構成可能マトリックス150からなる集積回路であるACE100であって,
前記マトリックスの一部は制御装置として機能し,他のマトリックスはメモリとして機能し,これらのマトリックスを任意に接続するマトリックス相互接続ネットワーク110は,リアルタイムで構成および再構成することができ,
多様なマトリックスは,再構成可能で異質であり,再構成可能マトリックス150Aは,再構成可能マトリックス150Bから150Nとは異なり,再構成可能マトリックス150Bは,再構成可能マトリックス150Aおよび150Cから150Nとは異なり,再構成可能マトリックス150Cは,再構成可能マトリックス150A,150Bおよび150Dから150Nとは異なり,以下同様であり,
多様な再構成可能マトリックス150はそれぞれ,適応および再構成可能計算装置200の異なるあるいは変化する混合を含み,
計算装置200は,固定特定用途向け計算要素250の異なるあるいは変化する混合を含み,
異なる異質の計算要素250は,移動通信において使用される離散コサイン変換の実行のような,選択されたアルゴリズムを実行するためにリアルタイムで適応的に構成することができ,
マトリックス150は,マトリックス制御装置230,複数の計算装置200,および,データ相互接続ネットワーク240およびブール相互接続ネットワーク210を含み,
データ相互接続ネットワーク240は,多様な計算装置200間および中の再構成およびデータ入出力に対する相互接続能力を提供し,多数ビット幅であり,
計算装置200内には,計算要素250Aから250Zとして示される複数の計算要素250,および付加的相互接続220が含まれ,各多様な計算要素250は,所定のタスクあるいは一定範囲のタスクを実行するために設計された専用,特定用途向けハードウェアから成り,その結果,複数の異なる固定計算要素250となっており,相互接続220を使用して,固定計算要素250は共に再構成可能に接続され,適応および変化した計算装置200となることができ,
前記計算装置200は,同じ固定計算要素の多くが、異なるアルゴリズムを実行するために,変化する構成と共に使用され,4点非対称有限インパルス応答(FIR)フィルタ計算装置,2点対称有限インパルス応答(FIR)フィルタ計算装置,高速フーリエ変換(FFT)計算装置,複合有限インパルス応答(FIR)フィルタ計算装置,4乗有限インパルス応答(IIR)フィルタ計算装置として実現され,
従来,同質FPGAにおいて,論理ゲートの同一のブロックが豊かなプログラマブル相互接続内において配列として繰り返され,効率が悪くしばしば経路指定および組合せ問題が起こり,特定の機能を実現するために,同一のゲート間および中に接続を提供するよう相互接続が続いて構成されていたのと対照的に,計算装置200内において,異なる計算要素250は,専用乗算器,複合乗算器および加算器のような対応する異なる固定(あるいは専用)特定用途向けハードウェアとして,直接実現される,
再構成可能マトリックス150からなる集積回路であるACE100。」
3 引用例2に記載された事項
原査定の拒絶の理由で引用された,本願の第一国出願前に既に公知である,特表2009-530924号公報(平成21年8月27日公表。以下,これを「引用例2」という。)には,関連する図面と共に,次の事項が記載されている。
F 「【0003】
粗粒再構成可能(Coarse-grained reconfigurable)アーキテクチャ(CGRA)は、上記挑戦に応じる潜在的な候補者として出現している。近年、多数のデザインが提案されている。これらのアーキテクチャは、数十から数百のファンクションユニット(FU)を含むことがしばしばであり、該ファンクションユニットは、通常のFPGAで見られるビットレベルのオペレーションの代わりにワードレベルのオペレーションを実行できる。この粗粒により、FPGAと比べて、遅延、エリア、電力、及び構成が、大きく減少する。一方で、従来の“粗粒の”プログラム可能プロセッサと比較すると、それらの大規模な計算機資源によりそれらは高度な並行処理及び効率を達成できる。しかしながら、主としてそのような複雑なアークテクチャのプログラミングの困難性のために、現存のCGRAは未だ広範には採用されていない。」
G 「【0049】
粗粒再構成可能アーキテクチャ(CGRA)、ADRES(動的再構成可能埋込システム)は周知であり、ベルギー国ルヴェン市のアンテルユニヴェシテール・ミクロ-エレクトロニカ・サントリュム・ヴェー・ゼッド・ドゥブルヴェにより製造されている。ADRESは、現存のCGRAの問題を対処するものである。ADRESアーキテクチャを参照しつつ本発明を説明する。しかしながら、これは限定を意図するものではない。本発明は他の適切な粗粒アレイアーキテクチャにも利用され得る。」
4 周知例1
本願の第一国出願前に既に公知である,特開2011-216092号公報(平成23年10月27日公開。以下,これを「周知例1」という。)には,関連する図面と共に,次の事項が記載されている。
H 「【0003】
再構成可能なハードウェアは多数の処理要素(processing element)あるいは機能ユニット(functional unit)を含んでいる。この機能ユニットの大きさ、すなわち機能ユニットにいくつのALUを有するか、いくつのレジスタを有するかのような複雑度を粒度(granularity)という。粒度が大きいプロセッサーは組立の再構成可能アーキテクチャ(Coarse-Grained Reconfigurable Architecture:CGRA)、粒度が小さいプロセッサーは細粒再構成可能アーキテクチャ(Fine-Grained Reconfigurable Architecture)を持つという。各機能ユニットの間の構成では特定のタスクを実行すると構成情報(configuration information)によって動的に設定することができる。構成メモリ(configuration memory)で読み込んだ構成情報にもとついて、各機能ユニットの間のルーティング経路が、例えば、マルチプレクサによって動的に設定されることができ、この設定された構造をもとに実行ファイルが実行されることができる。実行ファイルの各コマンドはそれぞれの処理要素が実行されるコマンドコード及びオペランド情報をぞくぞく有する形態でコマンドメモリに保存されることができる。」
5 周知例2
本願の第一国出願前に既に公知である,特表2010-539582号公報(平成22年12月16日公表。以下,これを「周知例2」という。)には,関連する図面と共に,次の事項が記載されている。
I 「【0028】
再構成アレイ(RA)プロセッサは、細粒度(fine-grained)RA、すなわちFGRAプロセッサと、粗粒度(coarse-grained)RA、すなわちCGRAプロセッサとに大別される。FGRAは、ブーリアン(Boolean)演算やビット単位の演算を行う真理表(truth table)論理回路として具現するプロセッシング要素(PE:processing element)を有する。一方、CGRAは、プロセッシング要素(PE)が、基本的にALU(arithmetic and logic unit)の形態に具現され、ワード単位の算術/論理演算を行うプロセッシング要素を有する。」
第4 対比
本願発明と引用発明とを対比する。
(1)引用発明の「再構成可能マトリックス150からなる集積回路であるACE100」は,本願発明の「再構成可能CGAプロセッサ」と,“再構成可能プロセッサ”である点で一致する。
(2)引用発明の「マトリックス150」は,「再構成可能」な「集積回路」に含まれ,「前記マトリックスの一部は制御装置として機能し,他のマトリックスはメモリとして機能」し,さらに,「多様なマトリックスは,再構成可能で異質であり,再構成可能マトリックス150Aは,再構成可能マトリックス150Bから150Nとは異なり,再構成可能マトリックス150Bは,再構成可能マトリックス150Aおよび150Cから150Nとは異なり,再構成可能マトリックス150Cは,再構成可能マトリックス150A,150Bおよび150Dから150Nとは異なり,以下同様であ」ることから,本願発明の「再構成可能CGAプロセッサ」に含まれる「ミニコア」に相当するといえる。
(3)引用発明の「多様な再構成可能マトリックス150」には,「適応および再構成可能計算装置200の異なるあるいは変化する混合」が含まれることから,当該「計算装置200」は,本願発明の「前記少なくとも1つのミニコアのそれぞれ」に含まれる,「互いに異なる計算機能力を有する複数の機能ユニット」における,「機能ユニット」に相当するといえる。
また,引用発明の「計算装置200」は,「固定特定用途向け計算要素250の異なるあるいは変化する混合を含」むものであることから,“互いに異なる計算機能力を有する”ものといえる。
(4)引用発明の「異なる異質の計算要素250」は,「移動通信において使用される離散コサイン変換の実行のような,選択されたアルゴリズムを実行するためにリアルタイムで適応的に構成することができ」るものであり,「計算装置200内に」,「計算要素250Aから250Zとして示される複数の計算要素250,および付加的相互接続220が含まれ,各多様な計算要素250は,所定のタスクあるいは一定範囲のタスクを実行するために設計された専用,特定用途向けハードウェアから成」ることから,当該引用発明の「計算要素250」は,本願発明の「複数の機能ユニットのそれぞれ」に含まれる,複数の「演算素子」に相当するといえる。
(5)以上,上記(1)乃至(4)の検討を踏まえると,引用発明と本願発明とは,下記の点で相違するものの,“再構成可能プロセッサであって、少なくとも1つのミニコアを含み、前記少なくとも1つのミニコアのそれぞれは、互いに異なる計算機能力を有する複数の機能ユニットを含み、前記複数の機能ユニットのそれぞれは、複数の演算素子を含”む点で一致するといえる。
(6)本願発明の「機能ユニット」に相当する引用発明の「計算装置200」は,「4点非対称有限インパルス応答(FIR)フィルタ計算装置,2点対称有限インパルス応答(FIR)フィルタ計算装置,高速フーリエ変換(FFT)計算装置,複合有限インパルス応答(FIR)フィルタ計算装置,4乗有限インパルス応答(IIR)フィルタ計算装置」といったそれぞれ異なる計算装置として機能し,これらは,「計算要素250Aから250Zとして示される複数の計算要素250,および付加的相互接続220が含まれ,各多様な計算要素250は,所定のタスクあるいは一定範囲のタスクを実行するために設計された専用,特定用途向けハードウェアから成り,その結果,複数の異なる固定計算要素250となって」いることから,同じく本願発明の「演算素子」に相当する引用発明の「計算要素250」の種類によって計算機能力が異なることになるから,引用発明と本願発明とは,“前記複数の機能ユニットのそれぞれの前記計算機能力は、前記複数の機能ユニットのそれぞれに含まれる前記複数の演算素子のそれぞれの種類に基づいて定められる”点で一致するといえる。
(7)以上,上記(1)乃至(6)の検討から,引用発明と本願発明とは,次の一致点及び相違点を有する。
〈一致点〉
再構成可能プロセッサであって,
少なくとも1つのミニコアを含み,
前記少なくとも1つのミニコアのそれぞれは,互いに異なる計算機能力を有する複数の機能ユニットを含み,
前記複数の機能ユニットのそれぞれは,複数の演算素子を含み,
前記複数の機能ユニットのそれぞれの前記計算機能力は,前記複数の機能ユニットのそれぞれに含まれる前記複数の演算素子のそれぞれの種類に基づいて定められる,
再構成可能プロセッサ。
〈相違点1〉
本願発明が,「再構成可能CGAプロセッサ」であるのに対し,引用発明は,「再構成可能マトリックス150からなる集積回路」であるものの,これが「再構成可能CGAプロセッサ」であることが特定されていない点。
〈相違点2〉
本願発明が,「前記複数の演算素子のうちの少なくとも1つの演算素子は前記複数の機能ユニットに共通して含まれ、前記複数の機能ユニットのそれぞれに含まれた複数の演算素子は共通せず」との特定事項を含むのに対し,引用発明は,複数の演算素子のうちの少なくとも1つの演算素子が複数の機能ユニットに共通して含まれ,前記複数の機能ユニットのそれぞれに含まれた複数の演算素子が共通しないことが特定されていない点。
〈相違点3〉
本願発明が,「前記少なくとも1つのミニコアのそれぞれは、前記再構成可能CGAプロセッサを設計し又は拡張する基本単位と定められ」るものであるのに対し,引用発明は,少なくとも1つのミニコアのそれぞれが,前記再構成可能CGAプロセッサを設計し又は拡張する基本単位と定められるものであることが特定されていない点。
第5 判断
上記相違点につき検討する。
まず相違点1について検討する。
CGA(Coarse-Grained Array)が,具体的にどのようなものであるかについては,本願明細書には少なくともその定義の記載はなく,同段落5に,従来技術として,「再構成可能アーキテクチャーの種類は、さまざまがあるが、そのうち、コースグレインアレイ(Coarse-Grained Array:CGA)が代表的である。CGAは、複数個の同じ計算機能力を有する機能ユニットからなる。そして、機能ユニット間の連結状態が調節されることによって、所定の作業に最適化することができる。」と記載されているのみである。
この記載によれば,従来,「CGA」とは,再構成可能アーキテクチャーであって,複数個の同じ計算機能力を有する機能ユニットからなり,当該機能ユニット間の連結状態が調節されることによって,所定の作業に最適化することができるものであったことを理解することができる。
一方,引用例2の上記記載事項Fや周知例1の上記記載事項H及び周知例2の上記記載事項Iによれば,「CGRA」とは,粗粒(粒度の粗い)再構成可能アーキテクチャを意味するものであることが読み取れる。そして,当該CGRAは,数十から数百のファンクションユニット(FU)を含み,該ファンクションユニットは,通常のFPGAで見られるビットレベルのオペレーションの代わりにワードレベルのオペレーションを実行できるものであり(上記記載事項F),また,再構成可能なハードウェアは,FGRAプロセッサと呼ばれるものと,CGRAプロセッサと呼ばれるものに大別され(上記記載事項H,I),その違いは,機能ユニットの複雑度である粒度によるものであることも知られていた(上記記載事項H)といえる。
そして,本願発明の「再構成可能CGAプロセッサ」は,引用例2や周知例1及び2に記載されるところの,「CGRA」(Coarse-Grained Reconfigurable Array)アーキテクチャーを用いるプロセッサを意味することは明白であり,また,引用例2の記載事項Gによれば,「CGRA」,すなわち「粗粒再構成可能アーキテクチャ」は周知であったということができる。
翻って引用発明の「データ相互接続ネットワーク240」は,「多数ビット幅」であり,また,引用発明は,「従来,同質FPGAにおいて,論理ゲートの同一のブロックが豊かなプログラマブル相互接続内において配列として繰り返され,効率が悪くしばしば経路指定および組合せ問題が起こり,特定の機能を実現するために,同一のゲート間および中に接続を提供するよう相互接続が続いて構成されていたのと対照的に,計算装置200内において,異なる計算要素250は,専用乗算器,複合乗算器および加算器のような対応する異なる固定(あるいは専用)特定用途向けハードウェアとして,直接実現される」ものであること,及び,上記の検討のとおり,本願第一国出願前に「CGA」または「CGRA」なるアーキテクチャーが周知であったことを踏まえると,引用発明の「再構成可能マトリックス150からなる集積回路」は,再構成可能なハードウェアであって,1ビット幅のいわゆるFPGAや,機能ユニットの粒度が細かいFGRAと称されるアーキテクチャーを用いるものではなく,上記周知な「CGA」または「CGRA」と称されるアーキテクチャーを用いるものと理解されることから,本相違は実質的なものではなく,単に呼称の違い程度のことに過ぎず格別なものとはいえない。
次に相違点2について検討する。
まず本願発明の「前記複数の演算素子のうちの少なくとも1つの演算素子は前記複数の機能ユニットに共通して含まれ、前記複数の機能ユニットのそれぞれに含まれた複数の演算素子は共通せず」との特定事項が,具体的にどのような状態を意味するものかを検討する。
本願明細書段落31乃至35には,概ね次のとおりの記載がある。
ミニコア300は,多数の機能ユニット301a~301d,及びそれぞれの機能ユニット301a~301dを連結する内部ネットワーク302を含み(段落31),演算A,B,C,D,Eの処理能力を支援,言い換えれば,ミニコア300の全計算機能力は,演算A,B,C,D,Eに対応し(段落32),ミニコア300の内部の各機能ユニット301a~301dは,全計算機能力の一部を有し,例えば,FU#0(301a)及びFU#1(301b)には,演算素子A(320a)と演算素子B(321a)とが形成され,FU#2(301c)には,演算素子A(320c)と演算素子C(322)とが形成され,FU#3(301d)には,演算素子A(320d)と演算素子D(323),及び演算素子E(324)とが形成される(段落33)。また,ミニコア300は,互いに異なる計算機能力を有する少なくとも2つの機能ユニットを含み,例えば,計算機能力が一致しない機能ユニットの対が少なくとも1つ存在し,あらゆる機能ユニットに共通的ではない演算素子が少なくとも1つ存在すれば,ミニコア300の要求条件を満足することができ(段落34),FU#0(301a)とFU#1(301b)のように,ある一部の機能ユニットの計算機能力が同一であるとしても,FU#0(301a)とFU#2(301c)のように,計算機能力が同一ではない機能ユニットが一対でも存在すれば,ミニコア300の全計算機能力は分散され,演算素子A(320a)のように,ある一部の演算素子が,あらゆる機能ユニット301a~301dに共通的であるとしても,演算素子B(321b),C(322),D(323),及びE(324)のように,そうではない演算素子が1つでも存在すれば,ミニコア300の全計算機能力は分散される(段落35)。
また,審判請求書において審判請求人は,本願発明は「複数の機能ユニットがある演算素子を共通して含み、相互異なる演算素子を含」むことにより,「全体のコンピューティングパワーを分散させる」との効果を奏するものであると主張している。
以上を総合して検討するに,上記の記載のうち強調のために下線を付した部分を参照すると,まず「前記複数の演算素子のうちの少なくとも1つの演算素子は前記複数の機能ユニットに共通して含まれ」るとの特定事項は,全ての機能ユニットに共通してある演算素子が含まれること,換言するならば,ある演算素子が必ず全ての機能ユニットに(共通して)含まれることを意味するものでは無く,複数ある機能ユニットにおいて同じ種類の演算素子が存在することを意味しているものと解される。そして,「前記複数の機能ユニットのそれぞれに含まれた複数の演算素子は共通せず」との特定事項は,複数ある機能ユニット全てが同じ複数の演算素子をもつものではなく,異なる演算素子が含まれている機能ユニットが存在することを意味するものと解される。
一方,引用発明は,本願発明の「機能ユニット」に相当する引用発明の「計算装置200」が,「同じ固定計算要素の多くが、異なるアルゴリズムを実行するために,変化する構成と共に使用され」るものであることから,異なる「計算装置200」において,共通する「計算要素」が存在するといえるから,本願発明の「前記複数の演算素子のうちの少なくとも1つの演算素子は前記複数の機能ユニットに共通して含まれ」るとの特定事項を満たすものといえる。
また,引用発明は,「従来,同質FPGAにおいて,論理ゲートの同一のブロックが豊かなプログラマブル相互接続内において配列として繰り返され,効率が悪くしばしば経路指定および組合せ問題が起こり,特定の機能を実現するために,同一のゲート間および中に接続を提供するよう相互接続が続いて構成されていたのと対照的に,計算装置200内において,異なる計算要素250は,専用乗算器,複合乗算器および加算器のような対応する異なる固定(あるいは専用)特定用途向けハードウェアとして,直接実現される」ものである。このことは,本願発明の「演算素子」に相当する引用発明の「計算要素250」が,それぞれ異なるものとして存在することを意味するから,結局,引用発明においても,本願発明の「前記複数の機能ユニットのそれぞれに含まれた複数の演算素子は共通せず」との特定事項を満たすものといえる。そして,引用発明においても,本願発明の「機能ユニット」に相当する引用発明の「計算装置200」が,「4点非対称有限インパルス応答(FIR)フィルタ計算装置,2点対称有限インパルス応答(FIR)フィルタ計算装置,高速フーリエ変換(FFT)計算装置,複合有限インパルス応答(FIR)フィルタ計算装置,4乗有限インパルス応答(IIR)フィルタ計算装置として実現」されれば,当然にコンピューティングパワー,すなわち計算機能力が分散されることになるから,その効果においても同様であって,本相違は実質的な相違とはいえず,格別なものではない。
最後に相違点3について検討する。
本願明細書の段落15,37及び43には,「再構成可能プロセッサ」の「設計」又は「拡張」について,次のとおりの記載がある。
「【0015】
それぞれのミニコア101a~101dは、再構成可能プロセッサ100の設計基本単位または拡張基本単位になりうる。例えば、図1では、4個のミニコア101a~101dが形成されるものを例示したが、これは、理解を助けるためのものであって、8個または16個のように拡張されることが可能である。」
「【0037】
処理部401は、多数のミニコアMC#0~#19、及びミニコアMC#0~#19と連結された外部ネットワーク(図示せず、図1の外部ネットワーク102と類似している)を含みうる。すなわち、それぞれのミニコアMC#0~#19は、本実施形態による再構成可能プロセッサ400の設計基本単位または拡張基本単位になりうる。それぞれのミニコアMC#0~#19は、図2及び図3のように構成することができる。」
「【0043】
前述したように、開示された実施形態によれば、全計算機能力を分割して機能ユニットに分配し、その機能ユニットの組み合わせで基本処理単位であるミニコアを設計するために、高周波数環境で不要な資源消耗を最小化すると同時に、性能を高めることが可能である。また、各ミニコアは全計算機能力を有するので、ミニコア単位で再構成可能プロセッサをデザインすれば、優れた拡張性を確保することができる。」
これらの記載からは,単に「ミニコア」が「再構成可能プロセッサ」の「設計基本単位または拡張基本単位」になりうる以上の技術的意義を読み取ることはできない。
一方引用発明の,本願発明の「ミニコア」に相当する「マトリックス150」は,「再構成可能な」ものであり,「前記マトリックスの一部は制御装置として機能し,他のマトリックスはメモリとして機能し,これらのマトリックスを任意に接続するマトリックス相互接続ネットワーク110は,リアルタイムで構成および再構成することができ」るものであり,「多様なマトリックスは,再構成可能で異質であり,再構成可能マトリックス150Aは,再構成可能マトリックス150Bから150Nとは異なり,再構成可能マトリックス150Bは,再構成可能マトリックス150Aおよび150Cから150Nとは異なり,再構成可能マトリックス150Cは,再構成可能マトリックス150A,150Bおよび150Dから150Nとは異なり,以下同様であ」る。
以上のことから,引用発明では,「再構成可能で異質」である,「多様なマトリックス」が,それぞれ適宜その機能を「制御装置」や「メモリ」などとして構成されるとともに,「これらのマトリックスを任意に接続するマトリックス相互接続ネットワーク110」によって,「リアルタイムで構成および再構成」されるものであるから,引用発明の「再構成可能マトリックス150からなる集積回路」は,これらの「再構成可能で異質」である「多様なマトリックス」を適宜組み合わせることによってその機能が変更されるものであることを理解することができる。そして,本願発明において,「前記少なくとも1つのミニコアのそれぞれ」が,「前記再構成可能CGAプロセッサを設計し又は拡張する基本単位と定められ」ることには,上記明細書の記載を参酌したとしても,特段の技術的意義を有するものとも認められず,してみれば,引用発明の「マトリックス」は,「再構成可能マトリックス150からなる集積回路」を設計又は拡張する基本単位であるといい得るものであって,本相違も格別なものとはいえない。
以上検討したとおり,相違点1乃至3はいずれも格別なものではなく,またそのことによる効果も,当業者であれば普通に想起し得る程度のことに過ぎない。
したがって,本願発明は,引用発明並びに引用例2及び周知例1や周知例2に記載されたような周知技術に基づいて当業者が容易になし得たものであり,特許法29条2項の規定により,特許を受けることができないものである。
第6 むすび
以上のとおり,本願発明は,本願第一国出願前に頒布された引用例1に記載された発明並びに引用例2及び周知例1や周知例2に記載されたような周知技術に基づいて当業者が容易に発明をすることができたものであるから,特許法29条2項の規定により特許を受けることができない。
したがって,その余の請求項に係る発明について論及するまでもなく,本願は拒絶すべきものである。
よって,結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2018-000980