【事件の表示】
　特願２０１２−２５３４６８「マルチレベルのキャッシュ階層におけるキャストアウトを低減するための装置および方法」拒絶査定不服審判事件〔平成２５年　４月１８日出願公開、特開２０１３−　６９３２２〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯・本願発明
　本願は、２００８年１月３０日（優先権主張　２００７年１月３１日、米国）を国際出願日とする出願（以下、「原出願」という。）である特願２００９−５４８４２６号の一部を平成２４年１１月１９日に新たな特許出願としたものであって、平成２６年１月７日付けで拒絶理由が通知され、同年９月１０日付けで拒絶査定がなされ、これに対して、平成２７年１月１６日に拒絶査定不服の審判が請求されるとともに、同日付けで手続補正がなされ、同年１０月１日付けで当審で拒絶理由が通知され、平成２８年２月８日付けで手続補正がなされたものである。
　そして、本願の特許請求の範囲の請求項１に係る発明（以下、「本願発明」という。）は、平成２８年２月８日付け手続補正書の特許請求の範囲の請求項１に記載された、次のとおりのものと認める。
　「【請求項１】
　複数のキャッシュレベルを有するメモリシステムであって、
　複数の第１キャッシュラインのそれぞれを割り当てビットで記憶するように構成されたレベルＸキャッシュであって、割り当てビットのそれぞれは前記割り当てビットと関連する前記複数の第１キャッシュラインの１つがレベルＸ＋１キャッシュにおいて割り当てられたかどうかを示す、レベルＸキャッシュと、
　前記レベルＸ＋１キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセスに応じて、前記複数の第１キャッシュラインから置換するために選択された第１キャッシュラインが、前記選択された第１キャッシュラインと関連する割り当てビットに基づいて前記レベルＸ＋１キャッシュにおいてキャッシュラインで重複する（redundant）キャッシュラインであるかどうかを決定するように、前記選択された第１キャッシュラインが前記レベルＸ＋１キャッシュにおいてキャッシュラインで重複するキャッシュラインであることを示す前記選択された第１キャッシュラインの前記割り当てビットに応じて前記選択された第１キャッシュラインの前記レベルＸ＋１キャッシュへのキャストアウトを防ぐように、および前記選択された第１キャッシュラインが前記レベルＸ＋１キャッシュに存在しないことを示す割り当てビットに基づいて、前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスの結果として、前記選択された第１キャッシュラインを前記レベルＸ＋１キャッシュにキャストアウトするように構成されたキャストアウトロジック回路であって、前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスに関するキャッシュラインおよび関連する割り当てビットは、前記レベルＸキャッシュに記憶され、前記関連する割り当てビットは前記キャッシュラインが前記レベルＸ＋１キャッシュに存在することを示す、キャストアウトロジック回路と、
　を備える、
メモリシステム。」
　
２．引用例等
　当審の拒絶の理由に引用された、原出願の優先日前に公開された、米国特許第５５６４０３５号明細書（以下、「引用例」という。）には、図面とともに以下の記載がある（下線は当審において付与。訳は当審訳。）。
（１）　４欄５１行〜５欄３行
「The present invention provides an extension cache system and a related method for minimizing swapping between primary and extension caches. For purposes of explanation, specific embodiments are set forth to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the invention may be practiced without these details. In other instances, well known elements, devices, process steps and the like are not set forth in detail in order to avoid unnecessarily obscuring the present invention.
　　FIG. 4 illustrates a primary cache of the present invention. The cache includes at least one cache line 402 having a tag field 404, a valid bit field 406, a dirty bit field 408 and a data field 410. The cache line 402 also includes a first bit of the present invention 412. A cache access logic circuit 414 controls the response of the cache to memory access requests, as described below. Note that any single bit described herein may in general be represented by multiple bits and be generically called an indicator for indicating a particular state.」
（本発明は、
拡張キャッシュ・システム
　図４は、本発明の
１次キャッシュ
は、タグ・フィールド404、バリッド・ビット・フィールド406、ダーティ・ビット・フィールド408とデータ・フィールド410を有する少なくとも１つのキャッシュライン402を有する
キャッシュライン402は、本発明の「ファースト」ビット412も有する
キャッシュ・アクセス・ロジック414は、メモリアクセス要求に対するキャッシュの応答を管理
（２）　５欄２２〜３０行 
「In the case of a primary cache miss, a line must be displaced from the primary cache so that the requested data may be cached into the primary cache from main memory. The present invention assumes that the least recently used (LRU) line will be displaced, although it should be understood that the present invention is applicable to any cache replacement policy. Therefore, the LRU line is chosen as the primary cache victim line and stored in a victim buffer (not shown) (step 506).」
（１次キャッシュがミスの場合、要求されたデータがメインメモリから１次キャッシュにキャッシュされるためには、１次キャッシュから一つのラインが取り除かれねばならない。本発明は、ＬＲＵ（Least Recently Used、最も長く使われていない)ラインが取り除かれると仮定している。しかし、本発明がどのようなキャッシュ置き換えポリシーにも適用可能であることが理解されるべきである。したがって、ＬＲＵラインが、１次キャッシュの犠牲ライン(victim line)に選ばれて、（図示されない）犠牲バッファに格納される（ステップ５０６）。）
（３）　６欄３２行〜４１行 
「Based on FIGS. 6A and 6B it can be seen that the swapping operation is unnecessary and superfluous if the primary cache victim line address is cached in the extension cache, and the primary cache line is not dirty. Put another way, swapping is necessary only if the primary cache victim address is not found in the extension cache or, if it is, the primary cache victim data is dirty with respect to the data found at the same address in the extension cache. The present invention takes advantage of this observation in order to prevent unnecessary swapping.」 
（図６Ａおよび図６Ｂに基づいて、１次キャッシュの犠牲ライン(victim line)のアドレスが、拡張キャッシュ中にキャッシュされており、かつ、１次キャッシュラインがダーティではない場合、スワップ操作は不必要かつ余分であることが理解されよう。換言すれば、スワップが必要なのは、１次キャッシュの犠牲ラインのアドレスが、拡張キャッシュに見出されないか、あるいは、もし見出されたならば、同じアドレスの拡張キャッシュで見出されるデータに対して、１次キャッシュの犠牲データがダーティな場合のみである。本発明では、この観察結果を、不必要なスワップの防止に利用している。） 
（４）　６欄４２行〜７欄１９行 
「FIG. 7 illustrates the operation of the present invention, wherein the first bit 412 and the dirty bit 408 shown in the cache of FIG. 4 are used to minimize swapping. 
　　Under the control of cache access logic, it is first determined whether the requested address results in a hit or a miss in the primary cache (step 702). If so, the data is returned to the processor coupled to the primary cache, as before (step 704). If there is a miss, then the cache access logic reads the primary cache victim line (step 706). The cache access logic then determines whether the dirty (D) and/or first (F) bits are set (step 708). If the dirty bit is set this indicates that the primary cache holds the latest version of the data found at the address in the victim line and that such data is inconsistent with the data found in other memory devices, e.g., the extension cache and memory. If the first bit is set, this indicates that the address tag of the victim line matches in the primary cache only and not in the extension cache. If either the dirty or first bits is set, then the latest version of the data found in the victim line is not to be found in any other memory device. If D=1 or F=1, the victim line is temporarily stored in a victim buffer (not shown) so that it may be later saved in the next level cache (step 710). 
　　Because the requested address was not found in the primary cache, it is presented to the extension cache to determine whether it is to be found there (step 712). If there is a hit, then the extension cache line containing the requested address data is transferred to the processor and the primary cache. Because the line came from the extension cache and was placed into the primary cache, the first bit is set to zero in the transferred line in the primary cache. To keep a record of whether the transferred cache line contains the latest version of the data, the dirty bit of the line is copied along with the line into the primary cache (step 714). 
　　If however, a miss in the extension cache results, then the block of address locations from main memory is written into the primary cache and the data transferred to the processor. Because the data was sent directly to the primary cache without first being stored in the extension cache, the first bit is set to one. Further, for a read operation, because the primary cache and main memory contain the same data at the requested address, the dirty bit is set to zero to indicate consistency. Conversely, for a write operation, such as a write allocate, the dirty bit is set to one to indicate that the processor has changed the data (step 716).」 
（図７は、本発明の動作を例示しており、ここで、図４のキャッシュで示された、
ファースト・ビット412とダーティ・ビット408とが、スワップの最小化に用いられる
　
キャッシュ・アクセス・ロジックの管理下で、最初に、要求されたアドレスが、１次キャッシュでヒット又はミスいずれに帰着したかが決定され
（ステップ７０２）
ミスであれば、キャッシュ・アクセス・ロジックは、１次キャッシュの犠牲ラインを読み出
（ステップ７０６）
それから、キャッシュアクセス・ロジックは、ダーティ・ビット（Ｄ）および（または）ファースト・ビット（Ｆ）がセットされているかを判定
ステップ７０８）
ファースト・ビットがセットされている場合、このことは、犠牲ラインのアドレス・タグが、１次キャッシュ内のみで一致して、拡張キャッシュ内では一致しないことを示
ダーティ・ビット又はファースト・ビットのいずれかがセットされている場合、犠牲ラインで見出される最新バージョンのデータは、他のいずれのメモリ素子でも見出されない
もしもＤ＝１又はＦ＝１であれば、次のレベルのキャッシュ内に後で保存されるように、犠牲ラインは、
犠牲バッファに一時的に保存され
（ステップ７１０）
　
要求されたアドレスが、１次キャッシュ内で見出されなかったので、それは、拡張キャッシュで見つかるかどうかを判断するために、拡張キャッシュに対して提示され
（ステップ７１２）
ヒットした場合、要求されたアドレス・データを含む拡張キャッシュのラインが、プロセッサと１次キャッシュに転送され
そのラインが、拡張キャッシュから到来して、１次キャッシュに入れられたので、１次キャッシュ内の転送されたラインのファースト・ビットは、０にセットされ
転送されたキャッシュラインが、最新のバージョンのデータを含んでいるかどうかを記録するために、ラインのダーティ・ビットは、ラインと共に、１次キャッシュの中にコピーされ
（ステップ７１４）
　
これとは逆に、もしも拡張キャッシュのミスに帰結した場合、メインメモリから、アドレス位置のブロックが、１次キャッシュと、プロセッサに転送されるデータとに書き込まれ
（ステップ７１６）
（５）　７欄２０行〜８欄９行 
「From this point in the process, the logic of the present invention determines where to write the primary cache victim line. First, the logic determines whether any line was victimized from the primary cache in the first place (step 718). If the victim buffer is empty then the process stops (step 720). Otherwise, the logic determines whether the address of the data found in the primary cache victim is already present in the extension cache. To do so, the primary cache presents the address tag of the victim line to the extension cache. (step 722). If there is a hit, then this means that the first bit was not set. Referring back to step 708, the victim buffer is filled only if the dirty bit or first bit is set. Accordingly, the dirty bit must have been set (because the first bit is not set), meaning that the primary cache victim contains the latest version of the data found in the victim line. Accordingly, the primary cache victim is written from the victim buffer into the extension cache line allocated to the victim address (step 724). After this point the process terminates (step 726). 
　　If, however, the primary cache victim is not found in the extension cache, i.e. the first bit of the victim line is set to one, then the logic determines again whether the requested address is found in the extension cache (step 728). To make this determination, a flag could have been set in step 712 to determine whether there is an extension cache hit or miss, and the flag tested in step 728. If the requested address is found in the extension cache then it is known that in step 714 the line caching that address was transferred to the primary cache and thus is no longer needed in the extension cache. Accordingly, that vacated extension cache line can receive the primary cache victim line, thereby resulting in a swap between the primary and extension caches. In conjunction with this operation, the first bit of the requested line in the primary cache is set to indicate that the requested line is no longer found in the extension cache because it has been overwritten with the primary cache victim line (step 730). At this point the process may terminate (step 732). 
　　Conversely, if the requested address is not found in the extension cache, then no lines in the extension cache are currently likely to be available to receive the primary cache victim. Thus, in this embodiment, the LRU line of the extension cache may be selected as a victim (step 734). The dirty bit of this line is examined to determine whether the line contains the latest version of the data to be found at the addresses cached in that line, meaning that that data must be saved elsewhere (step 736). If the extension cache victim line is dirty, then the data from the line is used to update the data found at the same main memory addresses (or same addresses in the next level cache in another embodiment) (step 738) before the line in the extension cache is overwritten with the primary victim line (step 740). 
　　If, however, the data in the extension cache victim line is consistent with that found in main memory, then that data is overwritten in the extension cache by the primary cache victim line without first storing the extension cache victim line into memory (step 740), and the process terminates (step 742).」 
（
プロセスのこの時点からは、本発明のロジックは、１次キャッシュの犠牲ラインをどこに書くべきかを決定
ロジックは、
１次キャッシュのいずれかのラインが犠牲にされたかを判定
（ステップ７１８）
犠牲バッファが空ならば、
プロセスは停止
（ステップ７２０）
空でなければ、
１次キャッシュの犠牲で見つかったデータのアドレスが、拡張キャッシュ中に既に存在するか否かを判定
そのために、１次キャッシュは、犠牲ラインのアドレス・タグを、拡張キャッシュに提示
（ステップ７２２）
ヒットした場合、これはファースト・ビットがセットされていなかったことを意味
１次キャッシュの犠牲は、犠牲バッファから、犠牲アドレスに割り当てられた拡張キャッシュのラインに書き込まれ
（ステップ７２４）
　もしも、これに対して、
１次キャッシュの犠牲が、拡張キャッシュで見つからなければ、
要求されたアドレスが、拡張キャッシュで見つかるかどうかを、ロジックは再び判定
（ステップ７２８）
要求されたアドレスが、拡張キャッシュで見つかったならば、
１次キャッシュと拡張キャッシュ間のスワップ
この操作と共に、
１次キャッシュ中の要求されたラインのファースト・ビットがセットされ
（ステップ７３０）
　反対に、
もしも要求されたアドレスが、拡張キャッシュで見つからなければ、
拡張キャッシュのＬＲＵ
ラインが、犠牲として選択され
（ステップ７３４）
このラインのダーティ・ビットを検査
（ステップ７３６）
もしも拡張キャッシュの犠牲ラインがダーティの場合、そのラインからのデータは、メインメモリ中の同じアドレス
で見出されるデータを更新するために、そのラインのデータが利用されてから（ステップ７３８）、拡張キャッシュのラインは、１次キャッシュの犠牲ラインで上書きされ
（ステップ７４０）
　もしも、しかし、
拡張キャッシュの犠牲ラインのデータが、メインメモリ中で見出されるものと一致している場合、最初に拡張キャッシュの犠牲ラインをメモリ中に保存することなく、１次キャッシュの犠牲ラインによって、拡張キャッシュにおいてデータが上書きされ（ステップ７４０）、そしてプロセスは停止する（ステップ７４２）
（６）　８欄１０行〜８欄２７行 
「By treating the next level cache as an extension of the primary cache, the present invention essentially treats the primary and extension caches together as one large cache, with the advantage of maintaining the most recently used portion of the cached data in the primary cache and thus closest to the processor. Consequently, the multi-cache configuration of the present invention has the effectiveness of a large cache. Every primary cache line with the first bit set avoids displacing another line in the extension cache, thus keeping more unique lines available in both caches for the processor to reference. Further, the present invention provides the advantage that swapping operations are minimized by using a bit to indicate whether a cache line in the primary cache is not found in the extension cache, i.e., the line is exclusive to the primary or the extension cache. One should note, however, that because of the lack of redundancy between the primary and extension caches, both the primary and extension caches must snoop the system bus for outside accesses to data stored in those caches.」 
（次のレベルのキャッシュを、１次キャッシュの拡張として取り扱うことによって、本発明は、本質的に、１次キャッシュと拡張キャッシュとを一緒に、一つの大きなキャッシュとして取り扱い、最も最近に使用されたキャッシュされたデータを、１次キャッシュに、従って、プロセッサの一番近くに保存するという、利点を備えている。その結果、本発明のマルチ・キャッシュの構成は、大型のキャッシュが備える効率性を有する。
ファースト・ビットがセットされているすべての１次キャッシュのラインが、拡張キャッシュ中の別のラインを置き換えることを避けることによって、プロセッサが参照するために、より多くのユニークなラインが、両方のキャッシュ内に利用できるよう保たれる
　よって、引用例には、以下の発明（以下、「引用発明」という。）が開示されていると認められる。  
「１次キャッシュは、タグ・フィールド404、バリッド・ビット・フィールド406、ダーティ・ビット・フィールド408とデータ・フィールド410を有する少なくとも１つのキャッシュライン402を有するものであり、
　キャッシュライン402は、ファースト・ビット412も有し、
　キャッシュ・アクセス・ロジック414は、メモリアクセス要求に対するキャッシュの応答を管理し、
　ファースト・ビット412とダーティ・ビット408とが、スワップの最小化に用いられ、　キャッシュ・アクセス・ロジックの管理下で、最初に、要求されたアドレスが、１次キャッシュでヒット又はミスいずれに帰着したかが決定され（ステップ７０２）、 
　ミスであれば、キャッシュ・アクセス・ロジックは、１次キャッシュの犠牲ラインを読み出し（ステップ７０６）、 
　それから、キャッシュ・アクセス・ロジックは、ダーティ・ビット（Ｄ）および（または）ファースト・ビット（Ｆ）がセットされているかを判定し（ステップ７０８）、 
　ファースト・ビットがセットされている場合、このことは、犠牲ラインのアドレス・タグが、１次キャッシュ内のみで一致して、拡張キャッシュ内では一致しないことを示し、ダーティ・ビット又はファースト・ビットのいずれかがセットされている場合、犠牲ラインで見出される最新バージョンのデータは、他のいずれのメモリ素子でも見出されず、もしもＤ＝１又はＦ＝１であれば、次のレベルのキャッシュ内に後で保存されるように、犠牲ラインは、犠牲バッファに一時的に保存され（ステップ７１０）、 
　要求されたアドレスが、１次キャッシュ内で見出されなかったので、それは、拡張キャッシュで見つかるかどうかを判断するために、拡張キャッシュに対して提示され（ステップ７１２）、 
　ヒットした場合、要求されたアドレス・データを含む拡張キャッシュのラインが、プロセッサと１次キャッシュに転送され、そのラインが、拡張キャッシュから到来して、１次キャッシュに入れられたので、１次キャッシュ内の転送されたラインのファースト・ビットは、０にセットされ、転送されたキャッシュラインが、最新のバージョンのデータを含んでいるかどうかを記録するために、ラインのダーティ・ビットは、ラインと共に、１次キャッシュの中にコピーされ（ステップ７１４）、 
　これとは逆に、もしも拡張キャッシュのミスに帰結した場合、メインメモリから、アドレス位置のブロックが、１次キャッシュと、プロセッサに転送されるデータとに書き込まれ（ステップ７１６）、 
　プロセスのこの時点からは、本発明のロジックは、１次キャッシュの犠牲ラインをどこに書くべきかを決定し、 
　ロジックは、１次キャッシュのいずれかのラインが犠牲にされたかを判定し（ステップ７１８）、犠牲バッファが空ならば、プロセスは停止し（ステップ７２０）、空でなければ、１次キャッシュの犠牲で見つかったデータのアドレスが、拡張キャッシュ中に既に存在するか否かを判定し、そのために、１次キャッシュは、犠牲ラインのアドレス・タグを、拡張キャッシュに提示し（ステップ７２２）、 
　ヒットした場合、これはファースト・ビットがセットされていなかったことを意味し、１次キャッシュの犠牲は、犠牲バッファから、犠牲アドレスに割り当てられた拡張キャッシュのラインに書き込まれ（ステップ７２４）、 
　１次キャッシュの犠牲が、拡張キャッシュで見つからなければ、要求されたアドレスが、拡張キャッシュで見つかるかどうかを、ロジックは再び判定し（ステップ７２８）、 
　要求されたアドレスが、拡張キャッシュで見つかったならば、１次キャッシュと拡張キャッシュ間のスワップの操作と共に、１次キャッシュ中の要求されたラインのファースト・ビットがセットされ（ステップ７３０）、 
　もしも要求されたアドレスが、拡張キャッシュで見つからなければ、拡張キャッシュのＬＲＵラインが、犠牲として選択され（ステップ７３４）、 
　このラインのダーティ・ビットを検査し（ステップ７３６）、 
　もしも拡張キャッシュの犠牲ラインがダーティの場合、そのラインからのデータは、メインメモリ中の同じアドレスで見出されるデータを更新するために、そのラインのデータが利用されてから（ステップ７３８）、 
　拡張キャッシュのラインは、１次キャッシュの犠牲ラインで上書きされ（ステップ７４０）、 
　拡張キャッシュの犠牲ラインのデータが、メインメモリ中で見出されるものと一致している場合、最初に拡張キャッシュの犠牲ラインをメモリ中に保存することなく、１次キャッシュの犠牲ラインによって、拡張キャッシュにおいてデータが上書きされ（ステップ７４０）、 
　そしてプロセスは停止する（ステップ７４２）、 
　ファースト・ビットがセットされているすべての１次キャッシュのラインが、拡張キャッシュ中の別のラインを置き換えることを避けることによって、プロセッサが参照するために、より多くのユニークなラインが、両方のキャッシュ内に利用できるよう保たれる、拡張キャッシュシステム。」
３．対比
　本願発明と引用例記載の発明とを対比する。 
（１）引用例記載の発明の「拡張キャッシュシステム」は、「１次キャッシュ」「拡張キャッシュ」等からなるものであるから、本願発明の「複数のキャッシュレベルを有するメモリシステム」に相当する。
　
（２）引用例記載の発明の「１次キャッシュ」、「１次キャッシュ」の「キャッシュライン」、「拡張キャッシュ」はそれぞれ、本願発明の「レベルＸキャッシュ」、「第１キャッシュライン」、「レベルＸ＋１キャッシュ」に相当する。
　引用例記載の発明の「１次キャッシュ」の「キャッシュライン」は「ファースト・ビット」を有するものであり、当該「ファースト・ビット」は、「１次キャッシュ内のみで一致して、
拡張キャッシュ内では一致しないこと
　また、引用例記載の発明の「１次キャッシュ」は、「少なくとも１つのキャッシュライン」を有するものであり、「複数のキャッシュライン」を有するものを含むものである。
　したがって、複数のキャッシュラインを有し、各キャッシュラインがファースト・ビットを有するものである引用例記載の発明の「１次キャッシュ」は、本願発明の「複数の第１キャッシュラインのそれぞれを割り当てビットで記憶するように構成されたレベルＸキャッシュであって、割り当てビットのそれぞれは前記割り当てビットと関連する前記複数の第１キャッシュラインの１つがレベルＸ＋１キャッシュにおいて割り当てられたかどうかを示す、レベルＸキャッシュ」に相当する。
（３）引用例記載の発明の「要求されたアドレスが、１次キャッシュ内で見出されなかったので、それは、拡張キャッシュで見つかるかどうかを判断するために、拡張キャッシュに対して提示され（ステップ７１２）」、「ヒットした場合」は、本願発明の「前記レベルＸ＋１キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセス」に相当する。
（４）引用例における「犠牲ライン(victim line)」とは、上記２（２）の摘記のとおり、「要求されたデータがメインメモリから１次キャッシュにキャッシュされるためには、１次キャッシュから一つのラインが取り除かれねばならない」ラインであって、例えば、「ＬＲＵ（Least Recently Used、最も長く使われていない)ライン」が選択されるものであるから、引用例記載の発明の「１次キャッシュの犠牲ライン」は、本願発明の「前記複数の第１キャッシュラインから置換するために選択された第１キャッシュライン」に相当し、引用例記載の発明の「１次キャッシュの犠牲ライン」の「ファースト・ビット」は、本願発明の「前記選択された第１キャッシュラインと関連する割り当てビット」に相当する。
　また、引用例記載の発明の「キャッシュ・アクセス・ロジック」は、「メモリアクセス要求に対するキャッシュの応答を管理」し、（ステップ７０２）以降の各処理を行うものであるから、本願発明の「キャストアウトロジック回路」に相当する。
　そして、引用例記載の発明の「キャッシュ・アクセス・ロジックは、１次キャッシュの犠牲ラインを読み出し（ステップ７０６）、 それから、キャッシュ・アクセス・ロジックは、ダーティ・ビット（Ｄ）および（または）ファースト・ビット（Ｆ）がセットされているかを判定し（ステップ７０８）、ファースト・ビットがセットされている場合、このことは、犠牲ラインのアドレス・タグが、１次キャッシュ内のみで一致して、拡張キャッシュ内では一致しないことを示」すことのうち「ファースト・ビット（Ｆ）がセットされているかを判定」することは、本願発明の「キャストアウトロジック回路」が「前記複数の第１キャッシュラインから置換するために選択された第１キャッシュラインが、前記選択された第１キャッシュラインと関連する割り当てビットに基づいて前記レベルＸ＋１キャッシュにおいてキャッシュラインで重複する（redundant）キャッシュラインであるかどうかを決定するように」構成されていることに相当する。
（５）引用例記載の発明は、「１次キャッシュの犠牲ライン」の「ダーティ・ビット（Ｄ）および（または）ファースト・ビット（Ｆ）がセットされているかを判定し（ステップ７０８）」、「Ｄ＝１又はＦ＝１」でない場合、「犠牲ラインは、犠牲バッファに一時的に保存され」る処理（ステップ７１０）を行わずに、（ステップ７１２）の判断の後に（ステップ７１４）で「要求されたアドレス・データを含む拡張キャッシュのライン」が「１次キャッシュの中にコピー」され、（ステップ７１８）で「１次キャッシュのいずれかのラインが犠牲にされたかを判定し」、（ステップ７２０）で「犠牲バッファが空ならば、プロセスは停止」するものであり、このうち、犠牲ラインが「Ｆ＝１」でない場合に、犠牲ラインが犠牲バッファに一時的に保存されずに、要求されたアドレス・データが１次キャッシュにコピーされ、プロセスは停止することは、上記３．（３）の対比も考慮すると、本願発明の「キャストアウトロジック回路」が「前記レベルＸ＋１キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセス」に応じて「前記選択された第１キャッシュラインが前記レベルＸ＋１キャッシュにおいてキャッシュラインで重複するキャッシュラインであることを示す前記選択された第１キャッシュラインの前記割り当てビットに応じて前記選択された第１キャッシュラインの前記レベルＸ＋１キャッシュへのキャストアウトを防ぐように」構成されていることに相当する。
（６）引用例記載の発明の「１次キャッシュの犠牲ライン」の「ダーティ・ビット（Ｄ）および（または）ファースト・ビット（Ｆ）がセットされているかを判定し（ステップ７０８）、ファースト・ビットがセットされている」ことは、本願発明の「前記選択された第１キャッシュラインが前記レベルＸ＋１キャッシュに存在しないことを示す割り当てビット」に相当する。
　引用例記載の発明の「要求されたアドレスが、１次キャッシュ内で見出されなかったので、それは、拡張キャッシュで見つかるかどうかを判断するために、拡張キャッシュに対して提示され（ステップ７１２）」、「ヒットした場合」は、本願発明の「前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスの結果」に相当する。
　また、引用例記載の発明の（ステップ７１２）、（ステップ７１４）の処理の後、「プロセスのこの時点からは、本発明のロジックは、１次キャッシュの犠牲ラインをどこに書くべきかを決定し、」犠牲バッファが空でなければ、（ステップ７２２）以降で、１次キャッシュの犠牲ラインを拡張バッファに書き込むことは、本願発明の「前記選択された第１キャッシュラインを前記レベルＸ＋１キャッシュにキャストアウトする」ことに相当する。
　したがって、上記３．（３）の対比も考慮すると、引用例記載の発明が、（ステップ７０８）の処理でファースト・ビットがセットされていると判断し（ステップ７１０）の処理を行い、（ステップ７１２）の処理でヒットした場合、（ステップ７１４）の処理を行い、その後、「プロセスのこの時点からは、本発明のロジックは、１次キャッシュの犠牲ラインをどこに書くべきかを決定し、」犠牲バッファが空でなく、（ステップ７２２）以降で、１次キャッシュの犠牲ラインを拡張バッファに書き込むことは、本願発明の「キャストアウトロジック回路」が「前記レベルＸ＋１キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセス」に応じて「前記選択された第１キャッシュラインが前記レベルＸ＋１キャッシュに存在しないことを示す割り当てビットに基づいて、前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスの結果として、前記選択された第１キャッシュラインを前記レベルＸ＋１キャッシュにキャストアウトする」ように構成されていることに相当する。
（７）引用例記載の発明は、「要求されたアドレスが、１次キャッシュ内で見出されなかったので、それは、拡張キャッシュで見つかるかどうかを判断するために、拡張キャッシュに対して提示され（ステップ７１２）」、「ヒットした場合、要求されたアドレス・データを含む拡張キャッシュのラインが、プロセッサと１次キャッシュに転送され、そのラインが、拡張キャッシュから到来して、１次キャッシュに入れられたので、１次キャッシュ内の転送されたラインのファースト・ビットは、０にセットされ」る構成を有するものである。
　ここで、引用例記載の発明の上記構成の「要求されたアドレス・データを含む拡張キャッシュのライン」は、本願発明の「前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスに関するキャッシュライン」に相当し、引用例記載の発明の上記構成の「要求されたアドレス・データを含む拡張キャッシュのラインが」、「１次キャッシュに転送され、そのラインが、拡張キャッシュから到来して、１次キャッシュに入れられた」ことが、本願発明の「前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスに関するキャッシュライン」「は、前記レベルＸキャッシュに記憶され」ることに相当する。
　また、引用例記載の発明の上記構成の「１次キャッシュ内の転送されたラインのファースト・ビットは、０にセットされ」ることは、本願発明の「関連する割り当てビットは、前記レベルＸキャッシュに記憶され、前記関連する割り当てビットは前記キャッシュラインが前記レベルＸ＋１キャッシュに存在することを示す」ことに相当する。
　したがって、引用例記載の発明の上記構成の処理を行う「キャッシュ・アクセス・ロジック」は、本願発明の「前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスに関するキャッシュラインおよび関連する割り当てビットは、前記レベルＸキャッシュに記憶され、前記関連する割り当てビットは前記キャッシュラインが前記レベルＸ＋１キャッシュに存在することを示す、キャストアウトロジック回路」に相当する。
　この点について、請求人は、平成２８年２月８日付け意見書において、「上記で説明した引用文献１と本願発明を比較すると、本願発明は、「前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスに関するキャッシュラインおよび関連する割り当てビットは、前記レベルＸキャッシュに記憶され、前記関連する割り当てビットは前記キャッシュラインが前記レベルＸ＋１キャッシュに存在することを示す」を記載しています。これに対して引用文献１は、「プライマリキャッシュにおける要求されたラインの第１ビットは、要求されたラインが、それがプライマリキャッシュビクティムラインで上書きされてしまうために拡張キャッシュにおいてもはや発見されないことを示すように設定される。（ステップ７３０）」引用文献１のカラム７、５２−５５行目を参照して下さい。
　上記から理解されるように、本願補正後の請求項１で定義されている構成と、引用文献１で教示されている構成は異なります。」と主張している。
　しかしながら、引用例記載の発明の「ステップ７３０」の処理は、「１次キャッシュの犠牲ライン」を、「拡張キャッシュ」の「要求されたアドレス」のラインに書き込む、スワップの操作を行うことにより、「拡張キャッシュ」中に「要求されたアドレス」のラインがなくなる場合に、「１次キャッシュ」に書き込まれた「要求されたアドレス」のラインのファースト・ビットを「１」とすることを示しているに過ぎず、引用例記載の発明は、このようなスワップの操作を行うか否かにかかわらず、「ステップ７１４」において、「１次キャッシュ」に書き込まれた「要求されたアドレス」のラインのファースト・ビットは「０」とされるものであるから、引用例記載の発明の「キャッシュ・アクセス・ロジック」は、本願発明の「前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスに関するキャッシュラインおよび関連する割り当てビットは、前記レベルＸキャッシュに記憶され、前記関連する割り当てビットは前記キャッシュラインが前記レベルＸ＋１キャッシュに存在することを示す、キャストアウトロジック回路」に相当するといえる。
　したがって、両者は、
 　「複数のキャッシュレベルを有するメモリシステムであって、
　複数の第１キャッシュラインのそれぞれを割り当てビットで記憶するように構成されたレベルＸキャッシュであって、割り当てビットのそれぞれは前記割り当てビットと関連する前記複数の第１キャッシュラインの１つがレベルＸ＋１キャッシュにおいて割り当てられたかどうかを示す、レベルＸキャッシュと、
　前記複数の第１キャッシュラインから置換するために選択された第１キャッシュラインが、前記選択された第１キャッシュラインと関連する割り当てビットに基づいて前記レベルＸ＋１キャッシュにおいてキャッシュラインで重複する（redundant）キャッシュラインであるかどうかを決定するように、前記選択された第１キャッシュラインが前記レベルＸ＋１キャッシュにおいてキャッシュラインで重複するキャッシュラインであることを示す前記選択された第１キャッシュラインの前記割り当てビットに応じて前記選択された第１キャッシュラインの前記レベルＸ＋１キャッシュへのキャストアウトを防ぐように、および前記選択された第１キャッシュラインが前記レベルＸ＋１キャッシュに存在しないことを示す割り当てビットに基づいて、前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスの結果として、前記選択された第１キャッシュラインを前記レベルＸ＋１キャッシュにキャストアウトするように構成されたキャストアウトロジック回路であって、前記レベルＸ＋１キャッシュにおいて前記フェッチアドレスをヒットさせる前記アクセスに関するキャッシュラインおよび関連する割り当てビットは、前記レベルＸキャッシュに記憶され、前記関連する割り当てビットは前記キャッシュラインが前記レベルＸ＋１キャッシュに存在することを示す、キャストアウトロジック回路と、
　を備える、
メモリシステム。」
である点で一致するものであり、次の点で相違する。
〈相違点〉
　本願発明は、「前記レベルＸ＋１キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセスに応じて」、「選択された第１キャッシュライン」が「レベルＸ＋１キャッシュにおいてキャッシュラインで重複する（redundant）キャッシュラインであるかどうかを決定」するのに対し、引用例記載の発明は、本願発明の「前記レベルＸ＋１キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセス」に相当する処理（「ステップ７１２」で、要求されたアドレスが拡張キャッシュで「ヒット」と判定される処理）と、本願発明の「選択された第１キャッシュライン」が「レベルＸ＋１キャッシュにおいてキャッシュラインで重複する（redundant）キャッシュラインであるかどうかを決定」することに相当する処理（「ステップ７０６」で、「キャッシュ・アクセス・ロジックは、１次キャッシュの犠牲ラインを読み出し」、「ステップ７０８」で、「ダーティ・ビット（Ｄ）および（または）ファースト・ビット（Ｆ）がセットされているかを判定」する処理）とを、それぞれ備えているものの、両処理が、「前記レベルＸ＋１キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセス
に応じて
　
４．当審の判断
　
〈相違点についての判断〉
　一般的に、情報処理の実行時に、処理効率などを考慮して、個々の処理ステップの順序を適宜入れ替えることは、普通に行われる。
　引用例記載の発明において、ステップ７１２で「拡張キャッシュ」に対する要求されたアドレスのヒットを判定する処理と、ステップ７０６で「１次キャッシュ」に対する「犠牲ライン」の「読み出し」を行い、ステップ７０８で読み出した犠牲ラインに「ダーティ・ビット（Ｄ）および（または）ファースト・ビット（Ｆ）がセットされているかを判定」する処理とは、異なるキャッシュメモリに対する、異なる処理であるから、両者が適宜入れ替え可能であることは明らかである。
　よって、引用例記載の発明において、「ステップ７１２」と、「ステップ７０６、ステップ７０８」との順序を適宜入れ替えることによって、「前記レベルＸ＋１キャッシュにおいてフェッチアドレスをヒットさせるメモリアクセスに応じて」、「選択された第１キャッシュライン」が「レベルＸ＋１キャッシュにおいてキャッシュラインで重複する（redundant）キャッシュラインであるかどうかを決定」するように構成することは、当業者の設計的事項にすぎない。
　したがって、引用例記載の発明において、「ステップ７１２」と、「ステップ７０６、ステップ７０８」との順序を適宜入れ替えることで、相違点に係る構成とすることは、当業者が適宜なし得たことである。 
　さらに、本願発明の効果も、引用例記載の発明及に基づいて、当業者が予測し得る範囲内のものである。 
　
５．むすび
　以上のとおり，本願発明は、引用例記載の発明に基づいて、当業者が容易に発明をすることができたものであるから、特許法第２９条２項の規定により特許を受けることができない。
　したがって、本願は、その余の請求項について論及するまでもなく拒絶するべきものである。
　よって、結論のとおり審決する。