• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 G06F
審判 査定不服 特36条6項1、2号及び3号 請求の範囲の記載不備 取り消して特許、登録 G06F
管理番号 1318565
審判番号 不服2015-6737  
総通号数 202 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2016-10-28 
種別 拒絶査定不服の審決 
審判請求日 2015-04-09 
確定日 2016-09-20 
事件の表示 特願2012-528888「処理ユニットのローカルメモリ読み出し」拒絶査定不服審判事件〔平成23年 3月17日国際公開、WO2011/031823、平成25年 2月 7日国内公表、特表2013-504814、請求項の数(15)〕について、次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は、特許すべきものとする。 
理由
第1 手続の経緯

本件審判請求に係る出願(以下,「本願」という。)は,2010年9月9日(パリ条約による優先権主張外国庁受理2009年9月10日(以下,「優先日」という。),米国,2010年3月8日,米国)を国際出願日とする出願であって,その手続の経緯は以下のとおりである。

平成24年 3月12日 :国内書面の提出
平成24年 5月14日 :翻訳文の提出
平成25年 9月 9日 :出願審査請求書の提出
平成26年 4月15日付け :拒絶理由の通知
平成26年 7月18日 :意見書,手続補正書の提出
平成26年12月 3日付け :拒絶査定
平成27年 4月 9日 :審判請求書,手続補正書の提出
平成27年 5月11日 :前置報告
平成28年 4月11日付け :拒絶理由の通知(当審)
平成28年 7月 7日 :意見書,手続補正書の提出


第2 本願発明

本願の請求項に係る発明は,上記平成28年7月7日付け手続補正により補正された特許請求の範囲の請求項1乃至15に記載されたとおりのものであると認められるところ,その請求項1に係る発明(以下,「本願発明」という。)は,以下のとおりのものである。

「 【請求項1】
コンピュータ実装の方法であって,
第1の処理ユニットから,前記第1の処理ユニット及び第2の処理ユニットの間のバスインタフェースを介して,前記第2の処理ユニットのローカルメモリの領域に記憶されたデータの一部分に対する第1の要求を送ることと,
前記第1の処理ユニットが,前記第1の要求に応じて,前記一部分を含む前記領域に記憶された前記データの全てのコピーを受信することと,
前記第1の処理ユニットが,前記データの前記受信したコピーを前記第1の処理ユニットのバッファに記憶することと,
前記第1の処理ユニットが,前記第2の処理ユニットの前記ローカルメモリの前記領域に記憶された前記データのうち前記一部分とは異なる部分に対する第2の要求を送ることと,
前記第1の処理ユニットが,前記第2の要求に応じて,前記データの異なる部分のコピーを前記第1の処理ユニットの前記バッファからリトリーブすることと,を含み,
前記第1の処理ユニットは,中央処理ユニット(CPU)及びグラフィックス処理ユニット(GPU)のうち一方であって,前記第2の処理ユニットは,前記CPU及び前記GPUのうち他方である,コンピュータ実装の方法。」


第3 原査定の理由について

1 原査定の理由の概要

この出願の下記の請求項に係る発明は,その出願前に日本国内又は外国において,頒布された下記の刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明に基いて,その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから,特許法第29条第2項の規定により特許を受けることができない。

<引用例>
1.特開2008-108256号公報
2.特開2008-305082号公報

本願の請求項1-15に記載の発明は,引用例1,2及び周知技術から,当業者が容易に発明をすることができたものである。


2 原査定の理由の判断

(1) 引用例

(1-1)引用例1に記載される技術的事項および引用発明

ア 本願の優先日前に頒布又は電気通信回線を通じて公衆に利用可能となり,原審の拒絶査定の理由である平成26年4月15日付けの拒絶理由通知において引用された,特開2008-108256号公報(平成20年5月8日出願公開,以下,「引用例1」という。)には,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

A 「【0010】
図3は,本発明の別の実施の形態による特定のコンピューティングシステム300を示している。コンピューティングシステム300は,以下では,処理ユニットの個数,処理ユニットを相互接続するのに使用されるスイッチングシステムのタイプ等,具体的に説明されるが,以下で具体的に述べられる詳細の変形を使用する他の実施の形態も可能である。
【0011】
コンピューティングシステム300は,4つの処理ユニット310a,310b,310c,310dを含む。処理ユニットのそれぞれは,クロスバースイッチ320に結合されている。メモリ330が,クロスバースイッチ320内に組み込まれるか,又は,クロスバースイッチ320と直接結合される。また,スイッチ320内には,制御ロジック340及びタグバンク350が存在している。制御ロジック340及びタグバンク350の機能は後述する。図3に示すような複数の処理ユニット及びスイッチを使用するシステムアーキテクチャは,「対称型マルチプロセシング」システム,すなわちSMPシステムと呼ばれることが多い。この用語は,共通のメモリアドレス空間を共有する任意の個数の複数の同一の処理ユニットを使用するコンピューティングシステムに一般に適用される。SMPアーキテクチャは,一般に,UNIX(登録商標)コンピューティングシステム及びNT/2000コンピューティングシステムに使用される。図3は,4つの処理ユニット310の存在を具体的に示しているが,他の実施の形態では,これよりも多くの処理ユニット310を利用することもできるし,わずか2つの処理ユニット310のみを利用することもできる。」

B 「【0014】
処理ユニットのうちの1つ310aのより詳細な表現を図4のブロック図に提示する。図3の他の処理ユニット310のいずれか又はすべては,同じアーキテクチャを表すこともできるし,まったく異なる内部構造を使用することもできる。図4では,処理ユニット310aは,4つのプロセッサ312a,312b,312c,312dを含む。これら4つのプロセッサのそれぞれは,さらに,キャッシュメモリ314a,314b,314c,314dをそれぞれ含む。さらに,プロセッサ312のそれぞれは,メモリコントローラ316に結合されている。メモリコントローラ316は,さらに,処理ユニット310a内に配置された又は処理ユニット310aと密接に結合されたローカルメモリ318と,図3に示されたクロスバースイッチ320とのそれぞれに結合されている。他の実施の形態では,各処理ユニット310は,1つ又は複数のプロセッサ312を有することができる。
【0015】
一般に,図3の特定のシステム300の処理ユニット310のそれぞれは,同じ共有メモリアドレス空間にアクセスする。共有アドレス空間は,処理ユニット310のローカルメモリ318の一部又は全部の間に分散又はアロケートされている。一実施態様では,各処理ユニット310のローカルメモリ318は,処理ユニット310によって共有されるメモリアドレス空間の排他的部分に関連付けられたデータを含む。アドレス空間のその部分について,関連付けられた処理ユニット310は,そのデータの「ホーム」ロケーションとみなすことができ,そのホームロケーションから,他の処理ユニット310は,スイッチ320を通じてそのデータにアクセスすることができる。場合によっては,データの要求された部分の最新バージョンが,ホーム処理ユニット310ではなく,別の処理ユニット310に配置されている場合がある。しかしながら,このような実施の形態では,ホーム処理ユニット310及びスイッチ320またはこれらのうちのいずれか(ホーム処理ユニット310及び/又はスイッチ320)は,データの最新バージョンのロケーションを示すディレクトリ又は類似のデータ構造体に情報を保持する。別の実施の形態では,処理ユニット310のそれぞれは,別の処理ユニット310をホームとするデータ又は別の処理ユニット310から前にアクセスされたデータのキャッシュとして自身のローカルメモリ318を利用することもできる。したがって,処理ユニット310のうちの1つによってその共有アドレス空間内でアクセスされるどの特定のデータについても,そのデータは,そのデータを要求する処理ユニット310内に存在することもできるし,処理ユニット310の別のものに存在することもできるし,それら双方に存在することもできる。加えて,処理ユニット310のそれぞれは,自身が使用するために予約されたデータメモリにアクセスすることができる。これは,図4には明示的に示されていない。」

C 「【0016】
図5は,図3のシステム300を動作させるための方法500の高レベル図を示している。図4に示す処理ユニット310aについて,各プロセッサ312は,共有メモリ空間内の特定のデータにアクセスする(たとえば,読み出す)時に,まず,自身のキャッシュメモリ314を検索することができる(オペレーション502)。データがキャッシュ314で見つかると,そのデータがアクセスされる(オペレーション504)。データがキャッシュ314で見つからない場合,メモリコントローラ316は,プロセッサ312からデータ要求を受信する(オペレーション506)。これに応答して,メモリコントローラ316は,まず,処理ユニット310のローカルメモリ318を検索することができる(オペレーション508)。ローカルメモリ318における要求されたデータの検索が成功した場合,そのデータがアクセスされて,プロセッサ312に返される(オペレーション510)。成功しなかった場合,次に,要求をクロスバースイッチ320へ転送することができる(オペレーション512)。
【0017】
クロスバースイッチ320が,処理ユニット310aからメモリ要求を受信した後,スイッチ320は,要求されたデータを得るために自身のメモリ330を検索することができる(オペレーション514)。データがメモリ330に記憶されている場合,そのデータがアクセスされて,要求側の処理ユニット310へ返される(オペレーション516)。データが見つからない場合,スイッチ320は,要求されたデータのホームロケーションとして動作する特定の処理ユニット310等,残りの処理ユニット310のいずれがデータを保有しているかを決定することができ(オペレーション518),要求をその処理ユニットへ方向付けることができる(オペレーション520)。要求を受信した処理ユニット310は,要求されたデータにアクセスし,そのデータをスイッチ320に返す(オペレーション522)。スイッチ320は,次に,要求されたデータを要求側の処理ユニット310へ転送する(オペレーション524)。加えて,スイッチ320は,要求側の処理ユニット310へ返されるデータのコピーを自身のメモリ330内に記憶することもできる(オペレーション526)。処理ユニット310のいずれも,その後,メモリ330内に記憶されたデータのコピーにアクセスすることができる(オペレーション528)。」

イ 以上,A乃至Cの記載事項(特に下線部分を参照)から,引用例1には次の発明(以下,「引用発明」という。)が記載されているものと認める。

「コンピューティングシステムを動作させる方法であって,
第1の処理ユニットから,前記第1の処理ユニット及び第2の処理ユニットの間のクロスバースイッチを介して,前記第2の処理ユニットのローカルメモリのデータに対する要求を送ることと,
前記第1の処理ユニットは,前記要求に応じて,前記第2の処理ユニットのローカルメモリからのデータを前記クロスバースイッチのメモリを介して受信することと,
前記クロスバースイッチは,前記データを前記メモリにコピーして記憶しておくことと,
前記第1の処理ユニットが,前記ローカルメモリを含む共有メモリ空間内のデータを要求した時には,まず自身のキャッシュメモリ,自身のローカルメモリ,及び前記クロスバースイッチの前記メモリを検索し,データが見つからない場合に,前記クロスバースイッチが前記第2の処理ユニットに対して前記要求を転送すること,
とを含む方法。」


(1-2)引用例2に記載される技術的事項

本願の優先日前に頒布又は電気通信回線を通じて公衆に利用可能となり,原審の拒絶査定の理由である平成26年4月15日付けの拒絶理由通知において引用された,特開2008-305082号公報(平成20年12月18日出願公開,以下,「引用例2」という。)には,以下の技術的事項が記載されている。
(当審注:下線は,参考のために当審で付与したものである。)

D 「【0025】
図1は,本発明のメモリシステムの第1実施形態の回路構成を示す図である。
【0026】
図1に示すメモリシステム10には,マスタ11,12と,これらマスタ11,12が接続されたシステムバス13と,そのシステムバス13に接続されたキャッシュメモリコントローラ15と,そのキャッシュメモリコントローラ15に接続されたキャッシュメモリ16およびDRAMコントローラ17と,そのDRAMコントローラ17に接続されたDRAM18とが備えられている。マスタ11,12,キャッシュメモリコントローラ15,DRAMコントローラ17は,64ビットのバス幅を有する。また,DRAMコントローラ17は,4バースト単位(4×64ビット単位)でDRAM18をアクセスする。
【0027】
マスタ11,12は,システムバス13,キャッシュメモリコントローラ15,DRAMコントローラ17を経由してDRAM18をアクセスする。
【0028】
キャッシュメモリコントローラ15は,システムバス13とDRAMコントローラ17との間に配備され,マスタ12(もしくはマスタ11)からのDRAM18への読出し命令を受け,キャッシュメモリ16にその読出し命令に応じたデータが格納されているときはそのデータをキャッシュメモリ16から読み出してマスタ12に送り,キャッシュメモリ16にその読出し命令に応じたデータが格納されていないときはその読出し命令をDRAMコントローラ17を介してDRAM18に伝える。さらに,DRAM18から読み出された,その読出し命令に応じたデータをマスタ12に送るとともにDRAM18から先読みしたデータをキャッシュメモリ16に格納する。
【0029】
ここで,キャッシュメモリコントローラ15は,キャッシュメモリ16に1キャッシュライン分のサイズ(64ビット分のサイズ)でアクセスするとともに,DRAMコントローラ17にも1キャッシュライン分のサイズでアクセスする。このため,無駄なアクセスの発生が防止されている。
【0030】
また,キャッシュメモリ16は,DRAMコントローラ17ヘのアクセスの整列化と先読みデータの退避のためにのみ設けられており,従ってキャッシュメモリ16のサイズは小さくて済む。
【0031】
図2は,図1に示すメモリシステムにおける処理の流れを示す図である。
【0032】
このメモリシステム10では,この図2に示すように,先ず,マスタ12からアドレス0hのデータを読み出すための読出し命令(READ)が出力される。この読出し命令は,キャッシュメモリコントローラ15に入力される。キャッシュメモリコントローラ15は,アドレス0hのデータがキャッシュメモリ16に存在しているか否かを確認する。
【0033】
最初の時点では,キャッシュメモリ16には,このアドレス0hのデータは存在しない(キャッシュミスと称する)ため,キャッシュメモリコントローラ15は,DRAMコントローラ17にアクセスする。DRAMコントローラ17は,4バースト単位でDRAM18にアクセスする。これにより,DRAM18からアドレス0h,8h,10h,18hのデータが順次に出力される。DRAMコントローラ17は,DRAM18から出力されたアドレス0h,8h,10h,18hのデータ(図2に示す0hのデータ,8hのデータ,10hのデータ,18hのデータ)を,キャッシュメモリコントローラ15に向けて出力する。
【0034】
キャッシュメモリコントローラ15は,これらのデータをキャッシュメモリ16に格納するとともに,これらのデータのうちのアドレス0hのデータを,システムバス13を経由してマスタ12に出力する。
【0035】
次いで,マスタ12からアドレス8hのデータを読み出すための読出し命令が,キャッシュメモリコントローラ15に向けて出力される。キャッシュメモリコントローラ15は,アドレス8hのデータがキャッシュメモリ16に存在しているか否かを確認する。キャッシュメモリ16には,先ほどの処理の過程で既にアドレス8hのデータが存在する(キャッシュヒットと称する)ため,キャッシュメモリコントローラ15はDRAMコントローラ17へのアクセスを行なわずに,キャッシュメモリ16へのアクセスを行なう。これにより,キャッシュメモリ16からアドレス8hのデータがキャッシュメモリコントローラ15に出力される。キャッシュメモリコントローラ15は,このデータ(8hのデータ)を,システムバス13を経由してマスタ12に出力する。
【0036】
さらに,マスタ12からアドレス10hのデータを読み出すための読出し命令が,キャッシュメモリコントローラ15に向けて出力される。キャッシュメモリコントローラ15は,アドレス10hのデータがキャッシュメモリ16に存在しているか否かを確認する。キャッシュメモリ16には,アドレス10hのデータも存在するため,キャッシュメモリコントローラ15はキャッシュメモリ16へのアクセスを行なう。これにより,キャッシュメモリ16からアドレス10hのデータがキャッシュメモリコントローラ15に出力される。キャッシュメモリコントローラ15は,このデータ(10hのデータ)を,システムバス13を経由してマスタ12に出力する。
【0037】
従来のメモリシステムでは,キャッシュメモリコントローラは,マスタとシステムバスとの間に配備される。このため,キャッシュメモリコントローラは,システムバスを介してDRAMをアクセスする必要がある。従って,アクセス効率が悪いという問題がある。
【0038】
これに対して,第1実施形態のメモリシステム10では,システムバス13とDRAMコントローラ17との間に,キャッシュメモリコントローラ15が配備されている。このキャッシュメモリコントローラ15は,DRAMコントローラ17に1キャッシュライン分のサイズ(64ビット×4のサイズ)でアクセスする。また,このサイズはDRAM18のバーストサイズと同じである。従って,アクセス効率は高く,処理の高速化が図られている。
【0039】
また,従来のメモリシステムでは,キャッシュメモリコントローラでアドレス領域毎にキャッシュ可能/禁止(キャッシュメモリへのデータの格納可能/禁止)を設定しているが,第1実施形態のメモリシステム10では,このような設定は必要なく,アドレスの全空間にわたりキャッシュ可能とすることができる。また,キャッシュメモリ16の目的は,前述したように,DRAMコントローラ15ヘのアクセスの整列化と先読みデータの退避にあるので,キャッシュヒット率はそれほど高くなくてもよく,従ってキャッシュメモリ16のサイズは小さくて済む。」


(2) 対比

ア 本願発明と引用発明とを対比する。

(ア)引用発明では,「第1の処理ユニットから,前記第1の処理ユニット及び第2の処理ユニットの間のクロスバースイッチを介して,前記第2の処理ユニットのローカルメモリのデータに対する要求を送る」ところ,「クロスバースイッチ」は「第1の処理ユニット及び第2の処理ユニットの間の」インタフェースとして機能することは明らかであるから,引用発明の「第1の処理ユニット」,「第2の処理ユニット」,「ローカルメモリ」はそれぞれ,本願発明の「第1の処理ユニット」,「第2の処理ユニット」,「ローカルメモリ」に相当すると言える。
そうすると,引用発明の「第1の処理ユニットから,前記第1の処理ユニット及び第2の処理ユニットの間のクロスバースイッチを介して,前記第2の処理ユニットのローカルメモリのデータに対する要求を送ること」と,本願発明の「第1の処理ユニットから,前記第1の処理ユニット及び第2の処理ユニットの間のバスインタフェースを介して,前記第2の処理ユニットのローカルメモリの領域に記憶されたデータの一部分に対する第1の要求を送ること」とは後記する点で相違するものの,両者は,“第1の処理ユニットから,前記第1の処理ユニット及び第2の処理ユニットの間のインタフェースを介して,前記第2の処理ユニットのローカルメモリに記憶されたデータに対する第1の要求を送ること”である点で共通すると言える。

(イ)引用発明では,「第1の処理ユニットは,前記要求に応じて,前記第2の処理ユニットのローカルメモリからのデータを前記クロスバースイッチのメモリを介して受信する」ところ,「第2の処理ユニットのローカルメモリからのデータ」は「ローカルメモリ」に記憶されたデータのコピーであることは明らかである。
そうすると,引用発明の「第1の処理ユニットは,前記要求に応じて,前記第2の処理ユニットのローカルメモリからのデータを前記クロスバースイッチのメモリを介して受信すること」と,本願発明の「第1の処理ユニットが,前記第1の要求に応じて,前記一部分を含む前記領域に記憶された前記データの全てのコピーを受信すること」とは後記する点で相違するものの,両者は,“第1の処理ユニットが,前記第1の要求に応じて,前記ローカルメモリに記憶された前記データのコピーを受信すること”である点で共通すると言える。

(ウ)引用発明では,「クロスバースイッチは,前記データを前記メモリにコピーして記憶しておく」ところ,「第1の処理ユニット」が要求に応じて受信する「第2の処理ユニットのローカルメモリからのデータ」をコピーし,「クロスバースイッチ」の「メモリ」に記憶することは明らかであり,本願発明における「前記データの前記受信したコピー」を記憶する「第1の処理ユニットのバッファ」もコピーデータ保存用メモリの一つの態様とみることができる。
そうすると,引用発明の「クロスバースイッチは,前記データを前記メモリにコピーして記憶しておくこと」と,本願発明の「第1の処理ユニットが,前記データの前記受信したコピーを前記第1の処理ユニットのバッファに記憶すること」とは後記する点で相違するものの,両者は,“第1の処理ユニットが,前記データの受信したコピーをコピーデータ保存用メモリに記憶すること”である点で共通すると言える。

(エ)引用発明では,「第1の処理ユニットが,前記ローカルメモリを含む共有メモリ空間内のデータを要求した時には,まず自身のキャッシュメモリ,自身のローカルメモリ,及び前記クロスバースイッチの前記メモリを検索し,データが見つからない場合に,前記クロスバースイッチが前記第2の処理ユニットに対して前記要求を転送する」ところ,引用発明の「キャッシュメモリ」は,「第1の処理ユニット」の内部にあって一時的にデータを記憶する手段であることは明らかであるから,本願発明の「バッファ」に相当すると言える。
そして,引用発明では,「第2の処理ユニットのローカルメモリのデータに対する要求」の後,「第1の処理ユニット」から新たなデータの要求が出された場合に,要求されたデータのコピーが「第1の処理ユニット」のバッファなどに記憶されていないかリトリーブするとみることができる。
そうすると,引用発明の「第1の処理ユニットが,前記ローカルメモリを含む共有メモリ空間内のデータを要求した時には,まず自身のキャッシュメモリ,自身のローカルメモリ,及び前記クロスバースイッチの前記メモリを検索し,データが見つからない場合に,前記クロスバースイッチが前記第2の処理ユニットに対して前記要求を転送すること」と,本願発明の「第1の処理ユニットが,前記第2の処理ユニットの前記ローカルメモリの前記領域に記憶された前記データのうち前記一部分とは異なる部分に対する第2の要求を送ることと,前記第1の処理ユニットが,前記第2の要求に応じて,前記データの異なる部分のコピーを前記第1の処理ユニットの前記バッファからリトリーブすること」とは後記する点で相違するものの,両者は,“第1の処理ユニットが,前記第2の処理ユニットの前記ローカルメモリに記憶されたデータに対する第2の要求を送ることと,前記第1の処理ユニットが,前記第2の要求に応じて,前記データのコピーを前記第1の処理ユニットの前記バッファからリトリーブすること”である点で共通すると言える。

(オ)引用発明は,「コンピューティングシステムを動作させる方法」であるところ,「コンピューティングシステム」は,「第1の処理ユニット」,「第2の処理ユニット」,「クロスバースイッチ」を含むことは明らかである。
一方,本願発明は,「第1の処理ユニットは,中央処理ユニット(CPU)及びグラフィックス処理ユニット(GPU)のうち一方であって,前記第2の処理ユニットは,前記CPU及び前記GPUのうち他方である,コンピュータ実装の方法」であるところ,「コンピュータ」は,「第1の処理ユニット」,「第2の処理ユニット」を含むことは明らかである。
そうすると,引用発明の「コンピューティングシステムを動作させる方法」と,本願発明の「第1の処理ユニットは,中央処理ユニット(CPU)及びグラフィックス処理ユニット(GPU)のうち一方であって,前記第2の処理ユニットは,前記CPU及び前記GPUのうち他方である,コンピュータ実装の方法」とは後記する点で相違するものの,両者は,“第1の処理ユニット及び第2の処理ユニットを含むコンピュータ実装の方法”である点で共通すると言える。

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

<一致点>

「 第1の処理ユニット及び第2の処理ユニットを含むコンピュータ実装の方法であって,
前記第1の処理ユニットから,前記第1の処理ユニット及び前記第2の処理ユニットの間のインタフェースを介して,前記第2の処理ユニットのローカルメモリに記憶されたデータに対する第1の要求を送ることと,
前記第1の処理ユニットが,前記第1の要求に応じて,前記ローカルメモリに記憶された前記データのコピーを受信することと,
前記第1の処理ユニットが,前記データの受信したコピーをコピーデータ保存用メモリに記憶すること,
前記第1の処理ユニットが,前記第2の処理ユニットの前記ローカルメモリに記憶されたデータに対する第2の要求を送ることと,
前記第1の処理ユニットが,前記第2の要求に応じて,前記データのコピーを前記第1の処理ユニットの前記バッファからリトリーブすること,
とを含む方法。」

<相違点1>
本願発明では,「第1の処理ユニットから,前記第1の処理ユニット及び第2の処理ユニットの間のバスインタフェースを介して,前記第2の処理ユニットのローカルメモリの領域に記憶されたデータの一部分に対する第1の要求を送る」のに対して,引用発明では,「第1の処理ユニットから,前記第1の処理ユニット及び第2の処理ユニットの間のクロスバースイッチを介して,前記第2の処理ユニットのローカルメモリのデータに対する要求を送る」ものの,「バスインタフェースを介」して要求を送るものではなく,また「第2の処理ユニットのローカルメモリの領域に記憶されたデータの一部分に対する」要求であるか不明である点。

<相違点2>
本願発明は,「第1の処理ユニットが,前記第1の要求に応じて,前記一部分を含む前記領域に記憶された前記データの全てのコピーを受信する」のに対して,引用発明では,「第1の処理ユニットは,前記要求に応じて,前記第2の処理ユニットのローカルメモリからのデータを前記クロスバースイッチのメモリを介して受信する」ものの,「前記一部分を含む前記領域に記憶された前記データの全てのコピーを受信する」かどうか不明である点。

<相違点3>
本願発明は,「第1の処理ユニットが,前記データの前記受信したコピーを前記第1の処理ユニットのバッファに記憶する」のに対して,引用発明では,「クロスバースイッチは,前記データを前記メモリにコピーして記憶しておく」ものの,「第1の処理ユニット」が当該データのコピーを記憶することについて言及がない点。

<相違点4>
本願発明は,「第1の処理ユニットが,前記第2の処理ユニットの前記ローカルメモリの前記領域に記憶された前記データのうち前記一部分とは異なる部分に対する第2の要求を送ることと,前記第1の処理ユニットが,前記第2の要求に応じて,前記データの異なる部分のコピーを前記第1の処理ユニットの前記バッファからリトリーブする」のに対して,引用発明では,「第1の処理ユニットが,前記ローカルメモリを含む共有メモリ空間内のデータを要求した時には,まず自身のキャッシュメモリ,自身のローカルメモリ,及び前記クロスバースイッチの前記メモリを検索」するものの,「第1の処理ユニットが,前記第2の処理ユニットの前記ローカルメモリの前記領域に記憶された前記データのうち前記一部分とは異なる部分に対する第2の要求を送る」場合に,自身の「キャッシュメモリ」からリトリーブすることについて言及がない点。

<相違点5>
本願発明は,「第1の処理ユニットは,中央処理ユニット(CPU)及びグラフィックス処理ユニット(GPU)のうち一方であって,前記第2の処理ユニットは,前記CPU及び前記GPUのうち他方である,コンピュータ実装の方法」であるのに対して,引用発明は,「第1の処理ユニット」及び「第2の処理ユニット」を含む「コンピューティングシステムを動作させる方法」であるものの,「第1の処理ユニット」及び「第2の処理ユニット」がCPU,GPUのいずれであるかについて言及がない点。


(3) 判断

上記相違点1乃至5について検討する。

ア 相違点1,2及び3について

引用発明では,「第1の処理ユニットから,」「クロスバースイッチを介して,前記第2の処理ユニットのローカルメモリのデータに対する要求を送」り,「前記第1の処理ユニットは,前記要求に応じて,前記第2の処理ユニットのローカルメモリからのデータを前記クロスバースイッチのメモリを介して受信」し,「前記クロスバースイッチは,前記データを前記メモリにコピーして記憶しておく」ところ,「クロスバースイッチ」は「第1の処理ユニット」の受信するデータを中継することから,「第1の処理ユニット」が敢えて「第2の処理ユニットのローカルメモリの領域に記憶されたデータ」の「一部分を含む前記領域に記憶された前記データの全てのコピー」を受信することの動機付けを見い出すことはできない。
また,第1の要求(アドレス0hに対する要求)に従いキャッシュ(バッファ)されたデータのうち,第1の要求とは異なる部分に対する要求である第2の要求(アドレス8hや10hに対する要求)に応じて,前記異なる部分のコピーをキャッシュ(バッファ)からリトリーブする旨の技術は,例えば引用例2(上記Dを参照)に記載されるように本願優先日前には当該技術分野における周知技術であったと考えられるものの,ここでのキャッシュ(バッファ)されたデータは,キャッシュメモリコントローラが管理する,複数の処理ユニットに共用のキャッシュメモリに記憶されるものであり,各処理ユニット内部のキャッシュメモリに記憶されるものではないから,第1の処理ユニットが要求に応じて,第2の処理ユニットのローカルメモリの領域に記憶されたデータの一部分を含む領域に記憶されたデータの全てのコピーを受信することが本願優先日前に周知技術であったとは言えない。
そうすると,処理ユニット間のクロスバ-スイッチによる結合を,バス結合に置換することが設計的事項であったとしても,引用発明において,第1の処理ユニットから,前記第1の処理ユニット及び第2の処理ユニットの間のバスインタフェースを介して,前記第2の処理ユニットのローカルメモリの領域に記憶されたデータの一部分に対する第1の要求を送り,前記第1の処理ユニットが,前記第1の要求に応じて,前記一部分を含む前記領域に記憶された前記データの全てのコピーを受信し,前記第1の処理ユニットが,前記データの前記受信したコピーを前記第1の処理ユニットのバッファに記憶すること,すなわち,上記相違点1,2及び3に係る構成とすることは,当業者が適宜なし得たものであるとすることはできない。

イ 相違点4及び5について

引用発明では,「第1の処理ユニットが,前記ローカルメモリを含む共有メモリ空間内のデータを要求した時には,まず自身のキャッシュメモリ,自身のローカルメモリ,及び前記クロスバースイッチの前記メモリを検索」するところ,「クロスバースイッチ」が「第1の処理ユニット」の受信するデータを中継することから,特に「第1の処理ユニットが,前記第2の処理ユニットの前記ローカルメモリの前記領域に記憶された前記データのうち前記一部分とは異なる部分に対する第2の要求を送る」場合であることを判定して,自身の「キャッシュメモリ」からリトリーブすることの動機付けを見い出すことはできない。
また,引用発明では,「第1の処理ユニット」と「第2の処理ユニット」とは,それぞれの「ローカルメモリ」に記憶されるデータを,共有メモリ空間のデータとしてアクセス要求が可能であることから,「第1の処理ユニット」と「第2の処理ユニット」の一方がCPUで,他方がGPUであって,それぞれの「ローカルメモリ」に記憶されるデータのコピーを互いに要求し合うことを態様に含むものではない。
そうすると,引用発明において,第1の処理ユニットを,中央処理ユニット(CPU)及びグラフィックス処理ユニット(GPU)のうち一方とし,第2の処理ユニットを,前記CPU及び前記GPUのうち他方であるとして,前記第1の処理ユニットが,第2の要求に応じて,データの異なる部分のコピーを前記第1の処理ユニットのバッファからリトリーブすること,すなわち,上記相違点4及5に係る構成とすることは,当業者が適宜なし得たものであるとすることはできない。

ウ 小括

上記で検討したごとく,本願発明は,当業者が引用発明に基づいて容易に発明をすることができたものとすることができないものである。


(4) 請求項2乃至15に係る発明について

請求項2乃至4に係る発明は,本願発明をさらに限定したものであるので,同様に,当業者が容易に発明をすることができたものとすることができないものである。

請求項5に係る発明は,本願発明を「第1の処理ユニット」の発明として記載したものであり,請求項6乃至8に係る発明は,請求項5に係る発明をさらに限定したものであるので,同様に,当業者が容易に発明をすることができたものとすることができないものである。
また,請求項9に係る発明は,本願発明を「コンピューティングシステム」の発明として記載したものであり,請求項10乃至12に係る発明は,請求項9に係る発明をさらに限定したものであるので,同様に,当業者が容易に発明をすることができたものとすることができないものである。
さらに,請求項13に係る発明は,本願発明を「コンピュータプログラム」の発明として記載したものであり,請求項14,15に係る発明は,請求項13に係る発明をさらに限定したものであるので,同様に,当業者が容易に発明をすることができたものとすることができないものである。


(5) まとめ

以上のとおりであるから,本願の請求項1乃至15に係る発明は,引用発明及び当該技術分野の周知技術に基づいて,当業者が容易に発明をすることができたものとすることができないものである。
よって,原査定の理由によっては,本願を拒絶することはできない。


第4 当審拒絶理由について

1 当審拒絶理由の概要

本件出願は,特許請求の範囲の記載が下記の点で不備のため,特許法第36条第6項第2号に規定する要件を満たしていない。



ア.平成27年4月9日付け手続補正により補正された請求項1及び請求項13は,「バッファ」を発明特定事項とし,「前記データの前記受信したコピーをバッファに記憶することと,」や「前記第2の要求に応じて,前記異なる部分のコピーを前記バッファからリトリーブすることと,」のステップを特定するが,当該「バッファ」は「第1の処理ユニット」が備えるものであるのか,それとも,「第1の処理ユニット」以外の他の装置に設置されるものであるのか不明であるために,それにより請求項1及び請求項13の発明特定事項である「前記データの前記受信したコピーをバッファに記憶することと,」や「前記第2の要求に応じて,前記異なる部分のコピーを前記バッファからリトリーブすることと,」のステップを明確に把握することができない。
また,請求項1を引用する請求項2-4,請求項13を引用する請求項14-15についても同様の理由により,発明特定事項を明確に把握することができない。

イ.補正された請求項1は,「第1の処理ユニットから,前記第1の処理ユニット及び第2の処理ユニットの間のバスインタフェースを介して,前記第2の処理ユニットのローカルメモリの領域に記憶されたデータの一部分に対する第1の要求を送ることと,」や「前記第1の要求に応じて,前記領域に記憶された前記データのコピーを受信することと,」や「前記データの前記受信したコピーをバッファに記憶することと,」や「前記第2の要求に応じて,前記異なる部分のコピーを前記バッファからリトリーブすることと,」などのステップを特定するが,これらステップの動作の主体が「第1の処理ユニット」であるのか,それとも他の装置であるのか日本語表現として不明瞭であり,それにより請求項1が特定する処理動作に係る発明を日本語表現として明確に把握することができない。
また,請求項1を引用する請求項2-4についても同様の理由により,発明特定事項を明確に把握することができない。

ウ.補正された請求項5及び請求項9は,「バスインタフェース」を発明特定事項とし,「前記第1の処理ユニットは,前記第2の処理ユニットの前記ローカルメモリの領域に記憶されたデータの一部分に対する第1の要求を送り,前記第1の要求に応じて,前記領域に記憶された前記データのコピーを受信するように構成されるバスインタフェース」と特定するが,「バスインタフェース」が「第1の処理ユニット」と「第2の処理ユニット」との間のものであるか不明であるために,「第1の要求」が「第2の処理ユニット」に対して送信されるものであるのか,それとも他の装置に送信されるものであるのか不明となっており,それにより請求項5及び請求項9が特定する「第1の処理ユニット」に係る構成を日本語表現として明確に把握することができない。
また,請求項5を引用する請求項6-8,請求項9を引用する請求項10-12についても同様の理由により,発明特定事項を明確に把握することができない。

エ.補正された請求項13-15は,「コンピュータプログラム製品」について,「コンピューティングデバイス上で実行されると,第1の処理ユニットに動作を実行させる命令を含むコンピュータ可読記憶媒体を備える非一時的なコンピュータプログラム製品であって,前記動作は,前記第1の処理ユニット及び第2の処理ユニットの間のバスインタフェースを介して,前記第2の処理ユニットのローカルメモリの領域に記憶されたデータの一部分に対する第1の要求を送ることと,」などと,動作をステップにより特定するが,請求項13-15が特定する「コンピュータプログラム製品」は「プログラム」であるのか,プログラムを動作させる「装置」であるのか発明のカテゴリが不明確である。

2 当審拒絶理由の判断

平成28年7月7日付け手続補正により,本願の請求項1乃至15に係る発明は明確になった。

よって,当審拒絶理由は解消した。


第5 むすび

以上のとおり,原査定の理由によっては,本願を拒絶することはできない。
また,他に本願を拒絶すべき理由を発見しない。

よって,結論のとおり審決する。

 
審決日 2016-09-02 
出願番号 特願2012-528888(P2012-528888)
審決分類 P 1 8・ 121- WY (G06F)
P 1 8・ 537- WY (G06F)
最終処分 成立  
前審関与審査官 滝谷 亮一  
特許庁審判長 高木 進
特許庁審判官 辻本 泰隆
須田 勝巳
発明の名称 処理ユニットのローカルメモリ読み出し  
代理人 早川 裕司  
代理人 村雨 圭介  
代理人 佐野 良太  
代理人 佐野 良太  
代理人 早川 裕司  
代理人 村雨 圭介  

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