【事件の表示】
　特願２００４−　３６０７７「半導体装置及びそのメモリテスト方法」拒絶査定不服審判事件〔平成１７年　８月２５日出願公開、特開２００５−２２８０３９〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯と本願発明
　本願は、平成１６年２月１３日の出願であって、平成１９年２月１３日付けで拒絶理由の通知がなされ、同年４月１６日付けで意見書が提出されるとともに手続補正がなされたが、同年７月１１日付けで拒絶査定がなされ、これに対し、同年８月１６日に審判請求がなされ、同年９月１４日付けで手続補正がなされたため前置審査に付され、同年１１月２日付けで審査官により前置報告書が作成され、平成２１年８月４日付けで当審より審尋がなされ、同年１０月２日付けで回答書が提出されたものである。
　
 　そして、その請求項６に係る発明（以下「本願発明」という。）は、平成１９年９月１４日付けの手続補正書により補正された特許請求の範囲の請求項６に記載された次のとおりのものと認める。 
「データを格納するデータ用メモリと、前記データに対応するＥＣＣコードを格納するコード用メモリとを含む半導体装置に適用するメモリテスト方法であって、
　前記データ用メモリの全セルに対するビットエラーを検知するためのテストを実行するためのテストパターンを生成するステップと、
　前記テストパターンを前記データ用メモリに出力するステップと、
　所定の条件を満たすハミング行列と前記テストパターンの転置行列とを使用して、前記コード用メモリの全セルに対するビットエラーを検知するためのテスト用ＥＣＣコードとして前記コードデータを生成するステップと、
　前記データ用メモリに書き込まれた前記テストパターン及び前記生成された前記コードデータに基づいて、前記データ用メモリと前記コード用メモリとを同時にテストするステップと
を有する手順を実行するメモリテスト方法。」
　 
　 
２．引用文献
　原査定の拒絶の理由に引用され、本願の出願日前に頒布された刊行物である、特開２００１−０２３３９４号公報(以下「引用文献」という。)には、図面とともに、以下の事項が記載されている（下線は、参考のため、当審において付したものである。以下、同様。）。
　
Ａ．「【００３９】本発明の第１のＥＣＣ回路搭載半導体記憶装置の検査方法は、複数のビットからなるデータに基づいて、複数のビットからなるＥＣＣコードを生成するためのＥＣＣコード生成手段と、上記データの各ビットを記憶するためのデータ記憶手段と、上記ＥＣＣコードの各ビットを記憶するためのＥＣＣコード記憶手段と、上記データ記憶手段のデータと上記ＥＣＣコード記憶手段のＥＣＣコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段とを備えたＥＣＣ回路搭載半導体記憶装置の検査方法であって、
メモリ検査用データと、メモリ検査用データのパターンと同じ種類のパターンを有するメモリ検査用ＥＣＣコードとを生成し、上記データ記憶手段には上記メモリ検査用データを上記ＥＣＣコード記憶手段には上記メモリ検査用ＥＣＣコードを書き込んで、上記データ記憶手段及び上記ＥＣＣコード記憶手段の検査を行なう方法
【００４０】この方法により、別途検査パターンを準備することなくＥＣＣ回路搭載半導体記憶装置の各記憶手段の不良を検出するための種々のパターンを生成して、記憶手段の検査を行なうことができる。
【００４１】上記第１のＥＣＣ回路搭載半導体記憶装置の検査方法において、
上記データ記憶手段及び上記ＥＣＣコード記憶手段にチェッカーパターンを書き込むことにより、各記憶手段の相隣接するメモリセル同士の干渉等による不良を検出する
　
Ｂ．「【００５６】−演算方法−
次に、以上のように構成されたＥＣＣ回路７のＥＣＣコード生成・シンドローム生成・データ訂正動作を示す演算と、これに対応する回路動作とについて説明する。
【００５７】まず、演算方法は、８ビットのデータビットから４ビットのＥＣＣコードを生成する式として、下記式（３）
　Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７　　　　（３）
を使用する。
【００５８】
上記式（３）から、本実施形態のＥＣＣ回路搭載半導体記憶装置が以下のような２つの特徴を有していることが導かれる
　……（中略）……
【００６０】
第２に、８ビットのデータビットのパターンと同じ種類のパターンが４ビットのＥＣＣコードパターンとして生成される。
　（Ｄ０，Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６，Ｄ７）
　　　　　　＝（０，１，０，１，０，１，０，１）
とすると、ＥＣＣコードは、
　（Ｃ０，Ｃ１，Ｃ２，Ｃ３）＝（０，１，０，１）
となり、ＥＣＣコードもチェッカーパターンになる。また、ストライプパターンを生成するためには、「ＡＬＬ０パターン」と「ＡＬＬ１パターン」とを生成する必要があるが、データビットが全て”１”の時ＥＣＣコードも全て”１”になる。」
　
Ｃ．「【００７７】（第２の実施形態）図４は、第２の実施形態に係るＥＣＣ回路搭載半導体記憶装置のメモリセルアレイ５の構成を模式的に示す図である。同図に示すように、
メモリセルアレイ５内は４つのメモリブロック９に分けられており、各メモリブロック９ごとにデータ記憶領域９ａとＥＣＣコード記憶領域９ｂとが設けられている。
【００７８】ここで、
本実施形態においても、第１の実施形態において説明した式（３）を用いて、８ビットのデータから４ビットのＥＣＣコードを生成するものとする。つまり、第１の実施形態と同様に、８ビットのデータパターンから、同じ種類のパターンが４ビットのＥＣＣコードパターンとして生成される
【００７９】このＥＣＣコードパターンは以下の規則性を有している。すなわち、添字が偶数であるＥＣＣコードビットを演算する式に、添字が偶数であるデータビットの奇数個と、添字が奇数であるデータビットの偶数個とを割り当てる。たとえば、ＥＣＣコードにおいて添字が偶数であるビットＣＯには、添字が偶数であるデータビットの奇数個（Ｄ０，Ｄ２，Ｄ６）と、添字が奇数であるデータビットの偶数個（Ｄ１，Ｄ５）とが割り当てられている。一方、添字が奇数であるＥＣＣコードビットを演算する式には、添字が奇数であるデータビットの奇数個と、添字が偶数であるデータビットの偶数個とを割り当てる。たとえば、ＥＣＣコードにおいて添字が奇数であるビットＣ１には、添字が奇数であるデータビットの奇数個（Ｄ１，Ｄ３，Ｄ５）と、添字が偶数であるデータビットの偶数個（Ｄ２，Ｄ４）とが割り当てられている。
【００８０】以上のような規則性に従って生成できる検査パターンにおける具体的なデータビットとＥＣＣコードビットとの対応の例を以下に示す。
【００８１】
パターン名　　　（Ｄ０　　　　　〜　　　　　Ｄ７）（Ｃ０　〜　Ｃ３）
ＡＬＬ０　　　　（０　０　０　０　０　０　０　０）（０　０　０　０）
ＡＬＬ１　　　　（１　１　１　１　１　１　１　１）（１　１　１　１）
チェッカー　　　（０　１　０　１　０　１　０　１）（０　１　０　１）
チェッカーバー　（１　０　１　０　１　０　１　０）（１　０　１　０）
まず、
メモリセルアレイ５内のすべてのメモリセル（データ記憶領域及びＥＣＣコード記憶領域を含む）に“０”のデータを書き込む
メモリセルアレイ５内のすべてのメモリセルに“１”のデータを書き込む
【００８２】次に、メモリセルアレイ５全体にチェッカーパターンを書き込むときには、行番号Ｘ＝０である全てのアドレスの単位ワードブロック２１には“０”から始まり交互に“０”，“１”を繰り返すパターンである部分チェッカーパターンを書き込む。行番号Ｘ＝１である全てのアドレスの単位ワードブロック２１には“１”から始まり交互に“１”，“０”を繰り返すパターンである部分チェッカーバーパターンを書き込む。さらに、行番号Ｘ＝２である全てのアドレスの単位ワードブロック２１には部分チェッカーパターンを書き込む。つまり、
行番号Ｘが偶数であるアドレスの全ての単位ワードブロック２１には部分チェッカーパターンを、行番号Ｘが奇数であるアドレスの全ての単位ワードブロック２１には部分チェッカーバーパターンを書き込む
メモリセルアレイ５の全体にチェッカーパターンを書き込む
【００８３】図５は、上述の手順によって、メモリセルアレイ５の全体にチェッカーパターンが書き込まれた状態を示す図である。」
　
Ｄ．「【００８５】以上のように、本実施形態においては、ＥＣＣコードを生成するために規則として、添字が偶数であるＥＣＣコードビットを演算する式に、添字が偶数であるデータビットの奇数個と、添字が奇数であるデータビットの偶数個とを割り当てる一方、添字が奇数であるＥＣＣコードビットを演算する式には、添字が奇数であるデータビットの奇数個と、添字が偶数であるデータビットの偶数個とを割り当てるようにしている。
これにより、部分チェッカーパターンのデータを利用して部分チェッカーパターンのＥＣＣコードを、部分チェッカーバーパターンのデータを利用して部分チェッカーバーパターンのＥＣＣコードを、部分ＡＬＬ０パターンのデータを利用して部分ＡＬＬ０パターンのＥＣＣコードを、部分ＡＬＬ１パターンのデータを利用して部分ＡＬＬ１パターンのＥＣＣコードをそれぞれ生成することができる。
このような各種のパターンを用いてメモリセルアレイ５中の各メモリセルの検査を行なうことにより、縦横斜め方向に隣接したメモリセル（ビット）間の干渉等の不良を検出することができる
【００８６】従って、第２の実施形態のＥＣＣコードの生成方法によると、
データのパターンを利用して同じ種類のパターンのＥＣＣコードパターンを生成できるので、別途ＥＣＣコード専用の検査パターンを準備しなくても、メモリ検査において、縦横斜め方向に隣接したメモリセル（ビット）間の干渉等の不良を検出することができる
　
Ｅ．図５には、第２の実施形態におけるメモリセルアレイにチェッカーパターンを書き込んだ状態を示す図として、メモリセルアレイ５におけるデータ記憶領域及びＥＣＣコード記憶領域の全体に、チェッカーパターンが書き込まれた状態が示されている。
　
　
ａ．Ｃの「（第２の実施形態）図４は、第２の実施形態に係るＥＣＣ回路搭載半導体記憶装置のメモリセルアレイ５の構成を模式的に示す図である。同図に示すように、メモリセルアレイ５内は４つのメモリブロック９に分けられており、各メモリブロック９ごとにデータ記憶領域９ａとＥＣＣコード記憶領域９ｂとが設けられている。」から、引用文献には、データを記憶するデータ記憶領域と、ＥＣＣコードを記憶するＥＣＣコード記憶領域とが設けられたメモリセルアレイが記載されている。このとき、前記ＥＣＣコード記憶領域に記憶される前記ＥＣＣコードは、前記データ記憶領域に記憶されるデータに対応していることは、自明である。
　Ａの「メモリ検査用データと、メモリ検査用データのパターンと同じ種類のパターンを有するメモリ検査用ＥＣＣコードとを生成し、上記データ記憶手段には上記メモリ検査用データを上記ＥＣＣコード記憶手段には上記メモリ検査用ＥＣＣコードを書き込んで、上記データ記憶手段及び上記ＥＣＣコード記憶手段の検査を行なう方法」において、「データ記憶手段」及び「ＥＣＣコード記憶手段」は、それぞれ、前記データ記憶領域及び前記ＥＣＣコード記憶領域を指すことは明らかである。したがって、引用文献には、メモリ検査用データのパターンをデータ記憶領域に、メモリ検査用ＥＣＣコードのパターンをＥＣＣコード記憶領域に、それぞれ、書き込んで、前記データ記憶領域及び前記ＥＣＣコード記憶領域の検査を行う検査方法、が記載されている。
　そして、Ｄの「第２の実施形態のＥＣＣコードの生成方法によると、データのパターンを利用して同じ種類のパターンのＥＣＣコードパターンを生成できるので、別途ＥＣＣコード専用の検査パターンを準備しなくても、メモリ検査において、縦横斜め方向に隣接したメモリセル（ビット）間の干渉等の不良を検出することができる」から、「第２の実施形態」において、「データ」のパターンと「ＥＣＣコード」パターンを用いて「メモリ検査」を行うことが記載されている。ここで、「メモリ検査」を行う以上、前記「データ」のパターンと「ＥＣＣコード」パターンは、前記メモリセルアレイの前記各領域に記憶されて「メモリ検査」されることは、明らかである。すなわち、この「第２の実施形態」では、「メモリ検査」の前記検査方法は、前記メモリセルアレイに適用されると解される。
　してみれば、引用文献には、
　データを記憶するデータ記憶領域と、前記データに対応するＥＣＣコードを記憶するＥＣＣコード記憶領域とが設けられたメモリセルアレイに適用する検査方法、
が記載されている。
　
ｂ．Ｃの「メモリセルアレイ５内のすべてのメモリセル（データ記憶領域及びＥＣＣコード記憶領域を含む）に“０”のデータを書き込むときには、メモリセルアレイ５内の全てのアドレスのデータビット（又はＥＣＣコードビット）を全て“０”として書き込みを行う。次に、メモリセルアレイ５内のすべてのメモリセルに“１”のデータを書き込むときには、メモリセルアレイ５内の全てのアドレスのデータビット（又はＥＣＣコードビット）を全て“１”として書き込みを行う。」、「行番号Ｘが偶数であるアドレスの全ての単位ワードブロック２１には部分チェッカーパターンを、行番号Ｘが奇数であるアドレスの全ての単位ワードブロック２１には部分チェッカーバーパターンを書き込むことにより、メモリセルアレイ５の全体にチェッカーパターンを書き込むことができる。」から、引用文献には、ＥＣＣ回路搭載半導体記憶装置の、データ記憶領域及びＥＣＣコード記憶領域を含むすべてのメモリセルに、全て“０”、全て“１”、チェッカーパターン、のいずれか１つのパターンを書き込むことが記載されている。
　そして、データ記憶領域及びＥＣＣコード記憶領域を含むすべてのメモリセルに、全て“０”、全て“１”、チェッカーパターン、のいずれか１つのパターンを書き込む以上は、該書き込みを行う前に、前記いずれか１つのパターンを生成することは明らかである。
　
　また、Ｅの図示態様、Ｃの「メモリセルアレイ５内のすべてのメモリセル（データ記憶領域及びＥＣＣコード記憶領域を含む）に“０”のデータを書き込む」、「メモリセルアレイ５の全体にチェッカーパターンを書き込む」、Ｄの「これにより、部分チェッカーパターンのデータを利用して部分チェッカーパターンのＥＣＣコードを、部分チェッカーバーパターンのデータを利用して部分チェッカーバーパターンのＥＣＣコードを、部分ＡＬＬ０パターンのデータを利用して部分ＡＬＬ０パターンのＥＣＣコードを、部分ＡＬＬ１パターンのデータを利用して部分ＡＬＬ１パターンのＥＣＣコードをそれぞれ生成することができる。」から、前記全て“０”、全て“１”、チェッカーパターン、のいずれか１つのパターンは、メモリ検査用データのパターン及びメモリ検査用ＥＣＣコードのパターンとして、それぞれ、データ記憶領域とＥＣＣコード記憶領域とに書き込まれると認められる。
　そして、前記Ｄの「これにより、部分チェッカーパターンのデータを利用して部分チェッカーパターンのＥＣＣコードを、部分チェッカーバーパターンのデータを利用して部分チェッカーバーパターンのＥＣＣコードを、部分ＡＬＬ０パターンのデータを利用して部分ＡＬＬ０パターンのＥＣＣコードを、部分ＡＬＬ１パターンのデータを利用して部分ＡＬＬ１パターンのＥＣＣコードをそれぞれ生成することができる。」から、ＥＣＣコード記憶領域に書き込まれる前記メモリ検査用ＥＣＣコードのパターンは、前記メモリ検査用データのパターンから生成されるものである。
　
　以上を考慮すれば、引用文献においては、データ記憶領域及びＥＣＣコード記憶領域を含むすべてのメモリセルに、全て“０”、全て“１”、チェッカーパターン、のいずれか１つのパターンを書き込むためにメモリ検査用データのパターンを生成し、その後、前記メモリ検査用データのパターンと、前記メモリ検査用データのパターンから生成したメモリ検査用ＥＣＣコードのパターンとを、それぞれ、データ記憶領域とＥＣＣコード記憶領域に書き込むことは、明らかである。
　
　Ｃの「本実施形態においても、第１の実施形態において説明した式（３）を用いて、８ビットのデータから４ビットのＥＣＣコードを生成する」及び「パターン名　　　（Ｄ０　　　　　〜　　　　　Ｄ７）（Ｃ０　〜　Ｃ３）」、Ｂの「演算方法は、８ビットのデータビットから４ビットのＥＣＣコードを生成する式として、下記式（３）
　Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７　　　　（３）
を使用する。」から、前記メモリ検査用データのパターンからの前記メモリ検査用ＥＣＣコードのパターンの生成は、
　Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７
（Ｄ０〜Ｄ７：メモリ検査用データのパターン、Ｃ０〜Ｃ３：メモリ検査用ＥＣＣコードのパターン）という式を使用して行われるものである。
　そして、Ａの「上記データ記憶手段及び上記ＥＣＣコード記憶手段にチェッカーパターンを書き込むことにより、各記憶手段の相隣接するメモリセル同士の干渉等による不良を検出する」、Ｄの「このような各種のパターンを用いてメモリセルアレイ５中の各メモリセルの検査を行なうことにより、縦横斜め方向に隣接したメモリセル（ビット）間の干渉等の不良を検出することができる」から、前記メモリ検査用データのパターン及び前記生成されたメモリ検査用ＥＣＣコードのパターンは、相隣接するメモリセル同士の干渉等による不良を検出するためのパターンである。さらに、前記メモリ検査用データのパターン及び前記生成されたメモリ検査用ＥＣＣコードのパターンは、先に述べた通り、ＥＣＣ回路搭載半導体記憶装置の、データ記憶領域及びＥＣＣコード記憶領域を含むすべてのメモリセルに書き込まれるものである。してみれば、前記メモリ検査用データのパターン及び前記生成されたメモリ検査用ＥＣＣコードのパターンは、前記データ記憶領域及びＥＣＣコード記憶領域を含むすべてのメモリセルにおける、相隣接するメモリセル同士の干渉等による不良を検出するためのパターンであると解される。
　
　以上から、引用文献には、
　データ記憶領域及びＥＣＣコード記憶領域を含むすべてのメモリセルに、全て“０”、全て“１”、チェッカーパターン、のいずれか１つのパターンを書き込むためにメモリ検査用データのパターンを生成し、
　その後、前記メモリ検査用データのパターン、及び、
　Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７
（Ｄ０〜Ｄ７：メモリ検査用データのパターン、Ｃ０〜Ｃ３：メモリ検査用ＥＣＣコードのパターン）という式を使用して前記メモリ検査用データのパターンから生成したメモリ検査用ＥＣＣコードのパターンを、前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルにおける相隣接するメモリセル同士の干渉等による不良を検出するためのパターンとして、それぞれ、前記データ記憶領域及び前記ＥＣＣコード記憶領域に書き込む、
ことが記載されていると解される。
　
ｃ．Ｄの「データのパターンを利用して同じ種類のパターンのＥＣＣコードパターンを生成できるので、別途ＥＣＣコード専用の検査パターンを準備しなくても、メモリ検査において、縦横斜め方向に隣接したメモリセル（ビット）間の干渉等の不良を検出することができる」から、前記データ記憶領域に書き込まれたメモリ検査用データのパターン及び前記メモリ検査用データのパターンから生成されてＥＣＣコード記憶領域に書き込まれたメモリ検査用ＥＣＣコードのパターンを利用して、メモリ検査を行うことが記載されている。
　そして、Ａの「上記データ記憶手段には上記メモリ検査用データを上記ＥＣＣコード記憶手段には上記メモリ検査用ＥＣＣコードを書き込んで、上記データ記憶手段及び上記ＥＣＣコード記憶手段の検査を行なう方法である」から、前記メモリ検査は、前記データ記憶手段及び上記ＥＣＣコード記憶手段の検査を行なう検査である。
　したがって、引用文献には、
　前記データ記憶領域に書き込まれたメモリ検査用データのパターン及び前記メモリ検査用データのパターンから生成されてＥＣＣコード記憶領域に書き込まれたメモリ検査用ＥＣＣコードのパターンを利用して、前記データ記憶領域及び前記ＥＣＣコード記憶領域のメモリ検査を行う、
ことが記載されている。
　
　
　以上、ａ〜ｃから、引用文献には、次の発明(以下「引用発明」という。)が記載されているものと認められる。
　
　データを記憶するデータ記憶領域と、前記データに対応するＥＣＣコードを記憶するＥＣＣコード記憶領域とが設けられたメモリセルアレイに適用する検査方法であって、
　前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルに、全て“０”、全て“１”、チェッカーパターン、のいずれか１つのパターンを書き込むためにメモリ検査用データのパターンを生成し、
　その後、前記メモリ検査用データのパターン、及び、
　Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７
（Ｄ０〜Ｄ７：メモリ検査用データのパターン、Ｃ０〜Ｃ３：メモリ検査用ＥＣＣコードのパターン）という式を使用して前記メモリ検査用データのパターンから生成したメモリ検査用ＥＣＣコードのパターンを、前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルにおける相隣接するメモリセル同士の干渉等による不良を検出するためのパターンとして、それぞれ、前記データ記憶領域及び前記ＥＣＣコード記憶領域に書き込み、
　前記データ記憶領域に書き込まれた前記メモリ検査用データのパターン及び前記メモリ検査用データのパターンから生成されて前記ＥＣＣコード記憶領域に書き込まれた前記メモリ検査用ＥＣＣコードのパターンを利用して、前記データ記憶領域及び前記ＥＣＣコード記憶領域のメモリ検査を行う、
検査方法。
　
　
３．対比 
　本願発明と引用発明とを比較する。
　
　引用発明の「データ記憶領域」及び「ＥＣＣコード記憶領域」は、それぞれ、本願発明の「データ用メモリ」及び「コード用メモリ」に相当する。
　また、引用発明の「メモリセルアレイ」は、半導体記憶装置に他ならないから、本願発明の「半導体装置」に相当する。
　したがって、引用発明の「データを記憶するデータ記憶領域と、前記データに対応するＥＣＣコードを記憶するＥＣＣコード記憶領域とが設けられたメモリセルアレイに適用する検査方法」は、本願発明の「データを格納するデータ用メモリと、前記データに対応するＥＣＣコードを格納するコード用メモリとを含む半導体装置に適用するメモリテスト方法」に相当する。
　
　方法発明である引用発明は、「前記データ記憶領域及び……メモリ検査用データのパターンを生成し」の手順、「その後、前記メモリ検査用データのパターン……前記ＥＣＣコード格納領域に書き込み」の手順、及び、「前記データ記憶領域に書き込まれた……メモリ検査を行う」の手順という、３つの手順からなるものである。
　そして、最初の「前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルに、全て“０”、全て“１”、チェッカーパターン、のいずれか１つのパターンを書き込むためにメモリ検査用データのパターンを生成し」の手順において、「メモリ検査用データのパターン」は、「前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルに、全て“０”、全て“１”、チェッカーパターン、のいずれか１つのパターンを書き込むため」のものである以上、「メモリ検査用」の「すべてのメモリセルにおける相隣接するメモリセル同士の干渉等による不良を検出するためのパターン」の１つあると解される。そして、前記「相隣接するメモリセル同士の干渉等による不良」はビットエラーとして検出されることは自明である。してみれば、引用発明の「メモリ検査用データのパターン」は、「前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセル」におけるビットエラーを検出するための「メモリ検査用データのパターン」であると認められる。
　そして、本願発明の「テストパターン」は、「データ用メモリに出力」されるものであるから、データのパターンである。したがって、引用発明の「メモリ検査用データのパターン」は、本願発明の「テストパターン」に相当する。また、引用発明の上記「前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセル」におけるビットエラーは、本願発明の「前記データ用メモリの全セルに対するビットエラー」を包含する。
　したがって、引用発明の「前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルに、全て“０”、全て“１”、チェッカーパターン、のいずれか１つのパターンを書き込むためにメモリ検査用データのパターンを生成し」の手順は、本願発明の「前記データ用メモリの全セルに対するビットエラーを検知するためのテストを実行するためのテストパターンを生成するステップ」に相当する。
　
　引用発明においては、「前記メモリ検査用データのパターン」は、「前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルにおける相隣接するメモリセル同士の干渉等による不良を検出するためのパターン」として「前記データ記憶領域」に「書き込み」されるものである。
　これに対して、本願発明は「前記テストパターンを前記データ用メモリに出力する」ものである。しかし、本願発明において、「前記テストパターン」は「テスト」の語が冠されている以上、「テスト」によりエラーを検知するための「パターン」として「出力」されることは明らかである。
　してみれば、引用発明において、「前記メモリ検査用データのパターン」を、「前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルにおける相隣接するメモリセル同士の干渉等による不良を検出するためのパターン」として「前記データ記憶領域」に「書き込み」をすることと、本願発明の「前記テストパターンを前記データ用メモリに出力するステップ」とは、テストパターンをデータ用メモリに出力する処理手順である点で一致する。
　
　上述の通り、引用発明の「前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルにおける相隣接するメモリセル同士の干渉等による不良を検出する」ことは、「前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセル」におけるビットエラーを検出することを意味すると認められる。
　また、引用発明の「メモリ検査用ＥＣＣコードのパターン」は、本願発明の「テスト用ＥＣＣコード」、及び、該「テスト用ＥＣＣコード」としての「コードデータ」に相当する。
　引用発明において、
「Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７
（Ｄ０〜Ｄ７：メモリ検査用データのパターン、Ｃ０〜Ｃ３：メモリ検査用ＥＣＣコードのパターン）という式」は、「前記メモリ検査用データのパターンから」「メモリ検査用ＥＣＣコードのパターンを」生成するための計算式である。
　これに対して、本願発明の「所定の条件を満たすハミング行列と前記テストパターンの転置行列」は、「テスト用ＥＣＣコードとして前記コードデータを生成する」ために使用される計算式の項である。
　したがって、引用発明において、
「Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７
（Ｄ０〜Ｄ７：メモリ検査用データのパターン、Ｃ０〜Ｃ３：メモリ検査用ＥＣＣコードのパターン）という式を使用して前記メモリ検査用データのパターンから生成したメモリ検査用ＥＣＣコードのパターン」を「前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルにおける相隣接するメモリセル同士の干渉等による不良を検出するためのパターン」とすることと、本願発明の「所定の条件を満たすハミング行列と前記テストパターンの転置行列とを使用して、前記コード用メモリの全セルに対するビットエラーを検知するためのテスト用ＥＣＣコードとして前記コードデータを生成するステップ」とは、所定の計算式を使用して、前記コード用メモリの全セルに対するビットエラーを検知するためのテスト用ＥＣＣコードとして前記コードデータを生成する処理手順である点で一致する。
　
　引用発明は「前記データ記憶領域に書き込まれた前記メモリ検査用データのパターン及び前記メモリ検査用データのパターンから生成されて前記ＥＣＣコード記憶領域に書き込まれた前記メモリ検査用ＥＣＣコードのパターンを利用して、前記データ記憶領域及び前記ＥＣＣコード記憶領域のメモリ検査を行う」ものである。
　これに対して、本願発明は「前記データ用メモリに書き込まれた前記テストパターン及び前記生成された前記コードデータに基づいて、前記データ用メモリと前記コード用メモリとを同時にテストする」ものである。ここで、如何なる構成によって、本願発明は「前記データ用メモリと前記コード用メモリとを同時にテストする」ことができるのか、本願特許請求の範囲の請求項６の記載からでは、必ずしも明確でない。そこで、本願明細書の発明の詳細な説明の記載を参酌すると、
「【００１８】
（メモリテスト方法）
  本実施形態の半導体装置１は、ＢＩＳＴロジック回路であるテスト回路１４により、データメモリ１０のメモリテストを実行するときに、コードメモリ１１のメモリテストを同時に実行する。
【００１９】
  これを実現するために、ＥＣＣ回路１２は、テスト回路１４により生成されたテストパターンをデータメモリ１０に書き込むときに、当該テストパターンに対応するコードデータを生成する。ＥＣＣ回路１２は、適切なハミング行列Ｈ（ハミングコード）を使用して、コードデータ（ＥＣＣ）を生成する生成ロジックにより、テストパターンからエラー検知機能を有するコードデータを生成して、コードメモリ１１に出力する（図２を参照）。」と記載されている。
　したがって、本願発明が「前記データ用メモリと前記コード用メモリとを同時にテストする」ことができるのは、「前記データ用メモリ」に「前記テストパターン」を「書き込」むときに、「前記テストパターン」から「生成された前記コードデータ」をコード用メモリに出力することで、該「生成された前記コードデータに基づ」く「テスト」の際には、前記データ用メモリと前記コード用メモリとに、既に、テストパターンとコードデータとがそれぞれ格納されているからであると、本願特許請求の範囲の請求項６の記載から解される。
　してみれば、「前記データ記憶領域に書き込まれた前記メモリ検査用データのパターン及び前記メモリ検査用データのパターンから生成されて前記ＥＣＣコード記憶領域に書き込まれた前記メモリ検査用ＥＣＣコードのパターンを利用」する引用発明においても、前記データ記憶領域及び前記ＥＣＣコード記憶領域のメモリ検査を同時に行うものと認められる。
　よって、引用発明の「前記データ記憶領域に書き込まれた前記メモリ検査用データのパターン及び前記メモリ検査用データのパターンから生成されて前記ＥＣＣコード記憶領域に書き込まれた前記メモリ検査用ＥＣＣコードのパターンを利用して、前記データ記憶領域及び前記ＥＣＣコード記憶領域のメモリ検査を行う」の手順は、本願発明の「前記データ用メモリに書き込まれた前記テストパターン及び前記生成された前記コードデータに基づいて、前記データ用メモリと前記コード用メモリとを同時にテストするステップ」に相当する。
　
　以上から、本願発明と引用発明とは、以下の点で一致し、また、以下の点で相違する。
　
（一致点）
　データを格納するデータ用メモリと、前記データに対応するＥＣＣコードを格納するコード用メモリとを含む半導体装置に適用するメモリテスト方法であって、
　前記データ用メモリの全セルに対するビットエラーを検知するためのテストを実行するためのテストパターンを生成するステップと、
　前記テストパターンを前記データ用メモリに出力する処理手順と、所定の計算式を使用して、前記コード用メモリの全セルに対するビットエラーを検知するためのテスト用ＥＣＣコードとしてコードデータを生成する処理手順と、
　前記データ用メモリに書き込まれた前記テストパターン及び前記生成された前記コードデータに基づいて、前記データ用メモリと前記コード用メモリとを同時にテストするステップと、
を有する手順を実行するメモリテスト方法。
　
（相違点１）
　前記テストパターンを前記データ用メモリに出力する処理手順と、所定の計算式を使用して、前記コード用メモリの全セルに対するビットエラーを検知するためのテスト用ＥＣＣコードとしてコードデータを生成する処理手順とを、
　引用発明においては、「メモリ検査用データのパターン」を「データ記憶領域」に「書き込」む処理と、「前記メモリ検査用データのパターンから生成したメモリ検査用ＥＣＣコードのパターン」を「ＥＣＣコード記憶領域に書き込」む処理とを一体的に１つのステップで実行するのか、先に「メモリ検査用データのパターン」を「データ記憶領域」の「書き込」む処理をステップとして実行し、その後、「前記メモリ検査用データのパターンから生成したメモリ検査用ＥＣＣコードのパターン」を「ＥＣＣコード記憶領域に書き込」む処理をステップとして実行するのか、不明であるのに対して、
　本願発明においては、「前記テストパターンを前記データ用メモリに出力するステップ」を実行した後に「所定の条件を満たすハミング行列と前記テストパターンの転置行列とを使用して、前記コード用メモリの全セルに対するビットエラーを検知するためのテスト用ＥＣＣコードとして前記コードデータを生成するステップ」を実行している点。
　
（相違点２）
　「コードデータを生成する」ための所定の計算式は、
　引用発明においては、
「Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７
（Ｄ０〜Ｄ７：メモリ検査用データのパターン、Ｃ０〜Ｃ３：メモリ検査用ＥＣＣコードのパターン）という式」であるのに対して、
　本願発明においては、「所定の条件を満たすハミング行列と前記テストパターンの転置行列とを使用」する計算式である点。
　
　
４．判断 
（相違点１及び２について）
　引用発明において、「前記メモリ検査用データのパターン、及び、
　Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７
（Ｄ０〜Ｄ７：メモリ検査用データのパターン、Ｃ０〜Ｃ３：メモリ検査用ＥＣＣコードのパターン）という式を使用して前記メモリ検査用データのパターンから生成したメモリ検査用ＥＣＣコードのパターンを、前記データ記憶領域及び前記ＥＣＣコード記憶領域を含むすべてのメモリセルにおける相隣接するメモリセル同士の干渉等による不良を検出するためのパターンとして、それぞれ、前記データ記憶領域及び前記ＥＣＣコード記憶領域に書き込」む、という処理は、ソフトウェア的な制御のもとでなされることは明らかである。
　そして、ソフトウェアの処理として見れば、「メモリ検査用データのパターン」を「データ記憶領域」に「書き込」む処理と、「前記メモリ検査用データのパターンから生成したメモリ検査用ＥＣＣコードのパターン」を「ＥＣＣコード記憶領域に書き込」む処理とを一体的に１つのステップで実行するのか、先に「メモリ検査用データのパターン」を「データ記憶領域」の「書き込」む処理をステップとして実行し、その後、「前記メモリ検査用データのパターンから生成したメモリ検査用ＥＣＣコードのパターン」を「ＥＣＣコード記憶領域に書き込」む処理をステップとして実行するかは、当業者が適宜選択可能な事項にすぎない。
　
　ところで、引用発明は、「前記メモリ検査用データのパターン」から「メモリ検査用ＥＣＣコードのパターン」を生成するための計算式として、
「Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７
（Ｄ０〜Ｄ７：メモリ検査用データのパターン、Ｃ０〜Ｃ３：メモリ検査用ＥＣＣコードのパターン）という式」を「使用」している。
　上記の式を見ると、Ｄ０〜Ｄ７の各項を左詰して表記するのではなく、ことさら、Ｄ０〜Ｄ７の項を０〜７の添え字毎にずらして表記されている。
　したがって、上記の式を、  　
という、行列の積の形に変形して実行することが示唆されていることは明らかである。
　
　そして、橋本 清 著、「情報・符号理論入門」、第１版第６刷、森北印刷株式会社、１９９７年３月３日、第７６頁第６〜７行に、「全零ベクトル以外のすべての異なるｍ次元列ベクトルを検査行列として持つ線形符号をハミング符号(Hamming code)と呼ぶ．」と記載されているが、前記行列の積の形に変形した場合の４行８列の行列は、前記「全零ベクトル以外のすべての異なるｍ次元列ベクトル」を持つという定義に合致している。したがって、前記行列の積の形に変形した場合の４行８列の行列は、ハミング符号の検査行列と言いうるものである。
　さらに、本願出願日前に頒布された刊行物である、特開平１１−０１６３８９号公報には、
ア．「【００３４】上記構成の半導体記憶装置において、
入力データ信号ＤＡ0〜ＤＡ31をメモリセルアレイ３に記憶する場合、誤り訂正に用いるパリティ信号ＰＡ0〜ＰＡ5をパリティ作成回路２により作成する。
図３(A)に示すハミング行列Ｈを用いてパリティ部分ＰＡ0〜ＰＡ5および反転パリティ部分ＰＢ0〜ＰＢ5を作成する。
ハミング行列Ｈの各行の値(“１”,”０”)と入力データ信号ＤＡ0〜ＤＡ31とをmod２の積(図３(B)において“*”で示す)およびmod２の和(図３(B)において“+”で示す)の演算を夫々行って、６ビットのパリティ信号ＰＡ0〜ＰＡ5を得る
イ．図３(Ａ)及び(Ｂ)には、６ビットのパリティ信号ＰＡ0〜ＰＡ5を、前記定義に合致する６行３２列のハミング行列と、入力データ信号ＤＡ0〜ＤＡ31を要素する３２行１列の行ベクトルの積で計算することが、図示されている。
　すなわち、半導体記憶装置において、誤り検出訂正に用いるパリティ信号を、ハミング行列と入力データ信号の行ベクトルの積で計算することは、周知技術であった。
　
　ところで、本願発明は「所定の条件を満たすハミング行列と前記テストパターンの転置行列とを使用」する。ここで、前記「テストパターンの転置行列」の語の意味について、本願明細書の発明の詳細な説明の記載を参酌すると、段落【００５０】に「ＥＣＣ回路１２が使用するハミング行列Ｈは、図４に示すように、（ｎ×ｍ＝８×５）行列からなる。即ち、コードメモリ１１に格納されるコードデータのビット幅は、５ビットの場合である。従って、データビットｗは、（１×８）行列として表されて、コードビットＳは、（１×５）行列として表される。」と記載されている。したがって、前記「テストパターンの転置行列」とは、元々は列ベクトルとして表されるテストパターンを転置して、行ベクトルとして表した行列を意味すると認められる。
　
　してみれば、引用発明が、
「Ｃ０＝Ｄ０＋Ｄ１＋Ｄ２　　　　　　＋Ｄ５＋Ｄ６
　Ｃ１＝　　　Ｄ１＋Ｄ２＋Ｄ３＋Ｄ４＋Ｄ５
　Ｃ２＝Ｄ０　　　＋Ｄ２＋Ｄ３＋Ｄ４　　　　　　＋Ｄ７
　Ｃ３＝Ｄ０＋Ｄ１　　　＋Ｄ３　　　　　　＋Ｄ６＋Ｄ７
（Ｄ０〜Ｄ７：メモリ検査用データのパターン、Ｃ０〜Ｃ３：メモリ検査用ＥＣＣコードのパターン）という式」を使用して、「メモリ検査用ＥＣＣコードのパターン」を「メモリ検査用データのパターン」から「生成」するものである以上、前記「全零ベクトル以外のすべての異なるｍ次元列ベクトル」を持つという「所定の条件」を満たすハミング行列と、前記「メモリ検査用データのパターン」を転置して行ベクトル化したものを項とする計算式を使用して、前記「メモリ検査用ＥＣＣコードのパターン」を生成することは、当業者であれば、当然になし得た事項にすぎない。
　
　以上から、引用発明において、前記テストパターンを前記データ用メモリに出力する処理手順と、所定の計算式を使用して、前記コード用メモリの全セルに対するビットエラーを検知するためのテスト用ＥＣＣコードとしてコードデータを生成する処理手順とを、先に「メモリ検査用データのパターン」を「データ記憶領域」の「書き込」む処理をステップとして実行し、その後、「前記メモリ検査用データのパターンから生成したメモリ検査用ＥＣＣコードのパターン」を「ＥＣＣコード記憶領域に書き込」む処理をステップとして実行するとともに、前記「メモリ検査用ＥＣＣコードのパターン」の「生成」には、「全零ベクトル以外のすべての異なるｍ次元列ベクトル」を持つという「所定の条件」を満たすハミング行列と、前記「メモリ検査用データのパターン」を転置して行ベクトル化したものを項とする計算式を使用することは、当業者が容易に想到し得たものと認められる。
　
　したがって、相違点１及び相違点２は格別のものではない。
　
　以上のとおりであるから、相違点１及び相違点２は、いずれも格別のものではなく、また、本願発明によってもたらされる効果も、当業者であれば予測可能なものにすぎないものであり、格別のものとは認められない。
　 
　 
５．まとめ 
　以上のとおり、本願発明は、引用発明に基づいて、当業者が容易に発明をすることができたものであるので、特許法第２９条第２項の規定により特許を受けることができない。
　
　よって、結論のとおり、審決する。