(57)【要約】【課題】不揮発性メモリとコントローラを搭載した不揮発性記憶装置において、リード／ライト速度の性能を向上、リテンションエラー耐性の向上を実現する。【解決手段】不揮発性メモリ（３）は２ビット以上の情報を格納可能にされ、不揮発性メモリセルから読み出した情報を１ビット情報として出力する第１読み出しと、読み出した情報を２ビット情報として出力する第２読み出しとが可能である。コントローラ（２）は、不揮発性メモリから第１情報を読み出すときは第１読み出しを行い、第２情報を読み出すときは第２読み出しを行う。第１読み出しは第２読み出しに比べて読み出し速度を高速化できる。第１読み出し対象領域に対する書き込みでは閾値電圧を上限の閾値電圧分布の電圧と下限の閾値電圧分布の電圧とから選ばれた一方の電圧として、第１情報のリテンションエラー耐性を向上する。【選択図】　　　　図１
2004086991.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリとコントローラとを有し、
前記不揮発性メモリは複数の不揮発性メモリセルを有し、それぞれの不揮発性メモリセルはｎ（ｎは２以上の整数）ビット以上の情報を格納可能であり、前記不揮発性メモリセルから読み出した情報をｍ（ｍはｎより小さい整数）ビット情報として出力する第１読み出しと、前記不揮発性メモリセルから読み出した情報をｎビット情報として出力する第２読み出しとが可能であり、
前記コントローラは、前記不揮発性メモリから第１情報を読み出すときは第１読み出しを行い、前記不揮発性メモリから第２情報を読み出すときは第２読み出しを行うことを特徴とする不揮発性記憶装置。
【請求項２】
前記第１情報は前記第２情報の格納領域に対する有効性を示す有効性管理情報であることを特徴とする請求項１記載の不揮発性記憶装置。
【請求項３】
前記コントローラは、外部からの指示に従って不揮発性メモリを動作させるとき、第１読み出しを行って不揮発性メモリから読み出した有効性管理情報に基づいて前記第２情報の格納領域に対する有効性を判定し、有効であることを判別したとき、第２読み出しを行って不揮発性メモリから第２情報を読み出すことを特徴とする請求項２記載の不揮発性記憶装置。
【請求項４】
前記コントローラは、第１読み出しを行って不揮発性メモリから読み出した有効性管理情報に基づいて前記第２情報の格納領域に対する有効性を判定し、無効であることを判別したとき、前記第２情報の格納領域に対する代替領域に対して第１読み出しを行って不揮発性メモリから読み出した有効性管理情報に基づいて前記第２情報の格納領域に対する有効性を判定し、有効であるとき第２読み出しを行って当該代替領域から第２情報を読み出すことを特徴とする請求項３記載の不揮発性記憶装置。
【請求項５】
前記不揮発性メモリセルは、格納すべき情報に応じた４種類以上の閾値電圧分布のうち１の分布に含まれる閾値電圧を有し、
前記不揮発性メモリは、前記不揮発性メモリセルに前記第１情報を格納するとき、当該不揮発性メモリセルの閾値電圧を、前記閾値電圧分布の間の所定の電圧を境界として、前記所定の電圧よりも高い電圧の閾値電圧分布の何れか又は前記所定の電圧よりも低い電圧の閾値電圧分布の何れかのどちらかに含まれる閾値電圧とすることで、前記第１読み出しにおいて前記所定の電圧と不揮発性メモリセルの閾値電圧との高低の比較により、ｍビット情報としての読み出しを行うことを特徴とする請求項１記載の不揮発性記憶装置。
【請求項６】
前記第１情報が格納された不揮発性メモリセルの閾値電圧は、上限の閾値電圧分布の電圧と下限の閾値電圧分布の電圧から選ばれた一方の電圧であることを特徴とする請求項５記載の不揮発性記憶装置。
【請求項７】
前記コントローラは、前記第２読み出しで不揮発性メモリから読み出された第２情報を外部に出力可能であり、また、前記コントローラは外部から入力された前記第２情報を不揮発性メモリに供給可能であり、
前記不揮発性メモリは、前記第２読み出しで読み出された第２情報をコントローラに供給する前に一時的に格納可能であって、且つ、前記コントローラから供給された第２情報を前記不揮発性メモリセルに格納する前に一時的に格納可能なメモリバッファ部を有することを特徴とする請求項１記載の不揮発性記憶装置。
【請求項８】
前記不揮発性メモリは、前記第１読み出しで第１情報を読み出すとき前記メモリバッファ部を迂回して第１情報を出力することを特徴とする請求項７記載の不揮発性記憶装置。
【請求項９】
前記第１情報は前記第２情報の格納領域に対する有効性を示す有効性管理情報を含むことを特徴とする請求項８記載の不揮発性記憶装置。
【請求項１０】
前記コントローラは、外部からの指示に従って不揮発性メモリを動作させるとき、第１読み出しを行って不揮発性メモリから読み出した有効性管理情報に基づいて前記第２情報の格納領域に対する有効性を判定し、有効であることを判別したとき、前記メモリバッファ部の第２情報をメモリセルに書き込むことを特徴とする請求項９記載の不揮発性記憶装置。
【請求項１１】
前記コントローラは、第１読み出しを行って不揮発性メモリから読み出した有効性管理情報に基づいて前記第２情報の格納領域に対する有効性を判定し、無効であることを判別したとき、前記第２情報の格納領域に対する代替領域に対して第１読み出しを行って不揮発性メモリから読み出した有効性管理情報に基づいて前記第２情報の格納領域に対する有効性を判定し、有効であるとき当該代替領域のメモリセルにメモリバッファ部の第２情報を書き込むことを特徴とする請求項１０記載の不揮発性記憶装置。
【請求項１２】
前記コントローラは、外部から供給された第２情報を一時的に保持すると共に、不揮発性メモリから読み出されて供給された第２情報を一時的に保持するコントローラバッファ部を有することを特徴とする請求項７記載の不揮発性記憶装置。
【請求項１３】
前記コントローラは、コントローラバッファ部からメモリバッファ部にデータを供給した後、メモリバッファ部のデータを不揮発性メモリセルに格納させ、これに並行してコントローラバッファ部に外部からの別のデータを入力可能とすることを特徴とする請求項１２記載の不揮発性記憶装置。
【請求項１４】
不揮発性メモリとコントローラとを有し、
前記不揮発性メモリは複数の不揮発性メモリセルを有し、それぞれの不揮発性メモリセルは４種類以上の情報記憶状態のうちの一種類に含まれる情報記憶状態に設定可能にされ、前記一種類の情報記憶状態が設定された前記不揮発性メモリセルから読み出した情報をｍ（ｍは１以上の整数）ビット情報として出力する第１読み出しと、前記一種類の情報記憶状態が設定された前記不揮発性メモリセルから読み出した情報をｎ（ｎはｍよりも大きい整数）ビット情報として出力する第２読み出しとが可能であり、
前記コントローラは、前記不揮発性メモリから第１情報を読み出すときは第１読み出しを行い、前記不揮発性メモリから第２情報を読み出すときは第２読み出しを行うことを特徴とする不揮発性記憶装置。
【請求項１５】
前記４種類以上の情報記憶状態のうちの一種類に含まれる情報記憶状態は、不揮発性メモリセルの４種類以上の閾値電圧分布のうち１の分布に含まれる閾値電圧状態であることを特徴とする請求項１４記載の不揮発性記憶装置。
【請求項１６】
前記不揮発性メモリは、前記不揮発性メモリセルに前記第１情報を格納するとき、当該不揮発性メモリセルの閾値電圧を、上限の前記閾値電圧分布の電圧と下限の閾値電圧分布の電圧とから選ばれた一方の電圧とすることを特徴とする請求項１５記載の不揮発性記憶装置。
【請求項１７】
前記不揮発性メモリは、前記第２読み出しで複数の不揮発性メモリセルからそれぞれｎビット情報として読み出された第２情報を保持してコントローラに供給可能にすると共に、前記コントローラから供給された第２情報を保持してｎビット毎に１個の不揮発性メモリセルを４種類の閾値電圧分布のうち１の分布に含まれる閾値電圧に設定可能とするメモリバッファ部を有し、
前記第１読み出しで複数の不揮発性メモリセルからそれぞれｍビット情報として読み出された第１情報は前記メモリバッファ部を迂回して前記コントローラに出力することを特徴とする請求項１６記載の不揮発性記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性メモリとコントローラとを有する不揮発性記憶装置に関し、例えば不揮発性メモリとしてフラッシュメモリを備えたメモリカードに適用して有効な技術に関する。
【０００２】
【従来の技術】
不揮発性メモリとして１個の不揮発性メモリセルに２ビット情報を記憶可能なものがある。特開平１０−１０６２７６号公報には、メモリセルに２ビット情報と１ビット情報を記憶可能な不揮発性メモリセルについて記載がある。これによれば、１個の不揮発性メモリセルに２ビット情報を記憶する場合にはそれぞれの閾値電圧分布が狭くなるので、閾値電圧を設定するときパルス電圧の印加毎に変化される不揮発性メモリセルの閾値電圧の変化量を相対的に小さくする高精度書き込みモードを持ち、１個の不揮発性メモリセルに１ビット情報を記憶する場合には閾値電圧を設定するときパルス電圧の印加毎に変化される不揮発性メモリセルの閾値電圧の変化量を相対的に大きくする粗い書き込みモードを持つ。パルス電圧の印加回数は粗い書き込みモードの方が少ないので、粗い書き込みモードを用いるときには書き込みベリファイ回数が少なくなり、これにより全体として書き込み動作が高速化される。記憶密度若しくは記憶容量を優先させる場合には高精度書き込みモードを用いて１個の不揮発性メモリセルに２ビット情報を記憶する。或いは、後から１ビット情報を２ビット情報に直して不揮発性メモリセルに記憶させる。そのほかに、多値情報を記憶可能にした不揮発性メモリとしてＷＯ９８／０１８６１の再公表特許公報の記載がある。
【０００３】
【発明が解決しようとする課題】
本願発明者はコントローラとフラッシュメモリを搭載したメモリカードについて検討した。例えば、メモリカードに搭載されるフラッシュメモリはユーザデータ領域、代替領域及び代替先登録テーブル領域等に分けられ、各領域は夫々固有の物理ブロックアドレスが割当てられてブロック分割され、各ブロック（セクタ）はデータ部とデータ部の有効性等を示す管理情報部に分けられる。ホスト装置からアクセス要求があると、コントローラはアクセス対象の物理ブロックアドレスに配置された管理情報部の管理情報をリードして、対応するデータ部の有効性を判定し、有効であればそのデータ部をアクセスし、無効であれば代替先登録テーブル領域から代替先の物理ブロックアドレスを取得し、同じくそのアドレスのデータ部の有効性を判定し、有効であればそのデータ部をアクセスする。斯様に、メモリカードに対するアクセスの高速化には前記フラッシュメモリの管理情報読出し時間を短縮させることが必要になる。
【０００４】
このとき、不揮発性メモリセルに４値で情報記憶を行なっている場合、読み出しでは記憶情報の判定レベルを順次代えてメモリセル当り２ビットの情報を取得するようにされる。この読み出し処理は不揮発性メモリセルに２値で情報記憶を行なっている場合の読み出しに比べて時間がかかる。例えば、多値フラッシュメモリでは、リード時のファースト・アクセス時間（読み出しコマンド入力後、最初のデータが読み出せるまでの時間）が２値フラッシュメモリに比べ非常に大きくなる。
【０００５】
これにより、ホスト装置からのリード／ライトに対して、アクセスするフラッシュメモリのブロックを検索する（良／不良のチェック）ために、まず管理情報を読み出す。多値フラッシュメモリでは、この管理情報を読み出すときのファースト・アクセス時間が長いので、アクセスするブロックの良／不良をチェックするための時間が長くなる。これにより、リード／ライト速度の性能向上が妨げられる。
【０００６】
更に本発明者は、経年変化などによるデータ化け（リテンションエラーなど）の発生について検討した。不揮発性メモリセルの閾値電圧の相違によって情報を記憶する場合、複数種類の閾値電圧分布が接近している場合には経年変化などによりデータ化けを生ずる可能性が高くなる。不揮発性メモリセルの特性を変えることなく情報記憶に用いる閾値電圧分布を離間させることができれば、所要のデータ領域に対して経年変化などによるリテンションエラー耐性の向上に役立つことが本発明者によって見出された。
【０００７】
更に本発明者は、フラッシュメモリへのデータ書込み時に書き込みエラーが発生した場合について検討した。この場合には代替先を検索するために不揮発性メモリセルに対するリード動作を行なわなければならならず、書き込みデータが一時的に保持されているデータバッファに、リードされたデータを一時的に保持しなければならないとすると、予め書き込みデータをコントローラのバッファに退避してから代替先の検索を行なわなければならなくなる。この場合、コントローラのバッファは該書き込みデータが待避されることを考慮して、該書き込みデータの書き込みが完了するまで次のデータの格納を行わないようにするか、若しくは該書き込みデータの待避用の領域をさらに有するかのどちらかでなくてはならず、前者の場合はホストから見た書き込みレートの低下、後者の場合はデータバッファサイズの増加によるコスト上昇を生じることとなる。
【０００８】
本発明の目的は、不揮発性メモリとコントローラを搭載した不揮発性記憶装置においてリード／ライト速度の性能を向上させることができる不揮発性記憶装置を提供することにある。
【０００９】
本発明の別の目的は、不揮発性メモリとコントローラを搭載した不揮発性記憶装置において、所要の記憶領域に対して経年変化などによるリテンションエラー耐性を向上させることができる不揮発性記憶装置を提供することにある。
【００１０】
本発明の更に別の目的は、不揮発性メモリとコントローラを搭載した不揮発性記憶装置において、不揮発性メモリへのデータ書込み時に書き込みエラーが発生した場合に代替先を検索するために不揮発性メモリセルに対するリード動作を行うとき不揮発性メモリのデータバッファに保持されている書き込みデータを退避することを要しない不揮発性記憶装置を提供することにある。
【００１１】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【００１２】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１３】
〔１〕本発明に係る不揮発性記憶装置は、不揮発性メモリとコントローラとを有する。前記不揮発性メモリは複数の不揮発性メモリセルを有し、それぞれの不揮発性メモリセルは４種類以上の情報記憶状態のうちの一種類に含まれる情報記憶状態、例えば４種類以上の閾値電圧分布のうち１の分布に含まれる閾値電圧に設定可能にされ、前記閾値電圧が設定された前記不揮発性メモリセルから読み出した情報をｍ（ｍは１以上の整数）ビット例えば１ビット情報として出力する第１読み出しと、前記閾値電圧が設定された前記不揮発性メモリセルから読み出した情報をｎ（ｎはｍよりも大きい整数）ビット例えば２ビット情報として出力する第２読み出しとが可能である。前記コントローラは、前記不揮発性メモリから第１情報を読み出すときは第１読み出しを行い、前記不揮発性メモリから第２情報を読み出すときは第２読み出しを行う。
【００１４】
上記した手段によれば、４種類以上の閾値電圧分布のうち１の分布に含まれる閾値電圧が設定された前記不揮発性メモリセルから読み出した情報を１ビット情報として出力する第１読み出しは、前記不揮発性メモリセルから読み出した情報を２ビット情報として出力する第２読み出しに比べ、不揮発性メモリセルの閾値電圧判定動作回数が少なくなり、その分だけ読み出し動作を高速化できる。第２読み出し対象とされる第２情報をデータ部の情報とし、第１読み出し対象とされる第１情報を前記データ部の管理情報とすれば、ホスト装置からのリード／ライト時の管理情報リード時間を短縮でき、ホスト装置によるメモリカードのような不揮発性記憶装置のリード／ライトの高速化が可能となる。
【００１５】
前記不揮発性メモリは、例えば、前記不揮発性メモリセルに前記第１情報を格納するとき、当該不揮発性メモリセルの閾値電圧を、上限の閾値電圧分布の電圧と下限の閾値電圧分布の電圧とから選ばれた一方の電圧とする。第１読み出しでは、上限の閾値電圧分布と下限の閾値電圧分布との間の電圧を用いてその不揮発性メモリセルの閾値電圧を判定すればよい。これによれば、情報記憶に用いる閾値電圧分布の間に情報記憶に直接用いない閾値電圧分布領域が介在されることになり、第１情報の記憶領域などのような所要の記憶領域に対して、経年変化などによるリテンションエラー耐性を向上させることができる。これにより、そのような所要の記憶領域に重要データを格納することで、情報記憶の信頼性を向上することができる。
【００１６】
本発明の具体的な態様として、前記不揮発性メモリは、前記第２読み出しで複数の不揮発性メモリセルからそれぞれ２ビット情報として読み出された第２情報を保持してコントローラに供給可能にすると共に、前記コントローラから供給された第２情報を保持して２ビット毎に１個の不揮発性メモリセルを４種類の閾値電圧分布のうち１の分布に含まれる閾値電圧に設定可能とするメモリバッファ部を有し、前記第１読み出しで複数の不揮発性メモリセルからそれぞれ１ビット情報として読み出された第１情報は前記メモリバッファ部を迂回して前記コントローラに出力する。
【００１７】
これによれば、１ビット情報としてリードするときは、不揮発性メモリ内のメモリバッファ部を使用しない。したがって、不揮発性メモリへのデータ書込み時に書き込みエラーが発生した場合、不揮発性メモリのメモリバッファ部に書き込みデータを保持したまま、１ビット情報としてのリード動作で代替先を検索することが可能になる。これにより、書き込みデータをメモリバッファ部からコントローラのバッファ部に退避する処理を行なう必要がなく、書き込みエラー発生時に代替領域を検索する処理を迅速に行なうことができ、しかも、コントローラのバッファ容量を抑えることができる。
【００１８】
〔２〕本発明の更に詳細な態様による不揮発性記憶装置は、不揮発性メモリとコントローラとを有する。前記不揮発性メモリは複数の不揮発性メモリセルを有し、それぞれの不揮発性メモリセルはｎ（ｎは２以上の整数）ビット例えば２ビット以上の情報を格納可能であり、前記不揮発性メモリセルから読み出した情報をｍ（ｍはｎよりも小さい整数）ビット例えば１ビット情報として出力する第１読み出しと、前記不揮発性メモリセルから読み出した情報を２ビット情報として出力する第２読み出しとが可能である。前記コントローラは、前記不揮発性メモリから第１情報を読み出すときは第１読み出しを行い、前記不揮発性メモリから第２情報を読み出すときは第２読み出しを行う。上記した手段によれば、前記不揮発性メモリセルから読み出した情報を１ビット情報として出力する第１読み出しは、前記不揮発性メモリセルから読み出した情報を２ビット情報として出力する第２読み出しに比べ、不揮発性メモリセルの記憶情報判定動作回数が少なくなり、その分だけ読み出し動作を高速化できる。第２読み出し対象とされる第２情報をデータ部の情報とし、第１読み出し対象とされる第１情報を前記データ部の管理情報とすれば、ホスト装置からのリード／ライト時の管理情報リード時間を短縮でき、ホスト装置によるメモリカードのような不揮発性記憶装置のリード／ライトの高速化が可能となる。
【００１９】
前記第１情報は、例えば前記第２情報の格納領域に対する有効性を示す有効性管理情報を含む。
【００２０】
前記コントローラは、例えば外部からの指示に従って不揮発性メモリを動作させるとき、第１読み出しを行って不揮発性メモリから読み出した有効性管理情報に基づいて前記第２情報の格納領域に対する有効性を判定し、有効であることを判別したとき、第２読み出しを行って不揮発性メモリから第２情報を読み出す。
【００２１】
更にこのとき、前記コントローラは、第１読み出しを行って不揮発性メモリから読み出した有効性管理情報に基づいて前記第２情報の格納領域に対する有効性を判定し、無効であることを判別したとき、前記第２情報の格納領域に対する代替領域に対して第１読み出しを行って不揮発性メモリから読み出した有効性管理情報に基づいて前記第２情報の格納領域に対する有効性を判定し、有効であるとき第２読み出しを行って当該代替領域から第２情報を読み出す。
【００２２】
本発明の具体的な態様として、前記不揮発性メモリセルは、格納すべき情報に応じた４種類以上の閾値電圧分布のうち１の分布に含まれる閾値電圧を有する。前記不揮発性メモリは、前記不揮発性メモリセルに前記第１情報を格納するとき、当該不揮発性メモリセルの閾値電圧を、前記閾値電圧分布の間の所定の電圧を境界として、前記所定の電圧よりも高い電圧の閾値電圧分布の何れか又は前記所定の電圧よりも低い電圧の閾値電圧分布の何れかのどちらかに含まれる閾値電圧とすることで、前記第１読み出しにおいて前記所定の電圧と不揮発性メモリセルの閾値電圧との高低の比較により、１ビット情報としての読み出しを行う。
【００２３】
望ましい態様として、前記第１情報が格納された不揮発性メモリセルの閾値電圧は、上限の閾値電圧分布の電圧と下限の閾値電圧分布の電圧から選ばれた一方の電圧である。上述したように、第１情報の記憶領域などのような所要の記憶領域に対して経年変化などによるリテンションエラー耐性を向上させることができる。
【００２４】
本発明の更に別の具体的な態様として、前記コントローラは、前記第２読み出しで不揮発性メモリから読み出された第２情報を外部に出力可能であり、また、前記コントローラは外部から入力された前記第２情報を不揮発性メモリに供給可能である。このとき前記不揮発性メモリは、前記第２読み出しで読み出された第２情報をコントローラに供給する前に一時的に格納可能であって、且つ、前記コントローラから供給された第２情報を前記不揮発性メモリセルに格納する前に一時的に格納可能なメモリバッファ部を有する。
【００２５】
前記不揮発性メモリは、前記第１読み出しで第１情報を読み出すとき前記メモリバッファ部を迂回して第１情報を出力する。上述した如く、書き込みエラー発生時に代替領域を検索する処理を迅速に行なうことができ、しかも、コントローラのバッファ容量を抑えることができる。
【００２６】
本発明の更に別の具体的な態様として、前記コントローラは、外部から供給された第２情報を一時的に保持すると共に、不揮発性メモリから読み出されて供給された第２情報を一時的に保持するコントローラバッファ部を有する。前記コントローラは、コントローラバッファ部からメモリバッファ部にデータを供給した後、メモリバッファ部のデータを不揮発性メモリセルに格納させ、これに並行してコントローラバッファ部に外部からの別のデータを入力可能とする。書き込み動作の高速化に資することができる。
【００２７】
【発明の実施の形態】
図１には本発明の一例に係るメモリカードが示される。メモリカード１はコントローラ２と不揮発性メモリ例えばフラッシュメモリ３がカード基板４に搭載され、カード基板の表面が図示を省略するケーシングや樹脂で封止されて構成される。コントローラ２はホストインタフェース回路１０、ＣＰＵ１１、フラッシュインタフェース回路１２、ＥＣＣ回路１３、コントローラバッファ部１４及びバッファインタフェース回路１５を有する。
【００２８】
前記ホストインタフェース回路１０は、図示を省略するホスト装置が発行するコマンドを受け付け、そのコマンドなどをＣＰＵ１１に通知したり、ＣＰＵ１１の設定に従って、ホスト装置とコントローラバッファ部１４との間のデータ転送を制御する。前記ホストインタフェース回路１０とホスト装置との間のデータのリード／ライトのプロトコルは、ＡＴＡ（ＡＴ　Ａｔｔａｃｈｍｅｎｔ）、ＳＣＳＩ（Ｓｍａｌｌ　Ｃｏｍｐｕｔｅｒ　Ｓｙｓｔｅｍ　Ｉｎｔｅｒｆａｃｅ）、その他のメモリカード専用インタフェース等、所定プロトコルであればよい。
【００２９】
前記ＣＰＵ１１は、図示を省略するホスト装置が発行したコマンドの解析、アクセスするフラッシュメモリ３のアドレス計算、ホストインタフェース回路１０に対するホスト間データ転送の設定、フラッシュインタフェース回路１２に対するフラッシュ間データ転送の設定等を行なう。
【００３０】
前記フラッシュインタフェース回路１２は、ＣＰＵ１１の指示に従って、コントローラバッファ部１４とフラッシュメモリ３間のデータ転送を制御する。
【００３１】
ＥＣＣ回路１３は、フラッシュメモリ３へのライト時に、エラー訂正符号を生成してライトデータに付加する。また、フラッシュメモリ３からのリード時にエラー訂正符号を用いてエラー検出を行う。リード時にエラーが発生した場合には、エラー訂正を行う。
【００３２】
コントローラバッファ部１４はフラッシュメモリ３とホスト装置間のデータバッファとして機能され、ホスト装置からフラッシュメモリ３への書込みデータを一時的に保持し、またフラッシュメモリ３からホスト装置への出力データを一時的に保持する。コントローラバッファ部１４は例えばＳＲＡＭ（Ｓｔａｔｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）によって構成される。バッファインタフェース回路１５はコントローラバッファ部１４のリード／ライトを制御する。コントローラバッファ部１４はコントローラ２と別チップで構成してもよい。コントローラ２とフラッシュメモリ３とを１チップで構成してもよい。
【００３３】
前記フラッシュメモリ３は、メモリバッファ部２０、センスラッチ回路２１、メモリアレイ（フラッシュセルアレイ）２２、制御回路２３、セレクタ２４、及び入出力回路２５等から構成される。メモリバッファ部２０は例えばＳＲＡＭによって構成される。図示はしないが、メモリバッファ部２０、センスラッチ回路２１、及びメモリアレイ２２を一つのメモリバンクとするとき、複数のメモリバンクを備えてもよい。
【００３４】
メモリアレイ２２には代表的に示された不揮発性メモリセルＭＣが多数マトリクス配置される。前記不揮発性メモリセルＭＣは、特に制限されないが、公知のフローティングゲート型トランジスタ１個で１個のメモリセルを構成する。例えば不揮発性メモリセルは、ウェル領域に形成されたソース及びドレインと、ソースとドレインとの間のチャンネル領域にトンネル酸化膜を介して形成されたフローティングゲート、そしてフローティングゲートに層間絶縁膜を介して重ねられたコントロールゲートによって構成される。コントロールゲートは代表的に示されたワード線ＷＬに、ドレインは代表的に示されたビット線ＢＬに、ソースは代表的に示されたソース線ＳＬに接続される。ビット線ＢＬの一端にはスタティックラッチ回路で構成されるセンスランチＳＬが接続される。センスラッチ回路２１はビット線毎に配置されたセンスラッチＳＬのアレイを含んでいる。
【００３５】
前不揮発性メモリセルＭＣの情報記憶は、前記フローティングゲートに蓄えられた電荷量に応じてメモリセルの閾値電圧が変化することを利用する。前記不揮発性メモリセルＭＣは、例えば前記フローティングゲートに電子が注入されると閾値電圧が上昇し、また、前記フローティングゲートから電子を引き抜くと閾値電圧が低下する。閾値電圧の設定は前記ワード線、ソース線、ビット線、基板への電圧印加状態の制御で行なわれる。その制御手法は公知であるからここでは詳細な説明は省略する。
【００３６】
前記不揮発性メモリセルＭＣは、特に制限されないが、図２に例示されるように、４種類の閾値電圧分布のうち１の分布に含まれる閾値電圧に設定可能にされる。例えば、この例では不揮発性メモリセルは１個で２ビットの情報記憶を行うことができ、記憶情報の“０１，００，１０，１１”データに対応する４種類のメモリ閾値電圧分布が決められている。すなわち、一つのメモリセルの情報記憶状態は、第４閾値電圧（Ｖｔｈ４）状態としての消去状態（“１１”）、第１閾値電圧（Ｖｔｈ１）状態としての第１の書き込み状態（“１０”）、第２閾値電圧（Ｖｔｈ２）状態としての第２の書き込み状態（“００”）、第３閾値電圧（Ｖｔｈ３）状態としての第３の書き込み状態（“０１”）の中から選ばれる。特に制限されないが、閾値電圧は、Ｖｔｈ４＜Ｖｔｈ１＜Ｖｔｈ２＜Ｖｔｈ３の関係を有する。全部で４通りの情報記憶状態は、２ビットのデータによって決定される状態とされる。
【００３７】
上記メモリ閾値分布を得るには、特に制限されないが、最初不揮発性メモリセルを前記消去状態とする。書き込み状態を得る場合には、閾値電圧を上げるために必要な高電圧パルス等をワード線等に逐次印加していく。高電圧パルスの印加毎或は数回印加毎に、第１書き込み状態のベリファイ電圧を用いた読み出しを行なって第１書き込み状態への到達を検証する。第２書き込み状態を要する場合には第２書き込み状態のベリファイ電圧を用いて同様の検証を行ない、第３書き込み状態を要する場合には第３書き込み状態のベリファイ電圧を用いて同様の検証を行なう。
【００３８】
高電圧パルス印加によって書き込み対象とされるメモリセルのビット線は例えば０Ｖ、書き込み非選択のビット線には書き込み抑止電圧１Ｖが印加される。ビット線に０Ｖの書き込み選択電圧を印加するか、１Ｖの書き込み抑止電圧を印加するかは、センスラッチＳＬがラッチする書き込み制御情報の論理値で決定される。例えばセンスラッチＳＬのラッチデータが論理値“１”で書き込み非選択、論理値“０”で書き込み選択となるように制御される。書き込み動作時にセンスラッチＳＬに“１”または“０”の何れをセットするかは、書き込みを行なうべき書き込み閾値電圧状態に応じて制御回路２３がメモリバッファ部２０上の書き込みデータに従って決定する。例えば図３に例示されるように、１バイト（８ビット）の書込みデータＤ８〜Ｄ１＝１１００１００１に着目すると、Ｄ８Ｄ４＝１１の２ビット、Ｄ７Ｄ３＝１０の２ビット、Ｄ６Ｄ２＝００の２ビット、Ｄ５Ｄ１＝０１の２ビットを一単位として夫々に対応する不揮発性メモリセルの閾値電圧を決定する。Ｄ８Ｄ４＝１１にされる不揮発性メモリセルに応ずるセンスラッチＳＬは書き込み非選択の“１”にされる。Ｄ７Ｄ３＝１０にされる不揮発性メモリセルに応ずるセンスラッチＳＬは前記第１書き込み状態が得られるまで書き込み選択の“０”にされる。Ｄ６Ｄ２＝００にされる不揮発性メモリセルに応ずるセンスラッチＳＬは前記第２書き込み状態が得られるまで書き込み選択の“０”にされる。Ｄ５Ｄ１＝０１にされる不揮発性メモリセルに応ずるセンスラッチＳＬは前記第３書き込み状態が得られるまで書き込み選択の“０”にされる。この制御は制御回路２３及びセンスラッチ回路２１がメモリバッファ部２０の書込みデータに基づいて行なう。書き込み処理や消去処理に必要な高電圧の生成や、アクセスアドレスの生成は前記制御部２３が行なう。
【００３９】
前記閾値電圧が設定された不揮発性メモリセルの記憶情報の読み出しは、閾値電圧が図２の４種類の閾値電圧分布の何れに属するかを判定して、不揮発性メモリセルからの読み出し情報を２ビット情報として出力する第２読み出しと、最上位の閾値電圧分布である第３の書き込み状態（“０１”）又は最下位の閾値電圧分布である消去状態（“１１”）の何れであるかを判定して、不揮発性メモリセルからの読み出し情報を１ビット情報として出力する第１読み出しとが可能にされる。４種類の閾値電圧分布を判定する場合、図２の例に従えば、最初読み出しワード線電圧をＶｒ１として、２ビットの上位側１ビットの０，１を決定し、上位側１ビットが０のときは読み出しワード線電圧をＶｒ２として、２ビットの下位側１ビットの０，１を決定する。上位側１ビットが１のときは読み出しワード線電圧をＶｒ３として、２ビットの下位側１ビットの０，１を決定する。このようにして２ビットの記憶情報に対して最初に上位側１ビットが決定されると、当該上位側１ビットはセンスラッチＳＬからメモリバッファ部２０の対応する記憶素子に退避され、次の下位側１ビットの判定結果がセンスラッチＳＬに得られる。この下位側１ビットの判定結果も同じくセンスラッチＳＬからメモリバッファ部２０の対応する記憶素子に転送され、メモリバッファ部２０からその読み出し情報がコントローラ２に出力される。
【００４０】
不揮発性メモリセルからの読み出し情報を１ビット情報として出力する第１読み出しの場合には、図２の例に従えば、読み出しワード線電圧を例えばＶｒ３として、当該記憶情報の０，１の判定結果がセンスラッチＳＬにラッチされる。センスラッチＳＬにラッチされた判定値は読み出そうとする記憶情報そのものであるからメモリバッファ部２０への退避を要せず、セレクタ２４を介して入出力回路２５からコントローラ２に供給することが可能になる。
【００４１】
前記フラッシュメモリアレイ２２に対する消去、書き込み及び読み出しの制御は、コントローラ２から与えられるコマンドに基づいて前記制御部２３が行なう。コマンドには動作を指示するコマンドコード、アクセス対象を指示するためのアクセスアドレス、書込み動作の指示に付随する書込みデータなどを含んでいる。
【００４２】
特に制限されないが、前記コマンドによって指示されるメモリ動作は、外部からメモリバッファ部２０へ書き込みデータを転送する動作、メモリバッファ部２０が保有する書込みデータをメモリアレイ２２の不揮発性メモリセルに書き込む動作、第２読み出しのために不揮発性メモリセルからデータを読み出してメモリバッファ部２０に保持させる、メモリバッファ部２０に保持されているデータを外部に出力する第２出力動作、第１読み出しのために不揮発性メモリセルからデータを読み出して外部に出力する第１出力動作等とされる。各動作におけるアクセス対象アドレスはコマンドで指示されるが、アクセス単位が大きい場合にはアクセス単位の先頭アドレスが与えられ、後続アドレスを制御回路２３内部のアドレスカウンタで自動生成すればよい。尚、フラッシュメモリ３のその他の詳細な構成については本出願人による先のＰＣＴ／ＪＰ０２／０３４１７の国際出願に記載が有る。
【００４３】
図４にはメモリカード１のフラッシュメモリ３に対するライト動作の一例が示される。図４において、第２読み出し対象データは、ホスト装置がメモリカード１に書き込むデータである。また、第１読み出し対象データは、ホスト装置がメモリカード１に書き込むデータをコントローラ２が管理するためのデータである。ホスト装置からコントローラバッファ部１４に例えば書き込みデータ“１０１０＿０１０１＿０１０１＿１０１０”が転送される。転送された書込みデータは、ここでは第２読み出し対象データである。書き込みデータが第２読み出し対象データであるとき、コントローラ２はそのまま書き込みデータ“１０１０＿０１０１＿０１０１＿１０１０”をメモリバッファ部２０に供給する。次にコントローラ２はフラッシュメモリ３に、メモリバッファ部２０の書込みデータによってメモリアレイ２２の記憶情報を書換える指示を与える。これにより書き換え対象の不揮発性メモリセルには、上述の如く、書込みデータにしたがって２ビットを一単位に４種類の閾値電圧分布のうちの１の分布に含まれる閾値電圧が設定される。次に、コントローラ２が、ホスト装置がメモリカード１に書き込むデータを管理するために、“１０１０＿０１０１”を第１読み出し対象データとしてフラッシュメモリ３に書き込む場合について説明する。第１読み出し対象データ“１０１０＿０１０１”は、ＣＰＵ１１がコントローラバッファ部１４に書き込んだデータである。書き込みデータが第１読み出し対象データでるとき、コントローラ２は、書込みデータを４ビット毎に区切り、その下位側に４ビットのマスクデータ“１１１１”を付加し、これを書き込みデータ“１０１０＿１１１１＿０１０１＿１１１１”としてメモリバッファ部２０に供給する。次にコントローラ２はフラッシュメモリ３に、メモリバッファ部２０の書込みデータによってメモリアレイ２２の記憶情報を書換える指示を与える。これにより書き換え対象の不揮発性メモリセルには、上述の如く、書込みデータにしたがって２ビットを一単位に４種類の閾値電圧分布のうちの１の分布に含まれる閾値電圧が設定される。書込みデータの４ビット毎にその下位側に４ビットのマスクデータ“１１１１”が付加されることにより、２ビットを一単位に、４種類の閾値電圧分布のうち最上位の閾値電圧分布である第３の書き込み状態（“０１”）又は最下位の閾値電圧分布である消去状態（“１１”）の分布に含まれる閾値電圧が設定される。
【００４４】
このように、第１読み出し対象データを書き込むときは、４種類の閾値電圧分布のうち、“１１”（消去状態とされる最上位レベルの閾値電圧分布）と“０１”（書き上げ状態となる最下位レベルの閾値電圧分布）を使用する。これにより、第１読み出し対象データは、ディスターブやリテンションによって、不揮発性メモリセルの閾値電圧が変化しても、閾値電圧が隣の分布に移動するだけならば、データ化けを生ぜず、情報記憶の信頼性が向上する。
【００４５】
図５にはメモリカード１のフラッシュメモリ３に対するリード動作の一例が示される。ホスト装置がメモリカード１からデータを読み出すとき、コントローラ２は、第１読み出しによって、ホスト装置が読み出すデータの管理データをフラッシュメモリ３から読み出し、その後、コントローラ２は、第２読み出しによって、ホスト装置が読み出すデータをフラッシュメモリ３から読み出す。第１読み出しの場合にはコントローラ２はコマンドにて制御回路２３に第１読み出しを指示する。この場合、例えば読み出し対象メモリセルの記憶情報が“１０１０＿１１１１＿０１０１＿１１１１”のとき、前記第１読み出しの場合の１回の閾値電圧判定動作によって、センスラッチＳＬに読み出しデータ“１０１０＿０１０１”を得ることができる。センスラッチＳＬに得られた読み出しデータ“１０１０＿０１０１”はセレクタ２４で選択されたメモリバッファ部２０の迂回経路を介してコントローラバッファ部１４に転送され、ＣＰＵ１１によって読み出される。第２読み出しの場合にはコントローラ２はコマンドにて制御回路２３に第２読み出しを指示する。この場合、例えば読み出し対象メモリセルの記憶情報が“１０１０＿０１０１＿０１０１＿１０１０”のとき、前記第２読み出しの場合の２回に分けた閾値電圧判定動作の結果がメモリバッファ部２０に得られ、メモリバッファ部２０に格納されたリードデータがコントローラバッファ部１４に転送され、その記憶情報はそのままデータ“１０１０＿０１０１＿０１０１＿１０１０”としてホスト装置に出力される。図５においてＰＡ１は第１読み出しの読み出し経路、ＰＡ２は第２読み出しの読み出し経路を意味する。
【００４６】
図６にはメモリアレイ２２のデータ領域の構成が例示される。ここに示す例はファイル構造を実現する場合である。特に制限されないが、セクタデータは５１２バイトのデータである。各セクタデータに対してＥＣＣコードが付加されている。２個のセクタデータに対して、一つの管理情報を持つ。一つのブロックＢＬＫは、２個のセクタデータ領域（データ部）とデータ部の管理情報を格納する管理領域から構成される。特に制限されないが、消去または書き込みはブロック単位で行なわれる。すなわち、一つのブロックに含まれる複数個の不揮発性メモリセルはソース線が共通化され、またワード線が共通化されている。この例では、消去と書き込み単位が同一であるが、消去単位が書き込み単位よりも大きい場合もある。
【００４７】
ＰＢＡは物理ブロックアドレス（Ｐｈｙｓｉｃａｌ　Ｂｌｏｃｋ　Ａｄｄｒｅｓｓ）である。この例のフラッシュメモリは、１２８個のブロックから構成されている。ＰＢＡの０〜９９はユーザデータ領域３０である。これはホスト装置がライトしたデータを書き込む領域である。ＰＢＡの１００〜１２５は代替領域３１である。これは不良となったブロックを代替する場所である。ＰＢＡが１２６のブロック（システムデータ領域）３２にはシステムデータを格納する。システムデータは、例えば、メモリカードのＩＤ又はメモリカード固有のＩＤ番号等の情報である。ＰＢＡが１２７のブロックは、代替領域に代替されたブロックの情報がテーブルとして格納されている領域（代替先登録テーブル）３３である。この例では、ユーザデータ領域が１００ブロック（ＰＢＡ＝０〜９９）あるので、代替先登録テーブルは各ブロックに１バイトづつ代替先指定領域を割当てて合計１００バイトで構成される。例えば、図７に例示されるように、順次先頭からＰＢＡ１の代替先指定領域、ＰＢＡ２の代替先指定領域のように順番に割当てられる。代替不要の場合には２５５のコード番号が格納される。図７の例ではＰＢＡ＝１とＰＢＡ＝５０が不良であるので、代替先登録テーブルのＰＢＡ＝１の個所にはコード番号１００が格納され、ＰＢＡ＝５０の個所にはコード番号１０１が格納されている。つまり、ＰＢＡ＝１はＰＢＡ＝１００に、ＰＢＡ＝５０はＰＢＡ＝１０１に代替されていることを示している。
【００４８】
管理情報は、図８に例示されるように、良ブロック（正常にメモリ動作可能なブロック）であることを示す良コード（固定値）、ブロックを識別するための識別コード、ホストの論理ブロックアドレス（Ｌｏｇｉｃａｌ　Ｂｌｏｃｋ　Ａｄｄｒｅｓｓ：ＬＢＡ）、その他の情報、そしてＥＣＣから構成されている。良コード以外のデータの場合は、そのブロックは不良であることを示しており、他のデータは無効となる。前記識別コードは、ブロックがユーザデータブロック、代替ブロック、空きブロック、システムブロック、代替先登録テーブルブロックの何れであるかを示している。
【００４９】
図６のメモリアレイにおいて、第１読み出し対象とされる領域は、管理情報領域、システムデータ領域とされる。この第１読み出し対象とされる領域に格納される情報が第１情報である。その他の領域は第２読み出し対象領域とされる。第２読み出し対象とされる領域に格納される情報が第２情報である。管理情報領域を第１読み出し対象領域とすることによりファースト・アクセスの高速化に資する。システムデータ領域を第１読み出し対象領域とすることによりメモリカードが動作する上で非常に重要なデータが格納されるという性質上、そのような重要データの情報記憶の信頼性向上に資する。
【００５０】
図９にはホスト・リードの指示に応答するメモリカード１のリード動作のフローチャートが例示される。ホスト装置によるデータのリード動作（ホスト・リード）が指示されると、コントローラ２は、ホスト装置からの論理ブロックアドレスをフラッシュメモリ３の物理ブロックアドレスに変換し（Ｓ１）、その物理ブロックアドレスの管理情報をフラッシュメモリ３から読み出す（Ｓ２）。この読み出しは前記第１読み出しとされる。コントローラ２は管理情報の良コードをチェックし（Ｓ３）、良コードでなければ、代替先登録テーブルをリードし（Ｓ４）、其れによって示される代替先ＰＢＡの管理情報をリードし（Ｓ５）、その管理情報をチェックする（Ｓ６）。この時の管理情報のリードは第１読み出しで行なわれる。これによっても良コードを得られないときはエラー終了とされる。Ｓ６のチェック結果が良コードであれば、今度は管理情報が保有するＬＢＡをチェックし（Ｓ７）、正常であれば代替先のＰＢＡからデータを読み出す（Ｓ８，Ｓ９）。この読み出しデータの出力は第２読み出しで行なわれる。コントローラ２は読み出しデータに対してＥＣＣチェックを行ない（Ｓ１０）、訂正不可能なエラーがあればエラー終了、訂正不能なエラーが無ければ、コントローラ２はホスト装置にコントローラバッファ部１４からの読み出しレディー状態を通知し（Ｓ１１）、ホスト装置による読み出し完了を待ち（Ｓ１２）、読み出し完了後、ホスト装置が必要な全部のデータ読み出しを終了したかを判別し（Ｓ１３）、終了していれば正常終了され、全読み出し終了していなければステップＳ１に戻って次のデータをフラッシュメモリ３から読み出す操作を再開する。
【００５１】
ホスト・リードにおいて管理情報リードは必ず発生するので、管理情報リード時間を第１読み出しによって短縮することができ、これによってホスト・リードの高速化が可能になる。
【００５２】
図１０及図１１にはホスト・ライトの指示に応答するメモリカード１のライト動作のフローチャートが例示される。ホスト装置によるデータのライト動作（ホスト・ライト）が指示されると、コントローラ２は、ホスト装置から供給される書き込みデータをコントローラバッファ部１４に格納する（Ｓ２１）。次に、ホスト装置からの論理ブロックアドレスをフラッシュメモリ３の物理ブロックアドレスに変換し（Ｓ２２）、その物理ブロックアドレスの管理情報をフラッシュメモリ３から読み出す（Ｓ２３）。この読み出しは前記第１読み出しとされる。コントローラ２は管理情報の良コードをチェックし（Ｓ２４）、良コードでなければ、代替先登録テーブルをリードし（Ｓ２５）、其れによって示される代替先ＰＢＡの管理情報をリードし（Ｓ２６）、その管理情報をチェックする（Ｓ２７）。この時の管理情報のリードは第１読み出しで行なわれる。これによっても良コードを得られないときはエラー終了とされる。Ｓ２７のチェック結果が良コードであれば、今度は管理情報が保有するＬＢＡをチェックし（Ｓ２８）、正常であれば代替先のＰＢＡの消去処理を行なう（Ｓ２９，Ｓ３０）。消去結果が判定され（Ｓ３１）、消去エラーを生じた場合には代替先検索処理Ｒ１が行なわれ、代替先の有無が判別される（Ｓ２１）。代替先が無ければエラー終了とされる。代替先がある場合、Ｓ３１で消去正常終了が判別されたときは、ホスト装置からの書き込みデータの供給が終了するのを待って（Ｓ３３）、コントローラバッファ部１４からフラッシュメモリ３のメモリバッファ部２０への書き込みデータの転送が行なわれる（Ｓ３４，Ｓ３５）。データ転送終了後、フラッシュメモリ３のメモリバッファ部２０からＰＢＡへのデータ書き込みが行なわれる（Ｓ３６）。書き込み終了が判別され（Ｓ３７）、書き込み結果が判別される（Ｓ３８）。書き込みエラーがある場合には代替処理（Ｒ２）が行なわれ、代替結果が判別され（Ｓ３９）、代替を行なうことができないならばエラー終了し、代替可能であったなら、ホスト装置が要求する全データのライト終了が判別される（Ｓ４０）。全データのライトが終了されたときは正常終了され、全データのライトが終了されていなければステップＳ２２の戻って残りの書き込みを継続する。
【００５３】
ホスト・ライトにおいて管理情報リードは必ず発生するので、管理情報リード時間を第１読み出しによって短縮することができ、これによってホスト・ライトの高速化が可能になる。
【００５４】
図１２にはフラッシュメモリ３のリード動作タイミングが例示される。Ｉ／Ｏｘはアドレス入力、データ入出力、及びコマンド入力に兼用される外部入出力端子、ＣＬＥはコマンドラッチイネーブル信号、ＡＬＥはアドレスラッチイネーブル信号ＡＬＥ、ＣＥｂはチップイネーブル信号、ＲＥｂはリードイネーブル信号、ＷＥｂはライトイネーブル信号、Ｒ／Ｂｂはレディー・ビジー信号であり、前記入出力回路２５を介してコントローラ２とインタフェースされる。チップイネーブル信号ＣＥｂはフラッシュメモリ２にチップ選択状態を示し、リードイネーブル信号ＲＥｂは外部入出力端子Ｉ／Ｏｘからのリード動作を指示し、ライトイネーブル信号ＷＥｂは外部入出力端子Ｉ／Ｏｘからのライト動作を指示する。コマンドラッチイネーブル信号ＣＬＥは外部から外部入出力端子Ｉ／Ｏｘにコマンドが供給されることを意味し、アドレスラッチイネーブル信号ＡＬＥは外部から外部入出力端子Ｉ／Ｏｘにアドレス信号が供給されることを意味する。レディー・ビジー信号Ｒ／Ｂｂはフラッシュメモリアレイ２２に対して消去、書き込み、または読み出し動作中であること（ビジー状態）をローレベルによって示す。００ｈはアドレス設定コマンドコード、ＣＡはカラムアドレス、ＲＡはロウアドレス、３０ｈは第２読み出しによるリード開始コマンドコードである。リード開始コマンドコード３０ｈが供給されると、メモリアレイからのデータＤｏｕｔの読み出し動作が開始される。第１読み出しによるリード開始コマンドコードは３１ｈとされる。
【００５５】
図１３にはフラッシュメモリ３のライト動作タイミングが例示される。８０ｈはアドレス設定コマンドコード、ＣＡはカラムアドレス、ＲＡはロウアドレス、Ｄｉｎは書込みデータ、４０ｈは書き込み開始コマンドコードである。書き込み開始コマンドコード４０ｈが供給されると、メモリアレイ２２にデータＤｉｎが書き込まれる。フラッシュメモリ３においてフラッシュ書き込み動作は第１読み出し対象領域と第２読み出し対象領域とで変わりない。第１読み出し対象領域に対する書き込みでは、コントローラ２側で、書込みデータに対する前記マスクデータの付加が完了されている。
【００５６】
図１４には前記代替検索処理Ｒ１の一例が示される。先ず、検索パラメータｉに代替領域の先頭アドレスを代入し（Ｓ５０）、パラメータｉの代入値をアドレスとして、対応する代替領域の管理情報を第１読み出しで読み出す（Ｓ５１）。読み出した管理情報からそのブロックが空きブロックかを前記識別コードに基づいて判別し（Ｓ５２）、空きであれば代替先有りを応答する（Ｓ５３）。空きブロックがなければ、パラメータｉを＋１し（Ｓ５４）、そのｉの値で示されるアドレスが代替領域の範囲であるかを判別し（Ｓ５５）、範囲外となっていれば代替先無しを応答する（Ｓ５６）。範囲外でなければステップＳ５１に戻って検索を続ける。
【００５７】
代替先検索処理における管理情報の読み出しは第１読み出しで行なわれる。図５の径路ＰＡ１で読み出しデータの出力が行なわれる。したがってその管理情報読み出しではフラッシュメモリ３のメモリバッファ部２０は利用されず、代替先検索処理の前にメモリバッファ部２０に先に格納されている書き込みデータは破壊されずにそのまま残る。したがって、代替先を検索するために、メモリバッファ部内の書込みデータをコントローラ２のコントローラバッファ部１４に退避することを要しない。
【００５８】
図１５には前記代替処理Ｒ２の一例が示される。先ず、前記代替先検索処理Ｒ１の後、代替先があるかの判別が行なわれる（Ｓ６０）。代替先有りとは図１４の代替先有りの応答（Ｓ５３）が得られることであり、代替先無しとは図１４の代替先無しの応答（Ｓ５６）が得られることである。代替先無しであればエラー応答が返される（Ｓ６７）。代替先が有れば、当該代替先である空きブロックにメモリバッファ内のデータを書き込む処理が行なわれる（Ｓ６１，Ｓ６２）。書き込み処理の前に当該空きブロックは消去処理されている。書き込み処理の結果が判別される（Ｓ６３）。書き込み処理が正常終了されていれば、代替先登録テーブルが更新され（Ｓ６４）、正常終了の応答（正常応答）が返される。書き込みエラーが有った場合には、その書き込みエラーに対して前記代替処理Ｒ２が行なわれる。
【００５９】
上記代替処理Ｒ２より明らかなように、代替先検索処理Ｒ１にて代替先を検索した後、フラッシュメモリ３のメモリバッファ部２０に格納されているデータを、代替先に書き込む事ができる（Ｓ６１）。要するに、代替処理Ｒ２では、コントローラ２のコントローラバッファ部１４から書き込みデータを再度転送してもらう必要がない。
【００６０】
図１６にはホスト装置がメモリカード１にデータを書き込むホスト・ライトのタイミングが例示される。ホスト装置はコントローラ２に書き込みを指示し、セクタ単位ので書込みデータを転送する。第１６図ではホスト装置がセクタ０、セクタ１の書き込みデータをコントローラ２に転送し（Ｔｈ０ａ，Ｔｈ０ｂ）、コントローラ２のコントローラバッファ部１４に格納される。このとき、コントローラ２はホスト装置からの書き込み指示に応答して予めフラッシュメモリ３に対しセクタ０，１の対応ブロックの検索処理（Ｓｆ０）と検索されたブロックに対する消去処理（Ｅｆ０）を実行させる。コントローラバッファ部１４に格納されたセクタ０、セクタ１の書き込みデータはコントローラ２からフラッシュメモリ３に転送され（Ｔｃ０ａ、Ｔｃ０ｂ）、フラッシュメモリ３のメモリバッファ部２０に格納される。この後、フラッシュメモリ３は、前記検索処理と消去処理を経たブロックにメモリバッファ部２０に格納されたセクタ０，１のデータを書き込み処理する（Ｗｆ０）。この書き込み処理（Ｗｆ０）に並行してホスト装置はコントローラ２に次のセクタ２，３の書込みデータを転送する（Ｔｈ１ａ，Ｔｈ１ｂ）。フラッシュメモリ３の書き込み処理中にはコントローラバッファ部１４は当該書き込みに利用されずに空いているからである。フラッシュメモリ３において前記書き込み処理（Ｗｆ０）が終了した後、コントローラバッファ部１４に格納されたセクタ２、セクタ３の書き込みデータはコントローラ２からフラッシュメモリ３に転送され（Ｔｃ１ａ、Ｔｃ１ｂ）、フラッシュメモリ３のメモリバッファ部２０に格納される。この転送に並行して、コントローラ２は予めフラッシュメモリ３に対しセクタ２，３の対応ブロックの検索処理（Ｓｆ１）と検索されたブロックに対する消去処理（Ｅｆ１）を実行させる。この後、フラッシュメモリ３は、前記検索処理と消去処理を経たブロックにメモリバッファ部２０に格納されたセクタ２，３のデータを書き込み処理する。
【００６１】
図１６のホスト・ライトタイミングより明らかなように、フラッシュメモリの不揮発性メモリセルに書込みデータを書き込み処理中に、ホスト装置からコントローラ２のコントローラバッファ部１４に次の書込みデータの転送を並行して行なうことが可能である。前述のようにフラッシュメモリ３で書込みエラーが発生しても、代替検索処理によってメモリバッファ部２０の書き込みデータが破壊されないから、コントローラバッファ部１４の容量を増加させること無く、上記書き込み処理と次書込みデータの転送処理とを並行させることができる。
【００６２】
以上説明したメモリカード１によれば以下の作用効果を得る。
【００６３】
〔１〕フラッシュメモリ３は、不揮発性メモリセルＭＣに４種類の閾値電圧分布のうち１の分布に含まれる閾値電圧を設定可能にされ、前記閾値電圧が設定された不揮発性メモリセルＭＣから読み出した情報を１ビット情報として出力する第１読み出しと、前記閾値電圧が設定された前記不揮発性メモリセルＭＣから読み出した情報を２ビット情報として出力する第２読み出しとが可能にされる。コントローラ２は、前記フラッシュメモリ３から第１情報例えば前記管理情報又はシステムデータ領域の記憶情報を読み出すときは前記第１読み出しを行い、前記不揮発性メモリから第２情報例えばセクタデータや代替先登録テーブルを読み出すときは第２読み出しを行う。４種類の閾値電圧分布のうち１の分布に含まれる閾値電圧が設定された前記不揮発性メモリセルＭＣから読み出した情報を１ビット情報として出力する第１読み出しは、前記不揮発性メモリセルＭＣから読み出した情報を２ビット情報として出力する第２読み出しに比べ、不揮発性メモリセルＭＣの閾値電圧判定動作回数が少なくなり、その分だけ読み出し動作を高速化できる。第２読み出し対象とされる第２情報はデータ部のセクタデータ等とされ、第１読み出し対象とされる第１情報は管理情報等とされるとき、ホスト装置からのリード／ライト時の管理情報リード時間を短縮でき、ホスト装置によるメモリカード１のリード／ライトの高速化が可能となる。
【００６４】
〔２〕前記フラッシュメモリ３は、前記不揮発性メモリセルＭＣに前記第１情報を格納するとき、当該不揮発性メモリセルＭＣの閾値電圧を、上限の前記閾値電圧分布（“０１”領域）の電圧と下限の閾値電圧分布（“１１”領域）の電圧とから選ばれた一方の電圧とする。したがって、情報記憶に用いる閾値電圧分布の間に情報記憶に直接用いない閾値電圧分布領域が介在されることになり、第１情報の記憶領域とされるシステムデータ領域に対して経年変化などによるリテンションエラー耐性を向上させることができる。これにより、システムデータ領域等における情報記憶の信頼性を向上することができる。
【００６５】
〔３〕フラッシュメモリ３は不揮発性メモリセルＭＣに対する書き込み処理及び第２読み出しに利用されるメモリバッファ部２０を有し、第１読み出しで複数の不揮発性メモリセルからそれぞれ１ビット情報として読み出された管理情報などの第１情報は前記メモリバッファ部２０を迂回して前記コントローラ２に出力する。２ビット情報としてリードするときは、フラッシュメモリ３内のメモリバッファ部２０を使用しない。したがって、フラッシュメモリ３へのデータ書込み時に書き込みエラーが発生した場合、フラッシュメモリ３のメモリバッファ部２０に書き込みデータを保持したまま、１ビット情報としてのリード動作で代替先を検索することが可能になる。これにより、書き込みデータをメモリバッファ部２０からコントローラ２のバッファ１４に退避する処理を行なう必要がなく、書き込みエラー発生時に代替領域を検索する処理を迅速に行なうことができ、しかも、コントローラ２のバッファ１４の容量を抑えることができる。
【００６６】
〔４〕上記より、フラッシュメモリ３を搭載したメモリカード１のデータ転送高速化及び信頼性向上を実現することができる。
【００６７】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００６８】
例えばフラッシュメモリは、４値データをリードするときに用いるメモリバッファ２０にＳＲＡＭを用いるが、これに限定されず、メモリバッファ部はスタティックラッチを複数段並列させたラッチ回路で構成してもよい。
【００６９】
この例の不揮発性メモリは４値データを格納することができるが、４値以上の多値データを格納する不揮発性メモリを搭載するメモリカードであってもよい。メモリカードに搭載するフラッシュメモリの数は１個に限定されず複数個であってもよい。
【００７０】
また、多値フラッシュメモリの記憶形式は記憶情報の値に応じて順次閾値電圧を相違させる場合に限定されず、メモリセルにおいて電荷を保持する場所を局所的に変更して多値で情報記憶を行なう電荷トラップ膜（窒化シリコン膜）を利用するメモリセル構造を採用してもよい。更に不揮発性メモリセルとして高誘電体メモリセル等のその他の記憶形式を採用する事も可能である。また、不揮発性メモリセルに対する書込みデータと保持情報との関係も図３に限定されず適宜変更可能である。
【００７１】
また本発明はアドレス／データ両方がマルチプレクスされてＩ／Ｏ端子に入力されるものだけではなく、アドレスを入力するためのアドレス端子を有するものであってもよい。アドレス端子から入力されたアドレスに従ってバッファメモリへのアクセス又はフラッシュメモリアレイへのアクセスのいずれかを指定するコマンドを有するようにしても良い。
【００７２】
また、第１情報と第２情報の具体的な種類は上記説明に限定されず、不揮発性記憶装置の種類などに応じて適宜変可能である。本発明をＩＣカード用マイクロコンピュータに適用する場合、ＩＣカードのユーザＩＤ情報等を第１情報として処理してもよい。
【００７３】
本発明は、フラッシュメモリカード、マイクロコンピュータ若しくはシステムＬＳＩなどに広く適用することができる。本発明はＰＤＡ（Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ａｓｓｉｓｔａｎｔｓ）や携帯電話機のストレージ媒体等に利用することができる。
【００７４】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００７５】
不揮発性メモリとコントローラを搭載した不揮発性記憶装置においてリード／ライト速度の性能を向上させることができる。
【００７６】
不揮発性メモリとコントローラを搭載した不揮発性記憶装置において、所要の記憶領域に対して経年変化などによるリテンションエラー耐性を向上させることができる。
【００７７】
不揮発性メモリとコントローラを搭載した不揮発性記憶装置において、不揮発性メモリへのデータ書込み時に書き込みエラーが発生した場合に代替先を検索するために不揮発性メモリセルに対するリード動作を行うとき不揮発性メモリのデータバッファに保持されている書き込みデータの退避を不要にすることができる。
【図面の簡単な説明】
【図１】本発明の一例に係るメモリカードを示すブロック図である。
【図２】不揮発性メモリセルが採り得る４種類の閾値電圧分布の説明図である。
【図３】不揮発性メモリセルに対する書込みデータと保持情報との関係を例示する説明図である。
【図４】メモリカードのフラッシュメモリに対するライト動作を例示する説明図である。
【図５】メモリカードのフラッシュメモリに対するリード動作を例示する説明図である。
【図６】フラッシュメモリのメモリアレイにおける管理情報領域などの記憶領域の構成を例示する説明図である。
【図７】代替先登録テーブルの詳細を例示する説明図である。
【図８】管理情報の詳細を例示する説明図である。
【図９】ホスト・リードの指示に応答するメモリカードのリード動作を例示するフローチャートである。
【図１０】ホスト・ライトの指示に応答するメモリカードのライト動作の前半を例示するフローチャートである。
【図１１】ホスト・ライトの指示に応答するメモリカードのライト動作の後半を例示するフローチャートである。
【図１２】フラッシュメモリのリード動作タイミングを例示するタイミングチャートである。
【図１３】フラッシュメモリのライト動作タイミングを例示するタイミングチャートである。
【図１４】代替検索処理の詳細を例示するフローチャートである。
【図１５】代替処理の詳細を例示するフローチャートである。
【図１６】ホスト装置がメモリカードにデータを書き込むホスト・ライトのタイミングを例示するタイミングチャートである。
【符号の説明】
１　メモリカード
２　コントローラ
３　フラッシュメモリ
４　カード基板
１１　ＣＰＵ
１４　コントローラバッファ部
２０　メモリバッファ部
２１　センスラッチ回路
２２　メモリアレイ
２３　制御回路
２４　セレクタ
【図１】
2004086991.tif 000003
【図２】
2004086991.tif 000004
【図３】
2004086991.tif 000005
【図４】
2004086991.tif 000006
【図５】
2004086991.tif 000007
【図６】
2004086991.tif 000008
【図７】
2004086991.tif 000009
【図８】
2004086991.tif 000010
【図９】
2004086991.tif 000011
【図１０】
2004086991.tif 000012
【図１１】
2004086991.tif 000013
【図１２】
2004086991.tif 000014
【図１３】
2004086991.tif 000015
【図１４】
2004086991.tif 000016
【図１５】
2004086991.tif 000017
【図１６】
2004086991.tif 000018