(57)【要約】【課題】管理情報などを格納する特定領域のデータ信頼性を向上させる。【解決手段】メモリシステム１は、第１の記憶領域２２と第２の記憶領域２１とを有する不揮発性メモリと、第２の記憶領域２１への書き込み時に、第１の記憶領域２２よりもエラー訂正能力を高くするコントローラ１２とを含む。【選択図】      図５
2010128697.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶領域と第２の記憶領域とを有する不揮発性メモリと、
前記第２の記憶領域への書き込み時に、前記第１の記憶領域よりもエラー訂正能力を高くするコントローラと、
を具備することを特徴とするメモリシステム。
【請求項２】
前記第１の記憶領域への書き込み時に、第１のデータサイズ単位で第１のエラー訂正符号を生成する第１のＥＣＣ（Error Check and Correct）回路と、
前記第２の記憶領域への書き込み時に、前記第１のデータサイズより小さい第２のデータサイズ単位で第２のエラー訂正符号を生成する第２のＥＣＣ回路と、
をさらに具備することを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記コントローラは、前記第１の記憶領域への書き込み時には書き込みデータを前記第１のデータサイズに分割して書き込み、前記第２の記憶領域への書き込み時には書き込みデータを前記第２のデータサイズに分割して書き込み、
前記第２のデータサイズは、前記第１のデータサイズの１／８以下であることを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記コントローラは、前記第１のエラー訂正符号を前記第１の記憶領域の冗長領域に書き込み、前記第２のエラー訂正符号を前記第２の記憶領域の冗長領域に書き込むことを特徴とする請求項２又は３に記載のメモリシステム。
【請求項５】
前記コントローラは、書き込み時に、アドレスに基づいて前記第１の記憶領域及び前記第２の記憶領域への書き込み方法を選択することを特徴とする請求項１乃至４のいずれかに記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリシステムに係り、例えば、ＮＡＮＤ型フラッシュメモリ等の不揮発性メモリを備えたメモリシステムに関する。
【背景技術】
【０００２】
近年、ＰＣ（パーソナルコンピュータ）、携帯電話、デジタルカメラ、ＰＤＡ（personal digital assistant）などの電子機器の記憶装置として、フラッシュメモリ等の不揮発性メモリが使用されている。特に、フラッシュメモリを電子機器に対して着脱可能な構成としたメモリカードが利用されている。
【０００３】
フラッシュメモリを構成するメモリセルは、半導体基板上にトンネル絶縁膜を介して電荷蓄積を目的とする浮遊ゲート電極、ゲート間絶縁膜、制御ゲート電極が順に積層形成された積層ゲート構造を有している。このような構成のフラッシュメモリは、書き込み時に過剰に電子が浮遊ゲート電極に注入され、メモリセルの閾値電圧が異常に高くなることにより、読み出しの際にビット不良が発生するオーバープログラムと呼ばれる不良や、浮遊ゲート電極に注入された電子が基板などにリークしたり、基板などからリークした電子が浮遊ゲート電極に注入されることで、元のデータが逆データに反転してしまうリテンション不良が起こることがある。
【０００４】
一方、フラッシュメモリへのデータの記録には、ファイルシステムが使用される。フラッシュメモリは、管理領域を設けてファイルシステムなどの管理情報を記憶し、この管理情報に基づいて、データの書き込み、読み出し、消去等を行う。そのため、管理領域のデータが壊れてしまうと、フラッシュメモリに記録したデータにアクセスすることができなくなってしまう。
【０００５】
また、この種の関連技術として、更新された管理情報の格納時に一対のブロックを使用することで、管理情報の書き込みエラーに対する耐性を高める方式が開示されている（特許文献１参照）。
【特許文献１】特開２００４−２８０７５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、管理情報などを格納する特定領域のデータ信頼性を向上させることが可能なメモリシステムを提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るメモリシステムは、第１の記憶領域と第２の記憶領域とを有する不揮発性メモリと、前記第２の記憶領域への書き込み時に、前記第１の記憶領域よりもエラー訂正能力を高くするコントローラとを具備する。
【発明の効果】
【０００８】
本発明によれば、管理情報などを格納する特定領域のデータ信頼性を向上させることが可能なメモリシステムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１０】
［第１の実施形態］
不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）を備えたメモリシステムとしては、様々な形式のものが考えられる。その様々なメモリシステムの中で、本実施形態では、メモリカードを一例に挙げて説明する。メモリカードは、ホスト装置２に設けられたスロットに対して着脱可能なように構成されており、ホスト装置に装着された状態で動作する。しかし、本発明はメモリカードに限定されるものではなく、メモリシステム及びホスト装置を１つのＬＳＩ（Large-Scale Integrated Circuit）として構成してもよい。すなわち、ホスト装置が実装されたプリント基板上に、メモリシステムを構成するコントローラ及び不揮発性半導体メモリが実装されるように構成してもよい。
【００１１】
［１．メモリシステム１の構成］
図１は、本発明の第１の実施形態に係るメモリシステム（メモリカード）１の構成を示すブロック図である。メモリカード１は、ホスト装置２に接続された時に電源供給を受けて動作し、ホスト装置２からのアクセス要求に応じた処理を行う。ホスト装置２は、バスインターフェースを介して接続されるメモリカード１に対してアクセスを行うためのハードウェア及びソフトウェアを備えている。また、ホスト装置２は、メモリカード１に電源を供給するための電源回路を備えている。
【００１２】
メモリカード１は、ホスト装置２との間でバスインターフェースを介してデータの授受を行う。メモリカード１は、不揮発性メモリの一種であるＮＡＮＤ型フラッシュメモリ１１、及びＮＡＮＤ型フラッシュメモリ１１を制御するメモリコントローラ１２を備えている。なお、不揮発性メモリとしては、ＮＡＮＤ型フラッシュメモリ１１に限定されず、様々な種類の不揮発性メモリを使用することが可能である。
【００１３】
メモリコントローラ１２は、ＮＡＮＤ型フラッシュメモリ１１内部の物理状態（例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスのデータが含まれているか、或いは、何処のブロックが消去状態であるか）を管理する。メモリコントローラ１２は、ホストインターフェース（ホストＩ／Ｆ）１３、ＣＰＵ（Central Processing Unit）１４、ＲＯＭ（Read-only memory）１５、ＲＡＭ（Random access memory）１６、バッファ１７、メモリインターフェース（メモリＩ／Ｆ）１８、第１のＥＣＣ（Error Check and Correct）回路１９、及び第２のＥＣＣ回路２０を備えている。
【００１４】
ホストインターフェース１３は、所定のプロトコルに従ってメモリコントローラ１２とホスト装置２との間のインターフェース処理を行う。メモリインターフェース１８は、所定のプロトコルに従ってメモリコントローラ１２とＮＡＮＤ型フラッシュメモリ１１との間のインターフェース処理を行う。
【００１５】
ＲＯＭ１５は、ＣＰＵ１４によって使用される制御プログラム等を格納する。ＲＡＭ１６は、ＣＰＵ１４の作業エリアとして使用され、ＲＯＭ１５から読み出された制御プログラムや各種のテーブルを格納する。バッファ１７は、ホスト装置２から送られてくるデータをＮＡＮＤ型フラッシュメモリ１１に書き込む際に、ホストインターフェースに基づく一定量のデータを一時的に格納したり、ＮＡＮＤ型フラッシュメモリ１１から読み出されるデータをホスト装置２へ送る際に、一定量のデータを一時的に格納したりする。
【００１６】
ＣＰＵ１４は、メモリカード１全体の動作を制御する。ＣＰＵ１４は、メモリカード１がホスト装置２から電源供給を受けると、ＲＯＭ１５或いはＮＡＮＤ型フラッシュメモリ１１に格納されている制御プログラムを読み出して所定の処理を実行したり、ＲＯＭ１５或いはＮＡＮＤ型フラッシュメモリ１１から読み出したデータを用いて各種のテーブルをＲＡＭ１６上に作成し、このテーブルを用いて所定の処理を実行したりする。また、ＣＰＵ１４は、ホスト装置２から書き込みコマンド、読み出しコマンド、及び消去コマンド等を受け、これらのコマンドに基づいてＮＡＮＤ型フラッシュメモリ１１に対して書き込み処理、読み出し処理、及び消去処理等を実行する。
【００１７】
第１のＥＣＣ回路１９及び第２のＥＣＣ回路２０の各々は、ホスト装置２から送られる書き込みデータに対しては、所定のビット数（或いはバイト数）からなるデータ部分ごとにエラー訂正符号を生成する。各エラー訂正符号は、これに対応するデータ部分とともにＮＡＮＤ型フラッシュメモリ１１に格納される。また、第１のＥＣＣ回路１９及び第２のＥＣＣ回路２０の各々は、ＮＡＮＤ型フラッシュメモリ１１から送られる読み出しデータに対しては、同時に読み出されるエラー訂正符号を用いて、データ部分ごとにエラーの検出及び訂正を行う。エラーの訂正を行った後、ＥＣＣ回路は、エラー訂正符号を取り除いた状態でデータをバッファ１７に送る。従って、ホスト装置２には、エラー訂正符号を含まない読み出しデータがメモリカード１から送られる。
【００１８】
図２は、ＮＡＮＤ型フラッシュメモリ１１の論理構成を示す概略図である。ＮＡＮＤ型フラッシュメモリ１１は、ファイルシステム管理領域２１、及びユーザ領域２２を備えている。先頭アドレス“０”からアドレス“Ｘ−１”までがファイルシステム管理領域２１、アドレス“Ｘ”以降がユーザ領域２２である。図２に示すアドレスは、論理アドレスを表している。
【００１９】
ユーザ領域２２は、ユーザが自由に読み出し及び書き込みすることが可能なユーザデータ（文書、静止画、動画などのデータ）を格納するために使用される。
【００２０】
一方、ファイルシステム管理領域２１は、ユーザ領域２２に格納されたデータの管理情報や、ＮＡＮＤ型フラッシュメモリ１１に関する種々な管理情報（基本的にはユーザが自由に読み出し及び書き込みすることができず、ＮＡＮＤ型フラッシュメモリ１１の起動時等にホスト装置２やメモリコントローラ１２が使用する情報）を格納するために使用される。また、ファイルシステム管理領域２１は、ＮＡＮＤ型フラッシュメモリ１１に格納されるデータを管理する方式であるファイルシステムを格納する。ファイルシステムには、ＮＡＮＤ型フラッシュメモリ１１にファイルやフォルダ（ディレクトリ）を作成したり、これらを移動や削除したりする方法や、データを記録する方法、管理領域の場所や利用方法などが定められている。
【００２１】
図３は、ＮＡＮＤ型フラッシュメモリ１１の構造を示す概略図である。各ページは、例えば４２２４バイトを有しており、このうち、例えば、４０９６バイトがデータ領域、残りの１２８バイトが冗長領域として使用される。ページは、データの書き込み或いは読み出しの単位である。ブロックは、複数のページから構成されており、データの消去単位である。ＮＡＮＤ型フラッシュメモリ１１は、記憶領域以外に、ページ単位でデータを保持するページバッファを備えており、本実施形態では、ページバッファの記憶容量は、１ページの容量と同じ４２２４バイトである。このページバッファを介して、ＮＡＮＤ型フラッシュメモリ１１とメモリインターフェース１８との間でデータの授受が行われる。
【００２２】
図４は、ＮＡＮＤ型フラッシュメモリ１１に含まれる１個のブロックの構成を示す等価回路図である。
【００２３】
ブロックは、Ｘ方向に沿って順に配置された（ｍ＋１）個のＮＡＮＤストリングを備えている（ｍは、１以上の自然数）。各ＮＡＮＤストリングは、２個の選択トランジスタＳＴ１、ＳＴ２、及び（ｎ＋１）個のメモリセルトランジスタＭＴを備えている（ｎは、１以上の自然数）。（ｍ＋１）個のＮＡＮＤストリングにそれぞれ含まれる選択トランジスタＳＴ１は、ドレインがビット線ＢＬ０〜ＢＬｍに接続され、ゲートが選択ゲート線ＳＧＤに共通接続されている。また、選択トランジスタＳＴ２は、ソースがソース線ＳＬに共通接続され、ゲートが選択ゲート線ＳＧＳに共通接続されている。
【００２４】
各メモリセルトランジスタＭＴは、半導体基板上にゲート絶縁膜（トンネル絶縁膜）を介在して形成された積層ゲート構造を備えたＭＯＳＦＥＴ（metal oxide semiconductor field effect transistor）である。積層ゲート構造は、ゲート絶縁膜上に形成された電荷蓄積層（浮遊ゲート電極）と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極とを含んでいる。メモリセルトランジスタＭＴは、浮遊ゲート電極に注入される電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶する。
【００２５】
各ＮＡＮＤストリングにおいて、（ｎ＋１）個のメモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている。すなわち、複数のメモリセルトランジスタＭＴは、隣接するもの同士で拡散領域（ソース領域若しくはドレイン領域）を共有するような形でＹ方向に直列接続される。
【００２６】
そして、最もドレイン側に位置するメモリセルトランジスタＭＴから順に、制御ゲート電極がワード線ＷＬ０〜ＷＬｎにそれぞれ接続されている。従って、ワード線ＷＬ０に接続されたメモリセルトランジスタＭＴのドレインは選択トランジスタＳＴ１のソースに接続され、ワード線ＷＬｎに接続されたメモリセルトランジスタＭＴのソースは選択トランジスタＳＴ２のドレインに接続されている。
【００２７】
ワード線ＷＬ０〜ＷＬｎは、ブロック内のＮＡＮＤストリング間で、メモリセルトランジスタＭＴの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタＭＴの制御ゲート電極は、同一のワード線ＷＬに接続される。この同一のワード線ＷＬに接続される（ｍ＋１）個のメモリセルトランジスタＭＴは１ページとして取り扱われ、このページごとにデータの書き込み及びデータの読み出しが行われる。
【００２８】
また、ビット線ＢＬ０〜ＢＬｍは、ブロック間で、選択トランジスタＳＴ１のドレインを共通に接続している。つまり、複数のブロック内において同一列にあるＮＡＮＤストリングは、同一のビット線ＢＬに接続される。
【００２９】
本実施形態に係るＮＡＮＤ型フラッシュメモリ１１に含まれるメモリセルトランジスタＭＴは、２値（１ビット）を記憶するように構成されていてもよいし、多値（２ビット以上）を記憶するように構成されていてもよい。
【００３０】
［２．メモリカード１の動作］
次に、このように構成されたメモリカード１の動作について説明する。図５は、メモリカード１のデータ書き込み動作を示すフローチャートである。データ書き込み時には、ホスト装置２は、書き込みコマンド、アドレス、及び書き込みデータをメモリカード１に送る。メモリコントローラ１２は、これら書き込みコマンド、アドレス、及び書き込みデータを受ける（ステップＳ１００）。なお、ここでいうアドレスとは、論理アドレスを意味している。
【００３１】
続いて、メモリコントローラ１２は、アドレスがファイルシステム管理領域２１及びユーザ領域２２のどちらを指しているか、すなわち、アドレスが“Ｘ”より小さいか否かを判定する（ステップＳ１０１）。本実施形態では、ファイルシステム管理領域２１及びユーザ領域２２のそれぞれに対して、書き込み処理の方法を変えている。アドレスが“Ｘ”より小さい場合は、メモリコントローラ１２は、ファイルシステム管理領域２１への書き込み処理を実行する（ステップＳ１０２）。一方、アドレスが“Ｘ”以上である場合は、メモリコントローラ１２は、ユーザ領域２２への書き込み処理を実行する（ステップＳ１０３）。
【００３２】
［２−１．ユーザ領域２２への書き込み動作］
最初に、ステップＳ１０３におけるユーザ領域２２への書き込み処理について説明する。図６は、ユーザ領域２２への書き込み処理を示すフローチャートである。図７は、ユーザ領域２２への書き込み処理を具体的に説明する概略図である。例えば、アドレス“Ｙ”に対して５１２バイトの書き込みアクセスが発生したものとする。アドレス“Ｙ”は、アドレス“Ｘ”以上であり、よってこのアドレス“Ｙ”はユーザ領域２２を指している。
【００３３】
まず、メモリコントローラ１２は、書き込みデータを例えば２５６バイト単位で分割する（ステップＳ２００）。ホスト装置２とメモリカード１との間で扱われる最小データサイズが５１２バイトとすると、１ページ内のデータ領域には、それぞれが５１２バイトの８個のデータが格納され、また、１ページは、これら８個のデータに対応しかつそれぞれが１６バイトの８個の冗長領域を含んでいる。本実施形態では、５１２バイトの書き込みデータをそれぞれが２５６バイトの２個のデータ部分に分割するため、１ページに含まれる４０９６バイトの全データ領域は、それぞれが２５６バイトの１６個のデータ領域に分割されることになる。また、１ページに含まれる１２８バイトの全冗長領域は、それぞれが８バイトの１６個の冗長領域に分割される。
【００３４】
続いて、第１のＥＣＣ回路１９は、２５６バイトのデータ部分ごとに、エラー訂正符号を生成する（ステップＳ２０１）。この場合のエラー訂正符号のサイズは、例えば３バイトである。第１のＥＣＣ回路１９は、それの訂正能力は１ビット、検出能力は２ビットであり、ランダムエラーを訂正可能である。よって、第１のＥＣＣ回路１９は、２５６バイトあたり１ビットのエラーを訂正することが可能である。
【００３５】
続いて、メモリコントローラ１２は、２５６バイト単位で書き込みデータをユーザ領域２２内のデータ領域に書き込む。さらに、メモリコントローラ１２は、２５６バイトのデータ部分に対応するエラー訂正符号を、これに対応して設けられた８バイトの冗長領域に書き込む（ステップＳ２０２）。
【００３６】
具体的には、図７に示すように、ユーザ領域２２内のページ“Ａ”に５１２バイトの書き込みデータを書き込む場合、この書き込みデータがそれぞれが２５６バイトの２個のデータ部分に分割され、これらがそれぞれデータ領域１及びデータ領域２に格納される。また、第１のＥＣＣ回路１９によって１個目のデータ部分に対してエラー訂正符号ＥＣＣ１が生成され、２個目のデータ部分に対してエラー訂正符号ＥＣＣ２が生成されており、エラー訂正符号ＥＣＣ１はデータ領域１に対応する８バイトの冗長領域に格納され、エラー訂正符号ＥＣＣ２はデータ領域２に対応する８バイトの冗長領域に格納される。このようにして、ユーザ領域２２への書き込み処理が行われる。
【００３７】
［２−２．ファイルシステム管理領域２１への書き込み動作］
次に、ステップＳ１０２におけるファイルシステム管理領域２１への書き込み処理について説明する。図８は、ファイルシステム管理領域２１への書き込み処理を示すフローチャートである。図９は、ファイルシステム管理領域２１への書き込み処理を具体的に説明する概略図である。例えば、アドレス“Ｚ”に対して５１２バイトの書き込みアクセスが発生したものとする。アドレス“Ｚ”は、アドレス“Ｘ”より小さく、よってこのアドレス“Ｚ”はファイルシステム管理領域２１を指している。
【００３８】
まず、メモリコントローラ１２は、書き込みデータを例えば３２バイト単位で分割する（ステップＳ３００）。ホスト装置２とメモリカード１との間で扱われる最小データサイズが５１２バイトとすると、１ページ内のデータ領域には、それぞれが５１２バイトの８個のデータが格納され、また、１ページは、これら８個のデータに対応しかつそれぞれが１６バイトの８個の冗長領域を含んでいる。本実施形態では、５１２バイトの書き込みデータを３２バイト単位で分割するため、５１２バイトのデータ領域は、それぞれが３２バイトの１６個のデータ領域に分割される。よって、１ページに含まれる４０９６バイトの全データ領域は、それぞれが３２バイトの１２８個のデータ領域に分割されることになる。また、それぞれが３２バイトの８個のデータ領域に対応して８バイトの冗長領域が設けられる。
【００３９】
続いて、第２のＥＣＣ回路２０は、３２バイトのデータ部分ごとに、エラー訂正符号を生成する（ステップＳ３０１）。この場合のエラー訂正符号のサイズは、例えば２バイトである。第２のＥＣＣ回路２０は、それの訂正能力は１ビット、検出能力は２ビットであり、ランダムエラーを訂正可能である。よって、第２のＥＣＣ回路２０は、３２バイトあたり１ビットのエラーを訂正することが可能である。
【００４０】
続いて、メモリコントローラ１２は、３２バイト単位で書き込みデータをファイルシステム管理領域２１内のデータ領域に書き込む。すなわち、ファイルシステム管理領域２１への書き込み時のデータサイズは、ユーザ領域２２への書き込み時のデータサイズの１／８以下に設定される。さらに、メモリコントローラ１２は、書き込みデータに対して生成された全てのエラー訂正符号を、ファイルシステム管理領域２１内のデータ領域に書き込む（ステップＳ３０２）。
【００４１】
具体的には、図９に示すように、ファイルシステム管理領域２１内のページ“Ｂ”に５１２バイトの書き込みデータを書き込む場合、この書き込みデータがそれぞれが３２バイトの１６個のデータ部分に分割され、これらがそれぞれデータ領域１乃至データ領域１６に格納される。また、第２のＥＣＣ回路２０によって１６個のデータ部分に対して１６個のＥＣＣ（ＥＣＣ１乃至ＥＣＣ１６）が生成されており、これらＥＣＣ１乃至ＥＣＣ１６は、例えばデータ領域１１３に格納される。このようにして、ファイルシステム管理領域２１への書き込み処理が行われる。
【００４２】
［２−３．データ読み出し動作］
次に、メモリカード１のデータ読み出し動作について説明する。データ読み出し時には、ホスト装置２は、読み出しコマンド、及びアドレスをメモリカード１に送る。読み出しアクセスを受けた場合には、メモリコントローラ１２は、アドレスに応じてデータの読み出し方法を変える。
【００４３】
アドレスが“Ｘ”以上である場合は、メモリコントローラ１２は、ユーザ領域２２への読み出しアクセスであると判断する。この場合は図７で示すデータ領域及び冗長領域に読み出しデータ及びエラー訂正符号が書き込まれているため、メモリコントローラ１２は、これらのデータ領域及び冗長領域から読み出しデータ及びエラー訂正符号を読み出す。なお、データ及びエラー訂正符号の格納場所は、例えばユーザ領域２２内の冗長領域に管理情報として予め格納しておき、この管理情報を確認することで判断することができる。
【００４４】
続いて、第１のＥＣＣ回路１９は、エラー訂正符号を用いて、２５６バイトのデータ部分ごとにエラー訂正を実行する。そして、メモリコントローラ１２は、エラー訂正された読み出しデータをホスト装置２に送る。
【００４５】
一方、アドレスが“Ｘ”より小さい場合は、メモリコントローラ１２は、ファイルシステム管理領域２１への読み出しアクセスであると判断する。この場合は図９で示すデータ領域に読み出しデータ及びエラー訂正符号が書き込まれているため、メモリコントローラ１２は、これらのデータ領域から読み出しデータ及びエラー訂正符号を読み出す。データ及びエラー訂正符号の格納場所は、例えばファイルシステム管理領域２１内の冗長領域に管理情報として予め格納しておき、この管理情報を確認することで判断することができる。
【００４６】
続いて、第２のＥＣＣ回路２０は、エラー訂正符号を用いて、３２バイトのデータ部分ごとにエラー訂正を実行する。そして、メモリコントローラ１２は、エラー訂正された読み出しデータをホスト装置２に送る。
【００４７】
以上詳述したように第１の実施形態では、ＮＡＮＤ型フラッシュメモリ１１がファイルシステム管理領域２１及びユーザ領域２２を備えており、これらファイルシステム管理領域２１及びユーザ領域２２に対して、メモリコントローラ１２がデータの書き込み方法及び読み出し方法を変えるようにしている。すなわち、ユーザ領域２２に対しては、第１のデータサイズ（例えば２５６バイト）単位でエラー訂正符号の生成及びエラー訂正処理を実行し、ファイルシステム管理領域２１に対しては、第１のデータサイズより小さい第２のデータサイズ（例えば３２バイト）単位でエラー訂正符号の生成及びエラー訂正処理を実行するようにしている。
【００４８】
従って第１の実施形態によれば、特定領域（ファイルシステム管理領域２１）に対してエラー訂正能力を高めることが可能となり、特定領域に格納されているファイルシステムや管理情報などの重要なデータの信頼性を向上させることができる。これにより、メモリシステム全体の信頼性を向上させることが可能となる。また、ファイルシステム管理領域２１の記憶容量が減少するのを抑えつつ、ファイルシステム管理領域２１に対してエラー訂正能力を高めることが可能となる。
【００４９】
［第２の実施形態］
第２の実施形態は、ファイルシステム管理領域２１へのエラー訂正符号の書き込み方法を変えており、このエラー訂正符号をファイルシステム管理領域２１の冗長領域に格納するようにしている。
【００５０】
図１０は、本発明の第２の実施形態に係るファイルシステム管理領域２１内の１ページの構成を示す概略図である。
【００５１】
本実施形態のＮＡＮＤ型フラッシュメモリ１１では、各ページは、例えば４４８０バイトを有しており、このうち、例えば、４０９６バイトがデータ領域、残りの３８４バイトが冗長領域として使用される。
【００５２】
ファイルシステム管理領域２１へのデータ書き込み時、メモリコントローラ１２は、書き込みデータを３２バイト単位で分割する。ホスト装置２とメモリカード１との間で扱われる最小データサイズが５１２バイトとすると、１ページ内のデータ領域には、それぞれが５１２バイトの８個のデータが格納され、また、１ページは、これら８個のデータに対応しかつそれぞれが４８バイトの８個の冗長領域を含んでいる。本実施形態でも、５１２バイトの書き込みデータを３２バイト単位で分割するため、５１２バイトのデータ領域は、それぞれが３２バイトの１６個のデータ領域に分割される。よって、１ページに含まれる４０９６バイトの全データ領域は、それぞれが３２バイトの１２８個のデータ領域に分割されることになる。また、１ページに含まれる３８４バイトの全冗長領域は、１２８個のデータ領域に対応しかつそれぞれが３バイトの１２８個の冗長領域に分割される。
【００５３】
ここで、図１０に示すように、メモリコントローラ１２は、第２のＥＣＣ回路２０によって５１２バイトの書き込みデータに対して生成された１６個のＥＣＣ（ＥＣＣ１乃至ＥＣＣ１６）をそれぞれ、データ領域１乃至データ領域１６に対応する１６個の冗長領域に格納する。
【００５４】
データ読み出し時には、メモリコントローラ１２は、データ領域及び冗長領域から読み出しデータ及びエラー訂正符号を読み出す。なお、データ及びエラー訂正符号の格納場所は、例えばファイルシステム管理領域２１内のデータ領域或いは冗長領域に管理情報として予め格納しておき、この管理情報を確認することで判断することができる。そして、第２のＥＣＣ回路２０は、エラー訂正符号を用いて、３２バイトのデータ部分ごとにエラー訂正を実行する。そして、メモリコントローラ１２は、エラー訂正された読み出しデータをホスト装置２に送る。なお、ユーザ領域２２への書き込み方法、及びユーザ領域２２からの読み出し方法は、第１の実施形態と同じである。
【００５５】
以上詳述したように第２の実施形態によれば、第１の実施形態と同様に、特定領域（ファイルシステム管理領域２１）に対してエラー訂正能力を高めることが可能となり、特定領域に格納されているファイルシステムや管理情報などの重要なデータの信頼性を向上させることができる。また、本実施形態では、エラー訂正符号をデータ領域に格納する必要がないため、ファイルシステム管理領域２１のデータ領域の記憶容量が減少するのを防ぐことができる。
【００５６】
なお、上記各実施形態ではＮＡＮＤ型の不揮発性半導体メモリを例に挙げて説明したが、これ以外に、ＮＯＲ型、ＡＮＤ型、ＤＩＮＯＲ（Divided bit-line NOR）型の不揮発性半導体メモリにも適用可能である。
【００５７】
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の第１の実施形態に係るメモリカード１の構成を示すブロック図。
【図２】ＮＡＮＤ型フラッシュメモリ１１の論理構成を示す概略図。
【図３】ＮＡＮＤ型フラッシュメモリ１１の構造を示す概略図。
【図４】ＮＡＮＤ型フラッシュメモリ１１に含まれる１個のブロックの構成を示す等価回路図。
【図５】メモリカード１のデータ書き込み動作を示すフローチャート。
【図６】ユーザ領域２２への書き込み処理を示すフローチャート。
【図７】ユーザ領域２２への書き込み処理を具体的に説明する概略図。
【図８】ファイルシステム管理領域２１への書き込み処理を示すフローチャート。
【図９】ファイルシステム管理領域２１への書き込み処理を具体的に説明する概略図。
【図１０】本発明の第２の実施形態に係るファイルシステム管理領域２１内の１ページの構成を示す概略図。
【符号の説明】
【００５９】
ＭＴ…メモリセルトランジスタ、ＳＴ１，ＳＴ２…選択トランジスタ、ＳＧＤ，ＳＧＳ…選択ゲート線、ＳＬ…ソース線、ＷＬ…ワード線、ＢＬ…ビット線、１…メモリシステム、２…ホスト装置、１１…ＮＡＮＤ型フラッシュメモリ、１２…メモリコントローラ、１３…ホストインターフェース、１４…ＣＰＵ、１５…ＲＯＭ、１６…ＲＡＭ、１７…バッファ、１８…メモリインターフェース、１９…第１のＥＣＣ回路、２０…第２のＥＣＣ回路、２１…ファイルシステム管理領域、２２…ユーザ領域。
【図１】
2010128697.tif 000003
【図２】
2010128697.tif 000004
【図３】
2010128697.tif 000005
【図４】
2010128697.tif 000006
【図５】
2010128697.tif 000007
【図６】
2010128697.tif 000008
【図７】
2010128697.tif 000009
【図８】
2010128697.tif 000010
【図９】
2010128697.tif 000011
【図１０】
2010128697.tif 000012