【事件の表示】
　特願２００７−３３９９７７「フラッシュメモリ装置のＥＣＣ制御器及びそれを含むメモリシステム」拒絶査定不服審判事件〔平成２０年　７月１７日出願公開、特開２００８−１６５８０５〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１　手続きの経緯・本願発明
　本願は、平成１９年１２月２８日（パリ条約による優先権主張、２００７年１月３日、韓国）の出願であり、平成２５年１月３０日付けで拒絶査定がなされ、それに対して同年６月５日に拒絶査定不服の審判請求がされ、同時に手続補正がされたものであって、その請求項１に係る発明は、平成２５年６月５日付けの手続補正により補正された明細書及び図面の記載からみて、その特許請求の範囲の請求項１に記載された次のとおりのものと認める。（以下、「本願発明」という。）
「【請求項１】
　Ｍビットのデータ（Ｍは２以上の正数）を格納するフラッシュメモリ装置のＥＣＣ制御器に於いて、
　第１エラー訂正方式によって前記フラッシュメモリ装置に格納されるプログラムのデータから第１ＥＣＣデータを生成する第１ＥＣＣブロックと、第２エラー訂正方式によって前記第１ＥＣＣブロックから出力される第１ＥＣＣデータ及び前記プログラムのデータから第２ＥＣＣデータを生成する第２ＥＣＣブロックを含み、
　前記プログラムのデータと、前記第１ＥＣＣデータと、前記第２ＥＣＣデータは前記フラッシュメモリ装置に格納され、
　前記ＥＣＣ制御器は、ホストの要求によってフラッシュメモリ装置を制御するメモリ制御器内に設けられるとともに、ホストインタフェース及びフラッシュインタフェースとは別異に設けられ、
　前記第２ＥＣＣブロックは、前記フラッシュメモリ装置から読み出された読み出しデータに含まれた第２ＥＣＣデータを利用して前記読み出しデータをデコードし、前記第１ＥＣＣブロックは前記第２ＥＣＣブロックから出力される前記読み出しデータに含まれた第１ＥＣＣデータを利用して前記読み出しデータのエラーを訂正する様に構成される
　ことを特徴とするＥＣＣ制御器。」
　　　
第２　引用文献
　原査定の拒絶の理由に引用された特開平１１−１４３７８７号公報（以下、「引用文献」という。）には、図面とともに次の記載がある。
（ア）「【発明が解決しようとする課題】従来のフラッシュメモリではメモリ１素子に対し、1ビットを対応させていた。このため読み出しの際にドレイン電流から区別すべきVthは1素子あたり2つであり、Vth間の間隔を充分にとることが出来た。しかし近年、フラッシュメモリを用いたファイルシステムに対する大容量化、低コスト化の要求から、1素子に対して2ビット以上を対応させる必要性が出てきた。このことは読み出しの際にドレイン電流から区別すべきVthが1素子あたり4つ以上になることを示す。このため各Vth間の間隔は狭くなり、メモリ素子からのデータ読み出しエラーは必然的に増加する。
【００１１】この場合に、必要とされるビット誤り訂正不能率をメモリチップ単体で満たすためにメモリチップ内部の符号／復号回路に、より強力なECCを用いる事が要求される。
【００１２】しかし、このようにすると、符号／復号回路がより複雑になり、復号時間が長くなる。またメモリチップの符号／復号回路規模が大きくなることにより、メモリチップにおける符号／復号回路の占める割合が増加し、メモリ実装面積が減少することにより、多値記録化によるメモリ容量増加のメリットが生かせない。
【００１３】また、ファイルシステムとして使用するときに要求されるビット誤り訂正不能率は、メモリチップ単体に必要とされるビット誤り訂正不能率よりも一般に低い。
【００１４】そこで、従来のメモリチップ内の、符号／復号回路の外側に更に符号／復号回路を設け、ファイルシステムとしての誤り訂正不能率を低くすることも考えられる。
【００１５】しかし、メモリチップ内の符号／復号回路の他に、これと独立して符号／復号を行う符号／復号回路を外側に設けると、ECCに必要な冗長データが増加し、メモリチップにおける情報データの格納効率はきわめて低くなる。
【００１６】そこで、本発明は、メモリチップ内の符号／復号回路を大規模化することなく、ファイルシステムなどとして使用される記録再生装置に用いる場合にも、記録再生装置として要求される誤り訂正不能率を満足することのできるメモリチップ及び記録再生装置を提供することを課題とする。」（段落【００１０】〜【００１６】）
　　
（イ）「【課題を解決するための手段】前記目的達成のために、本発明は、メモリを内蔵したメモリチップを用いた記録再生装置であって、前記記憶再生装置は、前記メモリチップの外部に、記憶対象の情報データを誤り訂正符号化し第1の誤り訂正符号を生成する外符号/復号回路を備え、前記メモリチップは、外符号/復号回路が生成した第1の誤り訂正符号を、さらに、誤り訂正符号化し第２の誤り訂正符号を生成し、前記メモリに記憶する内符号/復号回路を内蔵し、前記内符号/復号回路は、前記メモリより読み出した第２の誤り訂正符号を用いて誤り訂正を行い、前記第1の誤り訂正符号を復号し、前記外符号/復号回路は、前記内符号/復号回路が復号した第1の誤り訂正符号を用いて誤り訂正を行い、前記情報データ復号することを特徴とする記憶再生装置を提供する。
【００１８】本記憶装再生置によれば、メモリチップ内部の内符号／復号回路と、メモリチップ外部の内符号/復号回路が各々誤り訂正符号、復号を行う。すなわち、2重に誤り訂正処理が施されるので、メモリチップから読み出したデータの強力な誤り訂正能力を発揮できる。また、この際、メモリチップ内部の内符号／復号回路は、単独で、本記憶再生装置の誤り不能率を達成する場合に比べ小規模化できる。」（段落【００１７】〜【００１８】）
　　
（ウ）「【００２３】図１においてメモリ103はデータの記録あるいは再生を行う記録媒体、メモリチップ102は、メモリ103と内符号／復号回路104とを含むチップである。外符号／復号回路105はインターフェースLSI106内にあって、外符号生成や外符号検出及びデータの訂正を行う回路である。インターフェースLSI106はフラッシュメモリ103を使用したファイルシステム101におけるシステムバス109とのインターフェース制御を行うLSIである。
【００２４】より具体的には、本実施形態に係るファイルシステムは、たとえば、図２に示すように構成することができる。
【００２５】図２において、フラッシュメモリ502は、図1のメモリチップ１０２に相当し、図1のメモリ１０３に相当する記録媒体と、図1の内符号／復号回路１０４に相当するECC回路を備えている。インターフェースLSI503はフラッシュメモリ502を使用したファイルシステム501におけるシステムバス506とのインターフェース制御を行うLSIであり、図１のインタフェースLSI１０６に相当する。インターフェースLSI503内のECC回路5031は図1の外符号／復号回路１０５に相当する。
【００２６】マイコン504はシステムバスを通じて送られてきた命令を解釈し、解釈結果に応じてフラッシュメモリ502へのデータ読み込み及び書込み(Read／Write 、以下Ｒ／Ｗ)、及びDRAM505へのデータＲ／Ｗを制御する中央処理装置(CPU5041)をやROM5042やRAM５０４３を備えており、ファイルシステム501のコントローラの役割を担っている。DRAM505はフラッシュメモリ502のデータを、インターフェースLSI503内のECC回路5031に渡す際、データのバッファの役目を担う補助メモリである。
【００２７】これらの各部は、制御信号線、アドレスバス、データバスによって接続されている。
【００２８】ここで、図2のインターフェースLSI503は、たとえば、図３に示すように構成される。
【００２９】図３において、システムインターフェース部601はシステムバスを通じて送受する命令及びデータの制御を行う。マイコンインターフェース部602はマイコン504との間で送受する命令及びデータの制御を行う。DRAM制御部603は、DRAM505との間で送受するデータの制御を行う。フラッシュメモリ制御部604は、フラッシュメモリ502へ送られる命令、及びフラッシュメモリ502との間で送受するデータの制御を行う。ECC制御部605はマイコン504の命令により、システムバス506を通して入力するデータや、フラッシュメモリ502からのデータをECC回路5031に渡し、ECC生成や、ECC検出及びデータの訂正といったECC訂正手段の制御を行う。」（段落【００２３】〜【００２９】）　　
　
（エ）「【００４１】以下、このような積符号を生成しメモリ１０５に記録する具体的動作について説明する。
【００４２】図５に、メモリ１０５への記録処理の手順を示す。
【００４３】情報データは、システムバスを１０９を介して1記録再生データ領域、つまり512バイトごとに、図４の行順に入力される。
【００４４】インターフェースＬＳＩ１０６内の外符号／復号回路１０５は情報データを１６バイト×３２バイトのマトリクスデータに変換する。しかし、実際にメモリ１０３に記録される時は、情報データは５１２バイトの列データとして記録されるため、マトリクスデータへの変換は必ずしも必要ではなく、１次元配列データのままで扱ってもよい。この場合、メモリへの記録処理はステップ７０１からはじめてもよい。以下の説明では、情報データは１次元配列データとして扱い、ステップ７０１から処理を行う場合を例にとる。
【００４５】 外符号／復号回路１０５は、マトリクスデータあるいは１次元配列データをステップ７０１に示すように情報データを外符号Ｃ１に符号化する。更に、ステップ７０２に示すように、外符号化された１次元配列データの構成を変換し内符号回路１０４に入力する。ステップ７０１において５１２バイトの１次元配列データを外符号Ｃ１に変換する処理、及びステップ７０２において、外符号化された１次元配列データの構成を変換する処理の様子を図６に示す。
【００４６】 最初に、５１２バイトの１次元配列データを外符号Ｃ１に変換する処理では、インターフェースＬＳＩ１０６内の外符号／復号回路１０５は５１２バイトの情報データを一旦、内部のメモリに順番に格納した後、内部のメモリの最初のアドレスからデータアドレスを１５バイトずつスキップしながら情報データを１バイトずつ読み取る。これを３２回繰り返し、３２バイトの列データを生成する（ａ）。この操作を、最初に情報データを読み取るアドレスを１増加させながら、１６回すなわち１６バイト行データの各列について行い、列データ１６個を生成する。
【００４７】 この列データを各々リードソロモン符号化して、情報データ部を外符号Ｃ１に符号化する。外符号／復号回路１０５の訂正能力は２シンボルだから必要な冗長シンボル長は４シンボルとなる。冗長バイト数は、４×８÷８＝４バイトになる。このため外符号Ｃ１の冗長データ部Ｒ１は、４×１６＝６４バイトの情報量となる。
【００４８】 次に外符号化された１次元配列データの構成を変換する処理について説明する。内符号／復号回路１０４はデータを図４の行方向に符号化するため、あらかじめ外符号／復号回路１０５において、４バイト（１行４列）×１６個からなる外符号の冗長部Ｒ１を１６バイト（１６行１列）×４行のデータに変換しておく。
【００４９】 この変換は、各列について生成した外符号Ｃ１の冗長部Ｒ１を順番に内部のメモリに格納した後、この内部のメモリの、冗長データ部Ｒ１を格納した最初のアドレスから冗長データ部Ｒ１を、データアドレスを３バイトずつスキップしながら１バイトずつ１６回繰り返して読み出し、１６バイトの行データを生成する（ｂ）。この操作を最初の冗長バイトを読み出すアドレスを１増加させながら、４回繰り返して得られた４つの行データを、図６の情報データ部の後ろに順番に付加する。このようにして生成した３２行の情報データ部と、その後ろの４行の冗長データ部Ｒ１の１次元配列を、内符号／復号回路１０４に外符号Ｃ１として出力する。
【００５０】 図５に戻り、次のステップ７０３では、メモリチップ１０２内の内符号／復号回路１０４が、入力された外符号Ｃ１を内符号Ｃ２に変換する。更に、ステップ７０４に示すように、内符号化された１次元配列データの構成を変換しメモリ１０３に記録する。
【００５１】 ステップ７０３において外符号Ｃ１を内符号Ｃ２に変換する処理、及びステップ７０４において、内符号化された１次元配列データの構成を変換する処理の様子を図７に示す。
【００５２】 最初に外符号Ｃ１を内符号Ｃ２に変換する処理では、内符号／復号回路１０４は図７に示すように、５１２バイトの情報データ部＋６４バイトの外符号Ｃ１の冗長データ部Ｒ１、つまり（３２＋４）個×１６バイトの１次元配列データを内符号／復号回路１０４内部のメモリに一旦記録した後、内符号Ｃ２に変換する。
【００５３】 １次元配列データは情報データ部、冗長データ部Ｒ１の順に図４の行順に入力される（ａ）。内符号／復号回路１０４は、最初に情報データ部を１６バイトごとにリードソロモン符号化し、内符号Ｃ２に符号化する。次に外符号Ｃ１の冗長データ部Ｒ１を１６バイトごとにリードソロモン符号化し、内符号Ｃ２に符号化する。
【００５４】 ここで、内符号／復号回路１０４の訂正能力は１シンボルだから、必要な冗長シンボル長は２シンボルである。冗長バイト数は２×８÷８＝２バイトになる。従って内符号Ｃ２の冗長データ部Ｒ２は、２×（３２＋４）＝７２バイトの情報量となる。
【００５５】 こうして積符号化された情報データを、図５のステップ７０４において、１次元配列データとしてメモリ１０３に記録する。
【００５６】 メモリ１０３に記録される積符号のデータ格納フォーマットを図８に示す。
【００５７】 メモリ１０３の１行は、５１２バイトの情報データ部と、６４バイトの外符号Ｃ１の冗長データ部Ｒ１＋７２バイトの内符号Ｃ２の冗長データ部Ｒ２＋Ｒ／Ｗに関するアクセスデータが記録された管理データ部から構成されている。」（段落【００４１】〜【００５７】）
　　　　
（オ）「【００６０】 次に、このようにしてメモリ１０５に記録された積符号を復号する処理について説明する。
【００６１】 図９にこの処理の処理手順を示す。
【００６２】 ステップ８０１に示すようにメモリ１０３から読み出された積符号は、図１０（ａ）に示すように、内符号／復号回路１０４に、外符号Ｃ１（５１２バイトの情報データ部＋６４バイトの外符号Ｃ１の冗長データ部Ｒ１）＋７２バイトの内符号Ｃ２の冗長データ部Ｒ２からなる１次元配列データとして入力される。
【００６３】 内符号回路／復号回路１０４は、ステップ８０２に示すようにこの１次元配列データを順番に一旦内部のメモリに記憶した後、１８バイトの内符号Ｃ２を３６行生成する。これは内部のメモリから２バイトを読み、情報データまたは冗長データ部Ｒ１に付加する（図１０（ｂ））事で生成する処理を、３６回繰り返す事により行う。
【００６４】 次に内符号Ｃ２を生成したら、ステップ８０３からステップ８０６において内符号Ｃ２を用いて復号処理をおこなう。図８では点線で囲まれたステップ群が２つあるが、上の方が内符号Ｃ２の復号処理に対応する。
【００６５】 内符号Ｃ２の復号処理においては、最初にステップ８０３に示すように、各行、すなわち１８バイトの内符号Ｃ２ ３６個についてシンドロームＳ（ｘ）を計算し、これから図４の行データのエラー訂正及び検出を行う。
【００６６】 シンドロームＳ（ｘ）とは符号語に発生した誤りの状態を示すパターンである。このパターンは記録符号語に関係なく符号語内に発生した誤りのみで決定される。シンドロームの定義を式２に示す。読取り符号語をＲ（ｘ）とすると、誤り系列Ｅ（ｘ）＝０の時は読み込んだデータに誤りがない事を示す。このときＲ（ｘ）＝Ｃ（ｘ）となるから、式２の定義から、Ｓ（ｘ）＝０となる。誤り系列Ｅ（ｘ）が非零の場合、読み込んだデータに誤りが発生した事を示す。このときＳ（ｘ）は非零となり、式２で定義するような連立方程式になる。
・・・中略・・・
【００７０】 Ｎデータ内のエラー数が訂正能力ｔ以内なら、式３に示すＳ（ｘ）から誤り位置と誤りの大きさを見つける事で、符号誤りを訂正することができる。エラー数が訂正能力を超える場合は、式３の連立方程式の解が範囲外となるか不定となり、誤り訂正はできない。この場合、誤りパターンによっては誤り検出が可能な時がある。しかし誤り方によっては、誤った符号語を推定してしまう（誤訂正）ことがある。本実施形態の内符号Ｃ２の場合、誤り訂正能力ｔは１である。
【００７１】 シンドロームＳ（ｘ）の計算が終了したならば、次にステップ８０４に示すようにＳ（ｘ）の値によって誤り訂正／検出を行うかどうかを判定する。
【００７２】 そしてＳ（ｘ）＝０の場合は、その内符号Ｃ２の行に誤りがない事を示すので、内符号／復号回路１０４は、その内符号の行から、内符号Ｃ２の２バイトの冗長データ部Ｒ２を除去し１６バイトの内符号Ｃ２を訂正せずに外符号／復号回路１０５に出力する。
【００７３】 一方、Ｓ（ｘ）が非零の場合は、その内符号Ｃ２に誤りが発生した事を示すので、次にステップ８０５において、符号語が訂正可能かどうかをシンドロームを用いて計算する。そして、内符号Ｃ２から計算されたシンドロームパターンがある特定の符号語のシンドロームパターン群に一致した場合はステップ８０６で誤り訂正を行い、その内符号Ｃ２の行から内符号Ｃ２の２バイトの冗長データ部Ｒ２を除去し、訂正した１６バイトの内符号Ｃ２を外符号／復号回路１０５に出力する。一致しない場合は、内符号Ｃ２の訂正能力を超えるエラーが発生したとみなし、誤り検出処理のみを行い、その内符号の行から、内符号Ｃ２の２バイトの冗長データ部Ｒ２を除去し１６バイトの内符号Ｃ２を訂正せずに外符号／復号回路１０５に出力する。
【００７４】 このとき、外符号Ｃ１による誤り訂正時において内符号Ｃ２に誤訂正に起因する外符号Ｃ１の誤訂正を少なくするため、内符号Ｃ２の復号時において最大訂正能力以上の誤りが発生した場合、つまり本実施例の場合Ｓ（ｘ）が非零の場合は、内符号／復号回路１０４はステップ８０７において、誤り訂正／検出もしくは誤り検出のみを行った行の全てのシンボルにイレージャフラグ情報を付加し、外符号／復号回路１０５に出力する。
【００７５】 いま、図１１に示す積符号の構成図の右横の網掛け三角形で示されている行が、内符号Ｃ２の訂正能力を超える誤りが発生した行を示すものとする。１、２、６行目はランダムエラーが発生していることを示す。４行目はバーストエラーが発生していることを示す。この場合、１、２、４、６行目にあたる１６バイトのデータ全てにイレージャフラグ情報を付加する。イレージャフラグ情報は内符号-復号データとは別に、付加の対象となったバイトを識別可能なように外符号／復号回路１０５に出力する。
【００７６】 次に、ステップ８０８では、外符号／復号回路１０５において内符号Ｃ２によって復号された外符号Ｃ１を、３６バイトごとの列に構成し、ステップ８０９からステップ８１４において外符号Ｃ１を用いて復号処理をおこなう。図８では点線で囲まれたステップ群が２つあるが、下の方が外符号Ｃ１の復号処理に対応する。
【００７７】 最初にステップ８０８について説明する。
【００７８】 外符号／復号回路１０５には、外符号Ｃ１が図１２ａに示すように、情報データ部の後に冗長データ部Ｒ１が付加された形態の１次元配列データとして入力される。
【００７９】 外符号／復号回路１０５は、この１次元配列データを一旦内部のメモリに格納した後、データアドレスを１５バイトずつスキップしながら１バイト読み取る処理を３６回繰り返し３６バイトの外符号Ｃ１の列データを生成する処理を、読み出しを開始する先頭のアドレスを順次１バイトずつ進めながら１６回繰り返し、１６列の外符号Ｃ１を生成する。
【００８０】 次に外符号／復号回路１０５は、外符号Ｃ１の各列について、ステップ８１０に置いてシンドロームＳ（ｘ）を求める。そしてＳ（ｘ）＝０の場合は、読み出された１次元配列データに誤りがないことを示すので、外符号／復号回路１０５は、その外符号の列から、冗長データ部Ｒ１を除去し、３２バイトの情報データ部を訂正せず出力する。
【００８１】 一方Ｓ（ｘ）＝０でない場合は、次に、情報データ部＋外符号Ｃ１の冗長データ部Ｒ１からなる１列３６バイト中のイレージャフラグが付加されたバイトの総数をＥｒ（ｘ）として、ステップ８１１においてＥｒ（ｘ）の値を判定する。
【００８２】 そして、Ｅｒ（ｘ）＝０の場合は、ステップ８１３においてイレージャフラグを用いた訂正を行わず、外符号Ｃ１のみによる通常の復号を行う。
【００８３】 一方Ｅｒ（ｘ）が非零の場合は、ステップ８１２において、Ｅｒ（ｘ）の数に応じて、誤り訂正／検出を行う。すなわち、Ｅｒ（ｘ）＞４の場合、外符号Ｃ１の訂正能力を超える誤りが生じたことを示すので、ステップ８１４に示すように誤り訂正不能とする。ただし、イレージャフラグから計算されたシンドロームＳ（ｘ）の連立方程式が全て０である場合は、例外的に誤りなしとして、その外符号の列から冗長データ部Ｒ１を除去し、３２バイトの情報データを訂正せず出力する。
【００８４】 Ｅｒ（ｘ）≦４である場合、誤り訂正が可能となる。
【００８５】 Ｅｒ（ｘ）≦４である場合のイレージャ訂正における誤り訂正は次のように行う。例えば図１０の７列目、すなわち下部において白抜き三角形で示されている列は、イレージャフラグが列データ内に２つ以下である。この場合はイレージャ訂正を用いても誤り訂正能力は２しかない。従って通常どおり外符号Ｃ２を用いてリードソロモン復号による誤り訂正を行い、その外符号の列から冗長データ部Ｒ１を除去し、訂正した３２バイトの情報データを出力する。
【００８６】 次に、例えば、８列目、すなわち下部において灰三角形で示されている列は、イレージャフラグが列データ内に３つある。ｔ２が２の場合、得られるシンドロームＳ（ｘ）の連立方程式は式２の条件から４つである。従ってシンドロームから誤りの大きさに関する式が３つ、イレージャフラグから得られた誤り位置以外の誤りの有無についての判別式が１つ得られる。そこで、イレージャフラグから得られた誤り位置以外に誤りがない場合は誤り訂正を行い、その外符号の列から冗長データ部Ｒ１を除去し、訂正した３２バイトの情報データを出力し、イレージャフラグから得られた誤り位置以外に誤りがある場合は、誤り検出のみを行い、その外符号の列から冗長データ部Ｒ１を除去し、３２バイトの情報データを訂正せず出力する。
【００８７】 ついで６列目、すなわち黒三角形で示されている列はイレージャフラグが列データ内に４つある場合を示す。シンドロームからは誤りの大きさに関する式が４つ得られる。外符号／復号回路１０５では、その外符号の列から冗長データ部Ｒ１を除去し、訂正した３２バイトの情報データを出力する。」（段落【００６０】〜【００８７】）
　　　
　以上の記載によれば、引用文献には、以下のような発明（以下、「引用発明」という。）が開示されていると認められる。
「メモリ1素子に対して2ビット以上を対応させたフラシュメモリでは、読み出しの際にドレイン電流から区別すべきVthが1素子あたり4つ以上になり、各Vth間の間隔は狭くなり、メモリ素子からのデータ読み出しエラーは必然的に増加し、この場合に、必要とされるビット誤り訂正不能率をメモリチップ単体で満たすためにメモリチップ内部の符号／復号回路に、より強力なECCを用いる事が要求されるところ、
　メモリチップ内の符号／復号回路を大規模化することなく、ファイルシステムなどとして使用される記録再生装置に用いる場合にも、記録再生装置として要求される誤り訂正不能率を満足することのできる記録再生装置であって、
　フラッシュメモリ502（メモリチップ102）、インターフェースLSI503、マイコン504を備え、これらの各部は、制御信号線、アドレスバス、データバスによって接続され、
　フラッシュメモリ502（メモリチップ102）は、メモリ103と内符号／復号回路104に相当するECC回路を備え、
　インターフェースLSI503は、システムバス506とのインターフェース制御を行うLSIであり、マイコン504はシステムバスを通じて送られてきた命令を解釈し、解釈結果に応じてフラッシュメモリ502へのデータ読み込み及び書込み(Read／Write 、以下Ｒ／Ｗ)、及びDRAM505へのデータＲ／Ｗを制御する中央処理装置(CPU5041)やROM5042やRAM5043を備えており、ファイルシステム501のコントローラの役割を担っており、
　インターフェースLSI503において、システムインターフェース部601はシステムバスを通じて送受する命令及びデータの制御を行い、マイコンインターフェース部602はマイコン504との間で送受する命令及びデータの制御を行い、フラッシュメモリ制御部604は、フラッシュメモリ502へ送られる命令、及びフラッシュメモリ502との間で送受するデータの制御を行い、ECC制御部605はマイコン504の命令により、システムバス506を通して入力するデータや、フラッシュメモリ502からのデータを外符号／復号回路105に相当するECC回路5031に渡し、ECC生成や、ECC検出及びデータの訂正といったECC訂正手段の制御を行い、
　情報データは、システムバス109を介して1記録再生データ領域、つまり512バイトごとに入力され、
　インターフェースLSI503内の外符号／復号回路105は、情報データを外符号Ｃ１に符号化し、生成した３２行の情報データ部と、その後ろの４行の冗長データ部Ｒ１の１次元配列を、内符号／復号回路104に外符号Ｃ１として出力し、
　内符号／復号回路104は、情報データ部と外符号Ｃ１の冗長データ部Ｒ１をリードソロモン符号化し、内符号Ｃ２に符号化し、積符号化された情報データは、１次元配列データとして、５１２バイトの情報データ部と、６４バイトの外符号Ｃ１の冗長データ部Ｒ１＋７２バイトの内符号Ｃ２の冗長データ部Ｒ２としてメモリ103に記憶され、
　メモリ103から読み出された積符号は、内符号／復号回路104に、外符号Ｃ１（５１２バイトの情報データ部＋６４バイトの外符号Ｃ１の冗長データ部Ｒ１）＋７２バイトの内符号Ｃ２の冗長データ部Ｒ２からなる１次元配列データとして入力され、
　内符号回路／復号回路104は、内符号Ｃ２を用いて復号処理をおこない、内符号Ｃ２の復号処理においては、内符号Ｃ２についてシンドロームＳ（ｘ）を計算し、Ｓ（ｘ）＝０の場合は、その内符号Ｃ２の行に誤りがない事を示すので、内符号／復号回路104は、その内符号の行から、内符号Ｃ２の２バイトの冗長データ部Ｒ２を除去し１６バイトの内符号Ｃ２を訂正せずに外符号／復号回路105に出力し、Ｓ（ｘ）が非零の場合は、その内符号Ｃ２に誤りが発生した事を示すので、符号語が訂正可能かどうかをシンドロームを用いて計算し、内符号Ｃ２から計算されたシンドロームパターンがある特定の符号語のシンドロームパターン群に一致した場合は誤り訂正を行い、その内符号Ｃ２の行から内符号Ｃ２の２バイトの冗長データ部Ｒ２を除去し、訂正した１６バイトの内符号Ｃ２を外符号／復号回路105に出力し、一致しない場合は、内符号Ｃ２の訂正能力を超えるエラーが発生したとみなし、誤り検出処理のみを行い、その内符号の行から、内符号Ｃ２の２バイトの冗長データ部Ｒ２を除去し１６バイトの内符号Ｃ２を訂正せずに外符号／復号回路105に出力し、
　外符号／復号回路105には、外符号Ｃ１が、情報データ部の後に冗長データ部Ｒ１が付加された形態の１次元配列データとして入力され、外符号／復号回路105において内符号Ｃ２によって復号された外符号Ｃ１を、３６バイトごとの列に構成し、外符号Ｃ１を用いて復号処理をおこない、外符号／復号回路105は、外符号Ｃ１の各列について、シンドロームＳ（ｘ）を求め、情報データ部＋外符号Ｃ１の冗長データ部Ｒ１からなる１列３６バイト中のイレージャフラグが付加されたバイトの総数をＥｒ（ｘ）として、Ｅｒ（ｘ）≦４である場合、通常どおり外符号Ｃ１を用いてリードソロモン復号による誤り訂正を行い、その外符号の列から冗長データ部Ｒ１を除去し、訂正した３２バイトの情報データを出力する
ことを特徴とする記録再生装置」
　　
第３　対比
　本願発明と引用発明とを対比する。
（ア）引用発明は、「メモリ1素子に対して2ビット以上を対応させたフラシュメモリでは、読み出しの際にドレイン電流から区別すべきVthが1素子あたり4つ以上になり、各Vth間の間隔は狭くなり、メモリ素子からのデータ読み出しエラーは必然的に増加し、この場合に、必要とされるビット誤り訂正不能率をメモリチップ単体で満たすためにメモリチップ内部の符号／復号回路に、より強力なECCを用いる事が要求されるところ、
　メモリチップ内の符号／復号回路を大規模化することなく、ファイルシステムなどとして使用される記録再生装置に用いる場合にも、記録再生装置として要求される誤り訂正不能率を満足することのできる記録再生装置」とするから、引用発明の「フラッシュメモリ502（メモリチップ102）」は、本願発明の「Mビットのデータ（Mは２以上の整数）を格納するフラッシュメモリ装置」に相当する。
　　
（イ）引用発明の「情報データ」は、フラッシュメモリ502（メモリチップ102）のメモリ103に記憶されるものであり、本願発明の「プログラムのデータ」は、メモリに書き込むデータであることは明らかであるから、本願発明の「フラッシュメモリ装置に格納されるプログラムのデータ」に相当する。
　引用発明の「外符号Ｃ１の冗長データ部Ｒ１」は、本願発明の「第１ＥＣＣデータ」に相当する。
　したがって、引用発明の「外符号／復号回路105」は、「情報データを外符号Ｃ１に符号化し、生成した３２行の情報データ部と、その後ろの４行の冗長データ部Ｒ１の１次元配列を、内符号／復号回路104に外符号Ｃ１として出力」するから、本願発明の「第１エラー訂正方式によって前記フラッシュメモリ装置に格納されるプログラムのデータから第１ＥＣＣデータを生成する第１ＥＣＣブロック」に相当する。
　　
（ウ）引用発明の「内符号Ｃ２の冗長データ部Ｒ２」は、本願発明の「第２ＥＣＣデータ」に相当する。
　引用発明の「内符号／復号回路104」は、「外符号／復号回路105」から出力された「情報データ部と外符号Ｃ１の冗長データ部Ｒ１をリードソロモン符号化し、内符号Ｃ２に符号化」し、「５１２バイトの情報データ部と、６４バイトの外符号Ｃ１の冗長データ部Ｒ１＋７２バイトの内符号Ｃ２の冗長データ部Ｒ２」として出力するから、本願発明の「第２エラー訂正方式によって前記第１ＥＣＣブロックから出力される第１ＥＣＣデータ及び前記プログラムのデータから第２ＥＣＣデータを生成する第２ＥＣＣブロック」に相当する。
　　
（エ）引用発明の「ECC制御部605」、「外符号／復号回路105」及び「内符号／復号回路104」は、本願発明の「ＥＣＣ制御器」に相当する。
引用発明の「積符号化された情報データは、１次元配列データとして、５１２バイトの情報データ部と、６４バイトの外符号Ｃ１の冗長データ部Ｒ１＋７２バイトの内符号Ｃ２の冗長データ部Ｒ２としてメモリ103に記憶」される構成は、本願発明の「前記プログラムのデータと、前記第１ＥＣＣデータと、前記第２ＥＣＣデータは前記フラッシュメモリ装置に格納」される構成に相当する。
　　
（オ）引用発明の「内符号回路／復号回路104」の「内符号Ｃ２を用いて復号処理」を行う構成は、「内符号Ｃ２の冗長データ部Ｒ２」を利用して復号処理を行っているといえるから、本願発明の「前記第２ＥＣＣブロックは、前記フラッシュメモリ装置から読み出された読み出しデータに含まれた第２ＥＣＣデータを利用して前記読み出しデータをデコード」する構成に相当する。
　　
（カ）引用発明の「外符号／復号回路105には、外符号Ｃ１が、情報データ部の後に冗長データ部Ｒ１が付加された形態の１次元配列データとして入力され、外符号／復号回路105において内符号Ｃ２によって復号された外符号Ｃ１を、３６バイトごとの列に構成し、外符号Ｃ１を用いて復号処理をおこない、外符号／復号回路105は、外符号Ｃ１の各列について、シンドロームＳ（ｘ）を求め、情報データ部＋外符号Ｃ１の冗長データ部Ｒ１からなる１列３６バイト中のイレージャフラグが付加されたバイトの総数をＥｒ（ｘ）として、Ｅｒ（ｘ）≦４である場合、通常どおり外符号Ｃ２を用いてリードソロモン復号による誤り訂正を行い、その外符号の列から冗長データ部Ｒ１を除去し、訂正した３２バイトの情報データを出力」する構成は、本願発明の「前記第１ＥＣＣブロックは前記第２ＥＣＣブロックから出力される前記読み出しデータに含まれた第１ＥＣＣデータを利用して前記読み出しデータのエラーを訂正」する構成に相当する。
　　　
（キ）引用発明のインターフェースLSI503内の「システムインターフェース部601」は、「システムバスを通じて送受する命令及びデータの制御を行」うから、本願発明の「ホストインタフェース」に相当し、引用発明のインターフェースLSI503内の「フラッシュメモリ制御部604」は、「フラッシュメモリ502へ送られる命令、及びフラッシュメモリ502との間で送受するデータの制御」を行うから、本願発明の「フラッシュインタフェース」に相当する。
　引用発明のインターフェースLSI503内の「ECC制御部605」及び「外符号／復号回路105」は、「システムインターフェース部601」及び「フラッシュメモリ制御部604」とは別異に設けられていから、本願発明の「前記ＥＣＣ制御器は、ホストの要求によってフラッシュメモリ装置を制御するメモリ制御器内に設けられるとともに、ホストインタフェース及びフラッシュインタフェースとは別異に設けられ」る構成と「第１ＥＣＣブロックを含むＥＣＣ制御器は、ホストの要求によってフラッシュメモリ装置を制御するメモリ制御器内に設けられるとともに、ホストインタフェース及びフラッシュインタフェースとは別異に設けられ」る構成である点では一致している。
　ただし、引用発明では、本願発明の「ＥＣＣ制御器」に含まれる「第２ＥＣＣブロック」に相当する「内符号／復号回路104に相当するECC回路」は、フラッシュメモリ502（メモリチップ102）に設けられており、メモリ制御器内に設けられる構成ではない。
　　　
　したがって、両者は、
「Ｍビットのデータ（Ｍは２以上の正数）を格納するフラッシュメモリ装置のＥＣＣ制御器に於いて、
　第１エラー訂正方式によって前記フラッシュメモリ装置に格納されるプログラムのデータから第１ＥＣＣデータを生成する第１ＥＣＣブロックと、第２エラー訂正方式によって前記第１ＥＣＣブロックから出力される第１ＥＣＣデータ及び前記プログラムのデータから第２ＥＣＣデータを生成する第２ＥＣＣブロックを含み、
　前記プログラムのデータと、前記第１ＥＣＣデータと、前記第２ＥＣＣデータは前記フラッシュメモリ装置に格納され、
 第１ＥＣＣブロックを含むＥＣＣ制御器は、ホストの要求によってフラッシュメモリ装置を制御するメモリ制御器内に設けられるとともに、ホストインタフェース及びフラッシュインタフェースとは別異に設けられ
　前記第２ＥＣＣブロックは、前記フラッシュメモリ装置から読み出された読み出しデータに含まれた第２ＥＣＣデータを利用して前記読み出しデータをデコードし、前記第１ＥＣＣブロックは前記第２ＥＣＣブロックから出力される前記読み出しデータに含まれた第１ＥＣＣデータを利用して前記読み出しデータのエラーを訂正する様に構成される
　ことを特徴とするＥＣＣ制御器。」
で一致するものであり、次の点で相違している。
　　
＜相違点＞
　本願発明では、「第１ＥＣＣブロック」と「第２ＥＣＣブロック」を含む「ＥＣＣ制御器は、ホストの要求によってフラッシュメモリ装置を制御するメモリ制御器内に設けられ」る構成であるのに対して、引用発明では、本願発明の「第２ＥＣＣブロック」に相当する「内符号／復号回路104に相当するECC回路」は、「フラッシュメモリ502（メモリチップ102）」に設けられていて、メモリ制御器内に設けられていない点。
　　　
第４　当審の判断
　上記相違点について検討する。
　第１ＥＣＣブロックと第２ＥＣＣブロックを含むＥＣＣ制御器を、ホストの要求によって記憶装置を制御する制御器内に設けることは、本願の優先権主張の日前に周知の技術である。
　これには、例えば、特開２００４−１６４６８４号公報、図３、段落【００６１】「コントローラ１３は上位のホストコンピュータに接続され、Ｃ１符号によるセクタとこれら複数のセクタを対象として構成される積符号形式のＣ２符号とを順次生成して磁気ディスク１８に対し記録動作を実行するようになされる。コントローラ１３はホストインタフェース１５、Ｃ１符号処理回路２１、Ｃ２符号処理回路２２、バッファコントローラ３１、ディスクコントローラ３２及びシーケンサ３３を有している。」の記載、特開２０００−２９３９４４号公報、図６における積符号形式の誤り訂正符号を付加し、誤りを検出し、誤り訂正処理を行うＣ２符号処理回路５１及びＣ１符号処理回路５２がハードディスクコントローラ３０内に設けられ、ホストインターフェース３２及びディスクインターフェース４３と別異に設けられている記載、特開２００４−２８８２８３号公報、図１、図２、図４、段落【００２６】「この図１示す記録再生信号処理回路１は、一般に大規模半導体集積回路の形態で実現され、その基本的機能は、記録符号情報１０１を記録信号電流１０５に変換処理してヘッド・記録媒体系２００に供給する記録処理系１００と、該ヘッド・記録媒体系２００からの再生信号３０５を再生符号情報３０１に再生変換するための再生処理系３００との２つの処理過程から構成される。」、段落【００３７】〜【００３８】「図２は、本発明の符号器（記録時の符号化回路）１０２の構成例を示す図である。本符号器１０２は、情報符号系列１０１を入力情報として、これにリードソロモン符号化などによる代数的誤り訂正符号化（第一の誤り訂正符号化）を施すための誤り訂正符号器（符号誤り訂正符号化回路）１０を具備して、これから誤り訂正符号化系列１１が出力される。・・・中略・・・【００３８】さらに、この記録符号変調器１２から出力された記録変調符号系列１３は、連接符号器（第二の符号誤り訂正符号化を施す符号化回路）１４に入力される。連接符号器１４は、ターボ符号化の原理に基づく第二の誤り訂正符号化を記録変調符号系列１３に施す。この連接符号器１４では、入力された符号系列に対して所定の冗長符号を生成するとともに、この入力された符号系列を並べ替えて形成される新たな符号列に対して、同様の冗長符号の生成が並列に実施される。」、段落【００４９】〜【００５１】「図４は、本発明における誤り訂正復号器（復号時の符号誤り訂正符号化回路）３０２の構成例を示している。図２の実施例２に対応しながら、図４の実施例４、復号器３０２では、再生信号処理回路３０４からの出力である復号信号系列３０３を入力して、再生符号情報３０１へのデータ復調処理を実現する。この復号器３０２において、尤度検出器３１は、再生信号処理回路３０４からの再生信号情報（一般にデジタル信号値の系列）を入力して符号ビットの判定を行う。一般にＰＲＭＬ(パーシャルレスポンス・マキシマムライクリーフッド)方式を用いた記録再生処理系では、デジタルフィルタによるパーシャルレスポンス波形等化処理後のデジタル信号系列が、最尤復号器（マキシマムライクリーフッドディテクタ）により、硬判定の再生符号ビット情報{ａｋ}へと変換される。【００５０】し��し、本発明では、後段の反復復号器３３においてターボ復号に基づく誤り訂正処理を行うため、このパーシャルレスポンス冗長系に対する符号検出に整合した最大事後確率判定（ＭＡＰ復号：Maximum A Posterior）を最尤復号器に代えて実施し、各符号ビット情報を、確率信頼度で示した多値情報である軟判定符号情報{ｂｋ}として判定出力する。・・・中略・・・本発明では、このＭＡＰ復号の構成がいずれの方法によるかを問わない。【００５１】このＭＡＰ復号による尤度検出器３１から出力された軟判定符号情報系列３２は、反復復号器３３（ターボ誤り訂正器）に入力されて、詳述するような誤り訂正処理がなされ、硬判定ビット情報である誤り訂正復号系列３４が変換出力される。また、記録符号復調器３５は、図２の記録符号変調器１２に対応した逆変換の符号化復調処理を行い、記録復調符号系列３６を復元出力する回路である。さらに、誤り訂正復調器（回路）３７は、この記録復調符号系列３６上の符号誤りを、前述のリードソロモン符号化による第一の誤り訂正符号化（冗長符号部２３）を用いて訂正処理し、硬判定の誤り訂正復号処理を実施する回路である。以上により、再生符号系列３０１が生成される。」の記載等が参照される。
　そして、メモリチップ内部にＥＣＣ機能を備えない（メモリコントローラ側にのみＥＣＣ機能を備える）フラシュメモリ装置は、文献を示すまでもなく本願の優先権主張の日前に周知であるし、引用発明において、メモリチップにおける「内符号回路／復号回路104」の占める割合が大きくなると、メモリ実装面積が減少し、多値記録化によるメモリ容量増加のメリットが生かせなくなることは明らかであることからみても、引用発明において上記周知技術を適用する動機付けはあると認められる。
　そうすると、引用発明において、上記周知技術を適用し、「外符号／復号回路105に相当するECC回路5031」と「内符号回路／復号回路104に相当するECC回路」を含むＥＣＣ制御器を、ホストの要求によってフラッシュメモリ装置を制御するメモリ制御器内に設ける構成にすることは、当業者が容易になし得ることである。
　　
　そして、本願発明により奏される効果についてみても、引用発明の「内符号回路／復号回路104に相当するECC回路」を「ホストの要求によってフラッシュメモリ装置を制御するメモリ制御器内に設ける構成にする」ことに伴って予測し得ない格別顕著なものがあるともいえない。
　　
　したがって、本願発明は、引用発明及び周知技術に基づいて当業者が容易に発明をすることができたものである。
　　　
第５　むすび
　以上のとおり、本願発明は、引用発明及び周知技術に基づいて当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により特許を受けることができない。
　したがって、本願は、その余の請求項について論及するまでもなく、拒絶すべきものである。
　よって、結論のとおり審決する。