(57)【特許請求の範囲】
【請求項１】
データの最小消去単位であり且つデータ書き込み単位が該最小消去単位より小さい複数の物理ブロックから成る記憶領域と、データの誤り検出及び訂正回路とを有する不揮発性メモリと、
前記不揮発性メモリ内の誤り検出及び訂正回路の誤り訂正能力より高い訂正能力をもつ誤り訂正回路を有し、前記不揮発性メモリのデータの書き込み及び読み出しの制御を行うメモリコントローラと、を具備し、
前記メモリコントローラは、前記メモリコントローラが前記不揮発性メモリ内の所定の物理ブロックに記憶されているデータを、前記所定の物理ブロックと異なる物理ブロックに転送し書き込むとき、前記誤り検出及び訂正回路が転送データの誤りの有無を検出し、誤りがある場合に訂正可能か否かを判別し、訂正可能の場合は前記所定の物理ブロックに記憶されているデータに対して誤り訂正を行い、訂正不可能な場合は前記メモリコントローラ内の誤り訂正回路にデータを転送するよう制御し、前記メモリコントローラ内の誤り訂正回路が、転送された前記所定の物理ブロックのデータに対して誤り訂正を行うように制御する半導体メモリ装置。
【請求項２】
データの最小消去単位であり且つデータ書き込み単位が該最小消去単位より小さい複数の物理ブロックから成る記憶領域と、データの誤り検出回路とを有する不揮発性メモリと、
誤り訂正回路を有し、前記不揮発性メモリのデータの書き込み及び読み出しの制御を行うメモリコントローラと、を具備し、
前記メモリコントローラは、前記不揮発性メモリ内の所定の物理ブロックに記憶されているデータを、前記所定の物理ブロックと異なる物理ブロックに転送し書き込むとき、前記不揮発性メモリ内の誤り検出回路が転送データの誤りの有無を検出し、誤りがある場合には前記メモリコントローラ内の誤り訂正回路にデータを転送し、前記メモリコントローラ内の誤り訂正回路が、転送された前記所定の物理ブロックのデータに対して誤り訂正を行うように制御する半導体メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、不揮発性メモリ内でデータを転送し書き込みを行う場合、誤り訂正などの処理を行うことのできる半導体メモリ装置に関するものである。
【背景技術】
【０００２】  音楽コンテンツや、映像データなどのデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスクなど、様々な種類が存在する。これら記録媒体の更なる１種類である半導体メモリカードは、記録素子としてフラッシュメモリなどの不揮発性半導体メモリを使用しており、記録媒体が小型化できることから、デジタルスチルカメラや携帯電話端末など、小型の携帯機器を中心に急速に普及しつつある。【０００３】  記録素子として使用されるフラッシュメモリは、消去単位と書き込み単位が異なる。またフラッシュメモリは、既にデータが書かれた物理ブロック内の書き込み単位であるページに対して、データの上書きができないという特徴がある。このためフラッシュメモリは、書き込み済みデータの上書き、つまりデータ書き換えを行う場合、無駄にメモリ領域を消費してしまうという問題があった。【０００４】  従来は、データの書き換えを行う場合、ブロック内に既に存在するデータを外部メモリに退避させ、書き換えデータを外部メモリに記録してから不揮発性メモリの当該ブロックに書き換えていた。このような方法に対して、特許文献１に開示されている方法がある。これは、データを書き換える際、書き換えデータを空き物理ブロックに書き込んだのち、書き換え前にデータが存在していた物理ブロックの他のデータを、書き換えデータを書き込んだ物理ブロックに書き込み（コピー）していた。その結果、書き換え前のデータが存在していた物理ブロックには有効データがなくなり、有効なデータを失うことなく消去することができ、当初の物理ブロックを再利用することが可能となり、限られた物理ブロックの有効な使用ができた。
【特許文献１】特表２００１−５０９９４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】  しかしながら、特許文献１の方法には次のような問題点がある。即ち、不揮発性メモリ内のデータ転送／書き込みを行う場合、誤り訂正などの処理が行われないので、転送元のデータの読み出し時に誤りが発生していても、その状態のまま、即ち誤りを含んだ状態で転送先にデータの書き込みが行われる。その結果、次回に書き込みデータを読み出した場合、読み出しができないか、又は異なったデータとして読み出されてしまうという問題があった。
【課題を解決するための手段】
【０００７】
この課題を解決するために、本発明の半導体メモリ装置は、データの最小消去単位であり且つデータ書き込み単位が該最小消去単位より小さい複数の物理ブロックから成る記憶領域と、データの誤り検出及び訂正回路とを有する不揮発性メモリと、前記不揮発性メモリ内の誤り検出及び訂正回路の誤り訂正能力より高い訂正能力をもつ誤り訂正回路を有し、前記不揮発性メモリのデータの書き込み及び読み出しの制御を行うメモリコントローラと、を具備し、前記メモリコントローラは、前記メモリコントローラが前記不揮発性メモリ内の所定の物理ブロックに記憶されているデータを、前記所定の物理ブロックと異なる物理ブロックに転送し書き込むとき、前記誤り検出及び訂正回路が転送データの誤りの有無を検出し、誤りがある場合に訂正可能か否かを判別し、訂正可能の場合は前記所定の物理ブロックに記憶されているデータに対して誤り訂正を行い、訂正不可能な場合は前記メモリコントローラ内の誤り訂正回路にデータを転送するよう制御し、前記メモリコントローラ内の誤り訂正回路が、転送された前記所定の物理ブロックのデータに対して誤り訂正を行うように制御する。
【０００８】
この課題を解決するために、本発明の半導体メモリ装置は、データの最小消去単位であり且つデータ書き込み単位が該最小消去単位より小さい複数の物理ブロックから成る記憶領域と、データの誤り検出回路とを有する不揮発性メモリと、誤り訂正回路を有し、前記不揮発性メモリのデータの書き込み及び読み出しの制御を行うメモリコントローラと、を具備し、前記メモリコントローラは、前記不揮発性メモリ内の所定の物理ブロックに記憶されているデータを、前記所定の物理ブロックと異なる物理ブロックに転送し書き込むとき、前記不揮発性メモリ内の誤り検出回路が転送データの誤りの有無を検出し、誤りがある場合には前記メモリコントローラ内の誤り訂正回路にデータを転送し、前記メモリコントローラ内の誤り訂正回路が、転送された前記所定の物理ブロックのデータに対して誤り訂正を行うように制御する。
【発明の効果】
【０００９】
本発明の半導体メモリ装置によれば、物理ブロック間で不揮発性メモリ内のデータをコピーする際、誤り検出訂正処理を伴うので、データの信頼性を向上させることができる。
【００１０】
また、請求項１記載の半導体メモリカードによれば、不揮発性メモリ内に誤り検出及び訂正回路を持つので、データの信頼性を向上させることができると共に、不揮発性メモリ内の誤り検出及び訂正回路で訂正可能な誤りの場合は、メモリコントローラへのデータ転送を行うことなく、不揮発性メモリ内で処理を行うので、高速処理することができる。また、不揮発性メモリ内の誤り検出及び訂正回路で訂正不可能な誤りの場合は、メモリコントローラへデータ転送を行い、メモリコントローラ内の誤り訂正を行った後、不揮発性メモリ内に書き込みを行うので、データの信頼性を更に向上させることができる。
【００１１】
また、請求項２記載の半導体メモリカードによれば、不揮発性メモリ内に誤り検出回路のみを設けているので、誤りが検出されなければ高速でブロック間のコピーができ、信頼性を高めながらも、不揮発性メモリの低価格化を実現することができる。
【図面の簡単な説明】
【００１２】
【図１】図１本発明の実施の形態１における半導体メモリ装置の構成図である。
【図２】図２本発明の実施の形態１における処理を示したフローチャートである。
【図３】図３は本発明の比較例における半導体メモリ装置の構成図である。
【図４】図４は本発明の実施の形態２における半導体メモリ装置の構成図である。
【図５】図５は本発明の実施の形態２における処理を示すフローチャートである。
【図６】図６は本発明の実施の形態３における半導体メモリ装置の構成図である。
【図７】図７は実施の形態１，２，３と比較例との処理速度、回路規模をまとめた図である。
【符号の説明】
【００１３】  １  半導体メモリ装置
２  不揮発性メモリ
３  メモリコントローラ
６  メモリアクセス装置
２２，３２  バッファ
２３，３３  誤り検出及び訂正回路
２５  誤り検出回路
３１  ホストインターフェイス部
３４  誤り訂正回路
【発明を実施するための最良の形態】
【００１４】  以下、本発明の半導体メモリ装置の実施の形態について、図面を参照しながら説明する。
（実施の形態１）
本実施の形態１における半導体メモリ装置の構成を図１に示す。図１の半導体メモリ装置１は大別して不揮発性メモリ２とメモリコントローラ３とを具備している。不揮発性メモリ２は、ＡＮＤ型フラッシュメモリにより構成されている。不揮発性メモリ２は、データ消去の最小単位であり、且つサイズが４ｋＢである物理ブロック２１を複数個（物理ブロック０〜物理ブロックＭ）有している。各物理ブロックは、データ書き込みの最小単位であり、２ページ構成（ページ０、１）となっている。各ページのサイズは２ｋＢである。実施の形態１においては、物理ブロック０のページ０とページ１には既にデータが書き込まれており、それ以外の物理ブロックは何も書かれていない状態、即ち消去状態であるものとする。【００１５】  また、不揮発性メモリ２の中には、データ読み出しや書き込み時に一時的にデータを保持するためバッファ２２と、誤り検出と訂正とを行う誤り検出及び訂正回路２３を有している。誤り検出及び訂正回路２３の検出能力は例えば４ビットエラーまで検出可能であり、また訂正能力は３ビットエラーまで訂正可能な仕様とする。また、メモリコントローラ３と不揮発性メモリ２とのデータ転送は、４ビットのデータ幅で行われる。【００１６】  メモリコントローラ３においては、ホスト機器であるメモリアクセス装置６とのデータ受け渡しを行うホストインターフェイス部３１、データを一時的に保持するためのバッファ３２を有している。【００１７】  次に、実施の形態１による半導体メモリ装置の内部動作に関して、図２を用いて説明する。図２はデータの上書き処理を行う場合の処理フローである。前述のように、既にデータが書かれている物理ブロック０のページ０内のデータに上書き、つまりデータを書き換える場合の具体的な処理を説明する。【００１８】  先ずメモリアクセス装置６から送信されたコマンドと引数を、メモリコントローラ３のホストインターフェイス部３１を介して受信する（Ｓ１０１）。次に、受信したコマンドを参照し、自身が認識できない不正コマンドか否かを判定する（Ｓ１０２）。不正コマンドの場合、メモリアクセス装置６にエラーを通知して処理を終了する（Ｓ１０３）。正常コマンドである場合、そのコマンドが書き込みコマンドであるか判定する（Ｓ１０４）。書き込みコマンド以外の場合、各コマンドに対応した他の処理を実施する（Ｓ１０５）。書き込みコマンドの場合、引数に格納された情報により、物理ブロック０内におけるページ０のデータの上書き、つまり書き換えであることを判別する。【００１９】  ここで、本実施の形態１で不揮発性メモリ２として使用しているフラッシュメモリの特性として、同じ物理ブロックへの上書き処理はできないため、別の空き物理ブロックを検索する（Ｓ１０６）。空き物理ブロックがない場合、書き込み処理を停止する（Ｓ１０７）。本実施の形態１では、前述のように、物理ブロック１は両ページともに未使用であるため、物理ブロック１のページ０に対して、物理ブロック０におけるページ０のデータの書き換え、即ち１ページ分のデータの書き込みを行う（Ｓ１０８）。この書き込みが失敗した場合は、空きブロック検索（Ｓ１０６）より処理を戻す。書き込みが成功した場合は、��理ブロック０のページ１に既に書かれているデータを読み出し（Ｓ１１０）、物理ブロック１のページ１への書き込み処理に移る。【００２０】  この処理を行う理由を以下に説明する。即ち、物理ブロック０のページ０の書き換えデータを物理ブロック１のページ０に書き込んだ時点で、物理ブロック０のページ０のデータは無効データとなる。しかしながら、物理ブロック０のページ１のデータは有効データとして残っている。前述のように消去最小単位は、物理ブロック単位であるので、物理ブロック０のページ１の有効なデータが残っている限り、物理ブロック０の再利用、つまり消去はできないことになる。しかしながら、書き換えデータを物理ブロック１のページ０に書き込んだのち、物理ブロック０のページ１の有効なデータを同じく物理ブロック１のページ１に書き込む（コピー）ことで、物理ブロック０のページ１のデータを保持しながらも、物理ブロック０を次回データ書き込みのための有効ブロックとすることができる。以上の理由により、不揮発性メモリ内の有効データのコピーという動作が必要になる。【００２１】  さらに、物理ブロック０のページ１に既に書かれているデータを読み出し（Ｓ１１０）、不揮発性メモリ２内のバッファ２２を経由して、誤り検出及び訂正回路２３にデータを転送する。この誤り検出及び訂正回路２３により、データに付加されている誤り訂正符号をもとに誤りを検出する（Ｓ１１１）。データに誤りが検出された場合、誤り検出及び訂正回路２３により誤り訂正を行った（Ｓ１１２）のち、物理ブロック１のページ１へのデータを書き込む（Ｓ１１３）。一方、誤り検出及び訂正回路２３により誤りが検出されなかった場合、誤り訂正は行わずに、物理ブロック１のページ１へのデータ書き込みを行う（Ｓ１１３）。次に、データ書き込みが失敗した場合は、空きブロック検索（Ｓ１０６）より処理を繰り返す。データ書き込みが成功した場合は処理を終了する。【００２２】  なお、本実施の形態１で使用されている不揮発性メモリとして使用しているフラッシュメモリの種類、枚数、物理ブロックの容量、構成などは特定されるものではなく、違った組み合わせにおいても同様の効果が得られる。なお、本実施の形態１で使用されている誤り検出及び訂正回路の能力に関して、同等以下、また、以上でもほぼ同様の効果が得られる。【００２３】  次に比較例による半導体メモリ装置について、図３をもとに説明する。本比較例における半導体メモリ装置の基本構成は図１と同様であるが、不揮発性メモリ内には誤り検出及び訂正回路を持たず、実施の形態１と同等の誤り検出及び訂正回路３３をメモリコントローラ３内に有している点が実施の形態１と異なる。内部処理のフローに関しても、図２と同様である。実施の形態１と異なる点は、実施の形態１では、物理ブロック０におけるページ１のデータのコピーを行う際、不揮発性メモリ２内から外部への転送を行わないが、比較例では、一旦データを不揮発性メモリ２内のバッファ２２を経由して、メモリコントローラ３内の誤り検出及び訂正回路３３へ送るという点である。即ち、実施の形態１では、データの誤り検出及び訂正処理が不揮発性メモリ２内で完結するが、比較例では完結しない。メモリコントローラ３と不揮発性メモリ２とのデータ転送は、４ビットのデータ幅でしか行われないめ、特にデータサイズが大きい場合、実施の形態１の方が高速処理が可能となる。【００２４】  （実施の形態２）
次に本実施の形態２の半導体メモリ装置について、図４をもとに説明する。本実施の形態２における半導体メモリ装置の基本構成は図１と同様であるが、実施の形態１に対して、誤り検出能力は同等、誤り訂正能力は実施の形態１より劣る誤り検出及び訂正回路２４を不揮発性メモリ２内に有している。さらに、メモリコントローラ３内に、実施の形態１と同等の誤り訂正能力をもつ誤り訂正回路３４を有している。誤り訂正回路３４は誤り検出機能を有するものとしてもよい。これらの点が実施の形態１と異なる。【００２５】  内部処理のフローに関しては、図５を用いて説明する。このフローは図２とほぼ同様であり、相違点について説明する。実施の形態１と異なる点は、Ｓ１１１において不揮発性メモリ２内の誤り検出及び訂正回路２４で誤りが検出された場合、誤り検出及び訂正回路２４で訂正可能かどうかを判別する（Ｓ１２１）。訂正可能であればステップＳ１２２において誤り検出及び訂正回路２４で訂正する。訂正が不可能なデータに関しては、不揮発性メモリ２内のバッファ２２に一時保持する。そして誤り検出及び訂正回路２４より訂正能力が高い誤り訂正回路３４により誤りデータを訂正する。この後、訂正されたデータをバッファ２２から取り出し、不揮発性メモリ２内の物理ブロック１のページ１にデータを書き込む（Ｓ１１３）。このような構成により、データの信頼性を高めながらも、不揮発性メモリ２内の誤り検出及び訂正回路２４の回路規模を小さくすることができ、チップサイズを小さくすると共に、価格を低減することができる。【００２６】  （実施の形態３）
次に本実施の形態３の半導体メモリ装置について、図６をもとに説明する。本実施の形態３における半導体メモリ装置の基本構成は実施の形態２と同様であるが、誤り検出回路２５のみを不揮発性メモリ２内に有している点が異なる。内部処理のフローに関しては、図２とほぼ同様である。実施の形態２と異なる点は、Ｓ１１１において不揮発性メモリ２内の誤り検出回路２５で検出された誤りデータは、すべて、不揮発性メモリ２内のバッファ２２を介してメモリコントローラ３に送られる。そして、メモリコントローラ３内の誤り訂正回路３４により訂正した後、Ｓ１１３で不揮発性メモリ２内の物理ブロック１のページ１にデータを書き込む。前述したように、誤り訂正回路３４は誤り検出機能を含むものとしてもよい。このような構成により、データの信頼性を高めながらも、不揮発性メモリ２内には、誤り検出回路２５のみをもつことになり、チップサイズを小さくすることができ、価格も低減することができる。【００２７】  図７は前述した実施の形態１，２，３と比較例との処理速度、回路規模をまとめたものである。この図に示されるように、本願の各実施の形態では不揮発性メモリ内に少なくとも誤り検出回路を有している。これによって誤りがない場合の処理速度を比較例に比べて向上させることができる。又誤りがある場合にも実施の形態１，２では比較例より処理速度が速く、実施の形態３では誤りがある場合に比較例とほぼ同等となる。
【産業上の利用可能性】
【００２８】  本発明に関わる半導体メモリ装置は、不揮発性メモリ内のデータのコピーを行う際、データ信頼性を向上させることができる。このような半導体メモリ装置は、半導体メモリ装置を記録媒体として使用するデジタルＡＶ機器や携帯電話端末、ＰＣ等に利用できる。また、データ書き換えを頻繁に行う機器に使用する場合は特に好適に機能する。
【図１】
0004791356.tif 000002
【図２】
0004791356.tif 000003
【図３】
0004791356.tif 000004
【図４】
0004791356.tif 000005
【図５】
0004791356.tif 000006
【図６】
0004791356.tif 000007
【図７】
0004791356.tif 000008