(57)【要約】【課題】各物理ページの救済効率を向上させた不揮発性半導体記憶装置を提供する。【解決手段】不揮発性半導体記憶装置は、複数のワード線、前記複数のワード線に交差する複数のビット線、並びに前記ワード線及びビット線によって選択されそれぞれがＮビット（Ｎ＝２以上の整数）のデータを記憶可能な複数のメモリセルを有し、一の前記ワード線によって選択される複数のメモリセルの第ｎビット（ｎ＝１〜Ｎの整数）の集合は第ｎの物理ページを構成し、所定数の前記ビット線は、一のカラムを構成するメモリセルアレイと、外部から入力された前記物理ページ長以下の第１〜第Ｎの入力データをそれぞれ前記カラム長の単位データ毎に分割した後、データ書き込み前、所定の前記カラムの第１〜第Ｎの入力データの単位データをそれらの順序の少なくとも一部を同一カラム内で入れ替えて書き込むデータ書き込み部とを備えることを特徴とする。【選択図】図５
2012014807.tif 000002
【特許請求の範囲】
【請求項１】
複数のワード線、前記複数のワード線に交差する複数のビット線、並びに前記ワード線及びビット線によって選択されそれぞれがＮビット（Ｎ＝２以上の整数）のデータを記憶可能な複数のメモリセルを有し、一の前記ワード線によって選択される複数のメモリセルの第ｎビット（ｎ＝１〜Ｎの整数）の集合は第ｎの物理ページを構成し、所定数の前記ビット線は、一のカラムを構成するメモリセルアレイと、
外部から入力された前記物理ページ長以下の第１〜第Ｎの入力データをそれぞれ前記カラム長の単位データ毎に分割した後、
データ書き込み前、所定の前記カラムの第１〜第Ｎの入力データの単位データをそれらの順序の少なくとも一部を同一カラム内で入れ替えて書き込む
データ書き込み部と
を備えることを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記データ書き込み部は、
前記カラム毎に第１〜第Ｎのデータ保持部を有し、
前記第１〜第Ｎの入力データをそれぞれ前記カラム長の単位データ毎に分割した後、前記第ｎの入力データの複数の単位データをそれぞれ前記複数のカラムの第ｎのデータ保持部に保持し、
データ書き込み前、所定の前記カラムの第１〜第Ｎのデータ保持部の単位データをそれぞれ同一カラム内の他の第１〜第Ｎのデータ保持部のいずれかに転送させた後、前記複数のカラムの第１〜第Ｎのデータ保持部の単位データをそれぞれ同一カラムの第１〜第Ｎの物理ページのデータとして書き込む
ことを特徴とする請求項１記載の不揮発性半導体記憶装置。
【請求項３】
前記第１〜第Ｎの入力データは、それぞれ情報データ及びこの情報データのエラー訂正に用いる冗長データからなる第１〜第ＮのＥＣＣフレームの全部又は一部である
ことを特徴とする請求項１又は２記載の不揮発性半導体記憶装置。
【請求項４】
前記データ書き込み部は、所定数の前記カラムおきに、前記第１〜第Ｎのデータ保持部の単位データをそれぞれ同一カラム内の他の第１〜第Ｎのデータ保持部のいずれかに転送させる
ことを特徴とする請求項１〜３のいずれか１項記載の不揮発性半導体記憶装置。
【請求項５】
前記データ書き込み部は、前記複数のカラムのうち、データ読み出し時のエラー発生率が高い方から所定数の前記カラムにおいてのみ、前記第１〜第Ｎのデータ保持部の単位データをそれぞれ同一カラム内の他の第１〜第Ｎのデータ保持部のいずれかに転送させる
ことを特徴とする請求項１〜４のいずれか１項記載の不揮発性半導体記憶装置。
【請求項６】
前記単位データを転送させる所定数のカラムは、前記物理ページの両端に近い所定数のカラムである
ことを特徴とする請求項５記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、不揮発性半導体記憶装置に関する。
【背景技術】
【０００２】
近年、不揮発性半導体記憶装置の開発において、大容量化を実現するために１つのメモリセルに複数ビットの情報を格納する多値化技術が標準的になってきている。ただし、この多値化技術を用いた場合、データを表現するために使用される閾値分布の差が小さくなり、データ書き込み時の誤書き込みや、データ読み出し時の誤読み出し等が発生し易くなる。
【０００３】
そこで、従来から、このような問題を解決する不揮発性半導体記憶装置の一つとして、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）システムを搭載したＮＡＮＤ型フラッシュメモリが提案されている。しかし、このようなフラッシュメモリにおけるＥＣＣによるエラー訂正では、データ読み出しの際、次のような問題が生じる。例えば、１メモリセル当り３ビットを記憶するメモリセルを用いたフラッシュメモリの場合、Ｕ（Ｕｐｐｅｒ）ページ、Ｍ（Ｍｉｄｄｌｅ）ページ、及びＬ（Ｌｏｗｅｒ）ページの３種類の物理ページがあるが、これら物理ページの種類によってデータ読み出し回数が異なってくる。その結果、これら物理ページの種類毎にデータ読み出し時のエラー発生率が異なってくる。この場合、１つのＥＣＣフレームをそのままの形で１つの物理ページに格納したのでは、格納した物理ページの種類によって救済効率にバラツキが生じ、延いては、装置全体としての救済効率が上がらない点が問題となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１６０９２号公報
【特許文献２】特開２００８−１０８２９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、ＥＣＣの救済効率を向上させた不揮発性半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態に係る不揮発性半導体記憶装置は、複数のワード線、前記複数のワード線に交差する複数のビット線、並びに前記ワード線及びビット線によって選択されそれぞれがＮビット（Ｎ＝２以上の整数）のデータを記憶可能な複数のメモリセルを有し、一の前記ワード線によって選択される複数のメモリセルの第ｎビット（ｎ＝１〜Ｎの整数）の集合は第ｎの物理ページを構成し、所定数の前記ビット線は、一のカラムを構成するメモリセルアレイと、外部から入力された前記物理ページ長以下の第１〜第Ｎの入力データをそれぞれ前記カラム長の単位データ毎に分割した後、データ書き込み前、所定の前記カラムの第１〜第Ｎの入力データの単位データをそれらの順序の少なくとも一部を同一カラム内で入れ替えて書き込むデータ書き込み部とを備えることを特徴とする。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る不揮発性半導体記憶装置等のブロック図である。
【図２】同不揮発性半導体記憶装置のメモリセルアレイの構成を示す図である。
【図３】同不揮発性半導体記憶装置のセンスアンプ・データラッチ部のブロック図である。
【図４】同不揮発性半導体記憶装置の閾値分布とビット割付パターンの関係を示す図である。
【図５】同不揮発性半導体記憶装置のデータラッチ間におけるデータ転送前後のデータラッチの保持単位データを示す図である。
【図６Ａ】同不揮発性半導体記憶装置の入力データから記憶データへの変換手順を示すフローチャートである。
【図６Ｂ】同不揮発性半導体記憶装置の入力データから記憶データへの変換手順を示すフローチャートである。
【図６Ｃ】同不揮発性半導体記憶装置の入力データから記憶データへの変換手順を示すフローチャートである。
【図７】同不揮発性半導体記憶装置において、１メモリセル当り２ビット記憶する場合の入力データ転送後のデータラッチが保持するデータのパターンを示す図である。
【図８】同不揮発性半導体記憶装置において、１メモリセル当り３ビット記憶する場合の入力データ転送後のデータラッチが保持するデータのパターンを示す図である。
【図９】同不揮発性半導体記憶装置において、１メモリセル当り４ビット記憶する場合の入力データ転送後のデータラッチが保持するデータのパターンを示す図である。
【図１０】第２の実施形態に係る不揮発性半導体記憶装置のデータラッチ間におけるデータ転送前後のデータラッチの保持単位データを示す図である。
【図１１】第３の実施形態に係る不揮発性半導体記憶装置のデータラッチ間におけるデータ転送前後のデータラッチの保持単位データを示す図である。
【図１２】比較例に係る不揮発性半導体記憶装置のデータラッチ間におけるデータ転送前後のデータラッチの保持単位データを示す図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら実施形態に係る不揮発性半導体記憶装置を説明する。
【０００９】
［第１の実施形態］
図１は、第１の実施形態に係る不揮発性半導体記憶装置（以下、「半導体メモリ装置」と呼ぶ。）を含むメモリシステムを示す図である。なお、ここでは、半導体メモリ装置としてＮＡＮＤフラッシュメモリを例に挙げて説明する。
【００１０】
本実施形態に係るメモリシステムは、半導体メモリ装置１００と、これを制御するコントローラ２００とを有する。
【００１１】
半導体メモリ装置１００は、メモリセルアレイ１０１を備える。メモリセルアレイ１０１は、複数のビット線と複数のワード線と共通ソース線を含み、電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。メモリセルには、情報ビットとしての多値データに加え、情報ビットに対する誤り訂正のための冗長データも格納される。
【００１２】
メモリセルアレイ１０１には、ワード線電圧を制御するためのワード線制御回路１０６が接続されている。
【００１３】
ワード線制御回路１０６は、メモリセルが記憶する複数通り（１メモリセル当り３ビット記憶する場合には８通り）の閾値分布の下限の電圧や、隣接する閾値分布間の電圧など、データ書き込み動作におけるベリファイ動作や、データ読み出し動作に必要な電圧をワード線に供給する。
【００１４】
また、メモリセルアレイ１０１には、ビット線を制御するためのビット線制御回路１０２と、このビット線制御回路１０２を介してカラムデコーダ１０３とが接続されている。このビット線制御回路１０２は、データ書き込み部の一部である。
【００１５】
カラムデコータ１０３は、コントローラ２００から与えられるアドレス情報に基づいてビット線の選択を行う。
【００１６】
ビット線制御回路１０２は、ビット線を介してメモリセルアレイ１０１中のメモリセルの記憶データを読み出す機能に加え、読み出しデータや書き込みデータを保持するデータラッチ機能を有する。また、ビット線制御回路１０２は、ビット線を介してメモリセルアレイ１０１中のメモリセルにデータ書き込みに必要な電圧を供給する。
【００１７】
ビット線制御回路１０２には、データ入出力バッファ１０４と、このデータ入出力バッファ１０４を介して入出力制御回路１０５が接続されている。入出力制御回路１０５は、半導体メモリ１００のデータ入出力を制御するものである。コントローラ２００から送信された書き込みデータは、この入出力制御回路１０５によってデータ入出力バッファ１０４に転送され、蓄積されていく。一方、メモリセルアレイ１０１から送信される読み出しデータは、ビット線制御回路１０２を介してデータ入出力バッファ１０４に蓄積された後、入出力制御回路１０５によってコントローラに送信される。
【００１８】
また、半導体メモリ１００は、ビット線制御回路１０２、カラムデコーダ１０３、データ入出力バッファ１０４、及びワード線制御回路１０６を制御する制御回路１０７を備える。
【００１９】
制御回路７は、コントローラ２００から送信された制御信号を制御信号入力端子１０８を介して受信する。
【００２０】
コントローラ２００は、外部とのデータ送受信を制御する入出力制御回路２０１、入力データから冗長データを生成したり、読み出しデータのエラー訂正を行うＥＣＣシステム２０２、及びＥＣＣシステムで扱うデータを保持するためのデータレジスタ２０３を備える。外部から与えられた入力データは、入出力制御回路２０１によって、情報データとして半導体メモリ装置１００の入出力制御回路１０５に送信される他、エラー訂正のための冗長データを生成するためにＥＣＣシステム２０２に送信される。一方、半導体メモリ装置１００からの読み出しデータは、データレジスタ２０３を介してＥＣＣシステム２０２でエラー訂正された後、出力制御回路２０１に送信され、出力データとして入出力端子から出力される。
【００２１】
次に、図１に示すメモリセルアレイ１０１の構成について図２を参照しながら説明する。
【００２２】
メモリセルアレイ１０１は、図２に示すように、ＮＡＮＤセルユニット（ＮＡＮＤストリング）ＮＵを配列して構成される。
【００２３】
各ＮＡＮＤセルユニットＮＵは、直列接続された複数の（図２の例では６４個の）メモリセルＭＣ０〜ＭＣ６３を有する。ＮＡＮＤセルユニットＮＵの一端は選択ゲートトランジスタＳ１を介してセルソース線ＳＲＣに接続され、他端は選択ゲートトランジスタＳ２を介してビット線ＢＬに接続される。
【００２４】
メモリセルＭＣ０〜ＭＣ６３の制御ゲートはそれぞれ異なるワード線ＷＬ０〜ＷＬ６３に接続され、選択ゲートトランジスタＳ１、Ｓ２のゲートはそれぞれ選択ゲート線ＳＧ１、ＳＧ２に接続される。
【００２５】
ビット線ＢＬの一端にはビット線制御回路１０２の一部であるセンスアンプ・データラッチ部が配置される。１本のワード線ＷＬによって選択されるメモリセルＭＣの集合が、同時書き込み／読み出し時のデータアクセス単位である「ページ」を構成する。
【００２６】
なお、以下の説明において、「ページ」とは、このデータアクセス単位としての「ページ」として用いる他、１つのメモリセルＭＣに多値データを記憶する場合における記憶データの階層、すなわちプログラムの段階を示す場合にも用いる。この場合の「ページ」を「物理ページ」、あるいは、Ｌ（Ｌｏｗｅｒ）ページ、Ｍ（Ｍｉｄｄｌｅ）ページ、Ｕ（Ｕｐｐｅｒ）ページ等と呼ぶこともある。また、外部から入力される情報データを含む所定サイズのＥＣＣフレームを示す場合にも用い、この場合の「ページ」を「論理ページ」、あるいは、１ｓｔページ、２ｎｄページ、３ｒｄページ等と呼ぶこともある。
【００２７】
ワード線ＷＬ方向に配列されるＮＡＮＤセルユニットＮＵの集合は、データ消去の基本単位となるブロックを構成している。メモリセルアレイ１０１は、ビット線ＢＬの方向に配列された複数のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、・・・、ＢＬＫｎ）を含む。
【００２８】
次に、本半導体メモリ装置のセンスアンプ・データラッチ部の構成について図３を参照しながら説明する。
【００２９】
センスアンプ・データラッチ部１０２ａは、メモリセルアレイ１０１のビット線ＢＬの一端に設けられたセンスアンプＳ／Ａと、メモリセルアレイ１０１とデータ入出力バッファ１０４とのデータ転送や、その際に必要な演算を行う演算回路と、データ保持部としてデータラッチＤＬ１、ＤＬ２、ＤＬ３、及びＸＤＬとを備える。ここで、データラッチＤＬ１、ＤＬ２、ＤＬ３、ＸＤＬは、それぞれ１カラム分、例えば、８ビット（１バイト）分のビットラッチ回路を備える。
【００３０】
次に、メモリセルＭＣの閾値分布とデータ割り付けとの関係について説明する。
【００３１】
図３は、本半導体メモリ装置のメモリセルにおける８値（３ビット）記憶時の閾値分布とビット割り付けとの関係を示す図である。
【００３２】
図３に示すように、閾値分布は、閾値電圧が最も低いＥＲレベルから、閾値電圧が最も高いＧレベルまで、８つの閾値レベルに分かれている。これらＥＲ、Ａレベル、Ｂレベル、Ｃレベル、Ｄレベル、Ｅレベル、Ｆレベル、Ｇレベルは、それぞれ、２進数のデータ“１１１”、“０１１”、“００１”、“１０１”、“１００”、“０００”、“０１０”、“１１０”に対応している。ここで、このメモリセルＭＣに保持される３ビットのデータは、上位ビットからそれぞれ、Ｕ（Ｕｐｐｅｒ）ページ、Ｍ（Ｍｉｄｄｌｅ）ページ、Ｌ（Ｌｏｗｅｒ）ページをそれぞれ構成するビットに対応している。
【００３３】
次に、このメモリセルＭＣからのデータ読み出しについて説明する。
【００３４】
データ読み出しは、予め、選択ゲートトランジスタＳ１をオンにしておくと共に、ビット線を電源電圧等でプリチャージしておく。その上で、非選択ワード線にＧレベルの閾値分布の上限よりも高い読み出しパス電圧を供給し、選択ワード線に隣接する閾値分布間のいずれかの読み出し電圧を供給する。また、選択ゲートトランジスタＳ２をオンにする。この場合、読み出しパス電圧が制御ゲートに供給される非選択メモリセルは、自身の持つ閾値レベルに関わらずパスゲートとして機能する。その結果、選択メモリセルがオンした場合、ビット線とセルソース線が電気的に接続され、ビット線のレベルはセルソース線のレベルに低下する。一方、選択メモリセルがオフのままであった場合、ビット線のレベルは変化しない。このビット線の変化をセンスアンプによって検知増幅することでメモリセルの閾値レベルを判別する。
【００３５】
例えば、選択ワード線ＷＬにＡレベル−Ｂレベル間の読み出し電圧を与えた場合、ビット線ＢＬのレベルに変化がなく、Ｂレベル−Ｃレベル間の読み出し電圧を与えた場合、ビット線ＢＬのレベルが低下した場合、選択メモリセルの閾値レベルはＢレベルであることが分かる。
【００３６】
このデータ読み出し動作は、Ｕページ、Ｍページ、Ｌページのいずれの物理ページから読み出す場合であっても原理は変わらないものの、読み出し回数が異なってくる。
【００３７】
図４に示すビット割り付けに注目すると、Ｌページの場合、ＥＲレベル〜Ｃレベルに“１”、Ｄレベル〜Ｇレベルに“０”がそれぞれ割り付けられている。したがって、Ｃレベル−Ｄレベル間（Ｌｏｗｅｒ  Ｒｅａｄ＜１＞）の読み出し電圧による一回のデータ読み出しだけでＬページのデータを判別することができる。それに対し、Ｍページの場合、ＥＲレベル、Ａレベルに“１”、Ｂレベル−Ｅレベルに“０”、Ｆレベル、Ｇレベルに“０”がそれぞれ割り付けられている。したがって、Ｍページのデータを判別するためには、Ａレベル−Ｂレベル間（Ｍｉｄｄｌｅ  Ｒｅａｄ＜１＞）、Ｅレベル−Ｆレベル間（Ｍｉｄｄｌｅ  Ｒｅａｄ＜２＞）の２つの読み出し電圧によって２回の読み出し動作をする必要がある。さらに、Ｕページの場合、ＥＲレベルに“１”、Ａ、Ｂレベルに“０”、Ｃ、Ｄレベルに“１”、Ｅ、Ｆレベルに“０”、Ｇレベルに“１”がそれぞれ割り付けられている。したがって、Ｕページのデータを判別するためには、ＥＲ−Ａレベル間（Ｕｐｐｅｒ  Ｒｅａｄ＜１＞）、Ｂ−Ｃレベル間（Ｕｐｐｅｒ  Ｒｅａｄ＜２＞）、Ｄ−Ｅレベル間（Ｕｐｐｅｒ  Ｒｅａｄ＜３＞）、Ｆ−Ｇレベル間（Ｕｐｐｅｒ  Ｒｅａｄ＜４＞）の４つの読み出し電圧について、それぞれ読み出しを行う必要がある。
【００３８】
次に、このように物理ページ毎に読み出し回数が異なるという事実を踏まえた上で、ＥＣＣによるエラー訂正を考える。
【００３９】
外部から入力された１ページ分の情報データに対しエラー訂正のための冗長データを付加したＥＣＣフレームを構成し、１つのＥＣＣフレームを１つの物理ページに記憶するとする。ここで、例えば、連続する３つの情報データから１ｓｔページ、２ｎｄページ、３ｒｄページの３つのＥＣＣフレームを構成したとすると、Ｌページに１ｓｔページ、Ｍページに２ｎｄページ、Ｕページに３ｒｄページがそれぞれ記録される。しかし、上述のように、Ｌページ、Ｍページ、Ｕページからのデータ読み出しは、それぞれ読み出し回数が異なる。そのため、読み出し回数の最も多いＵページからの読み出しは当然にエラー発生が生じやすく、ＥＣＣによる救済効率が低くなる。逆に、読み出し回数が最も少ないＬページからの読み出しはエラーが生じにくく、ＥＣＣによる救済効率は高い。このような場合、メモリシステム全体を考えると、ＥＣＣによる救済効率が悪くなる。
【００４０】
そこで、本実施形態に係る半導体メモリ装置では、１ｓｔページ、２ｎｄページ、３ｒｄページをそのままＵページ、Ｍページ、Ｌページに記憶するのではなく、１ｓｔページ、２ｎｄページ、３ｒｄページそれぞれを構成するカラム長のデータ（以下、「単位データ」と呼ぶ）を、同一カラム内の他の論理ページの単位データと入れ替えた上で物理ページに記憶する。このように、１つの論理ページがＬページ、Ｍページ、Ｕページに分散することで、１ｓｔページ、２ｎｄページ、３ｒｄページそれぞれのエラー発生率を平均化させることができる。
【００４１】
図５は、その具体例を示すもので、論理ページと物理ページとの関係を示す図である。ここでは、１ｓｔページ、２ｎｄページ、３ｒｄページは、それぞれ単位データＡ０〜Ａ１１、単位データＢ０〜Ｂ１１、単位データＣ０〜Ｃ１１で構成されているものとする。
【００４２】
先ず、コントローラ２００から送信されてきた１ｓｔページ、２ｎｄページ、３ｒｄページのデータは、それぞれセンスアンプ・データラッチ部１０２ａのデータラッチＤＬ１、ＤＬ２、ＤＬ３にそのまま保持される。この時のデータラッチＤＬ１、ＤＬ２、ＤＬ３の状態は図５の上図のようになる。
【００４３】
その後、これら論理ページのデータは、センスアンプ・データラッチ部１０２ａの演算回路によって、図５の下図のように並び替えられた上で、メモリセルアレイ１０１内の物理ページに記録される。具体的には、カラム＜０＞のデータラッチＤＬ１、ＤＬ２、ＤＬ３には、それぞれ１ｓｔページ、２ｎｄページ、３ｒｄページの単位データＡ０、Ｂ０、Ｃ０が保持されている。カラム＜１＞のデータラッチＤＬ１、ＤＬ２、ＤＬ３には、それぞれ３ｒｄページ、１ｓｔページ、２ｎｄページの単位データＣ１、Ａ１、Ｂ１が保持されている。カラム＜２＞のデータラッチＤＬ１、ＤＬ２、ＤＬ３には、それぞれ２ｎｄページ、３ｒｄページ、１ｓｔページの単位データＢ２、Ｃ２、Ａ２が保持されている。以降、カラム＜０＞〜＜２＞と同様に、データラッチＤＬ間の単位データの入れ替え（転送）が行われる。
【００４４】
最後に、データラッチＤＬ１、ＤＬ２、ＤＬ３に保持されているデータは、それぞれＬページ、Ｍページ、Ｕページに記録される。
【００４５】
次に、センスアンプ・データラッチ部１０２ａにおいて、図５上図に示す論理ページを図５下図に示す物理ページにどのように変換されるかを図６Ａ〜図６Ｃのフローチャートを参照しながら説明する。なお、カラム＜３＞〜＜５＞、カラム＜６＞〜＜８＞、カラム＜９＞〜＜１１＞についての入れ替えは、カラム＜０＞〜＜２＞についての入れ替えと同様であるため、ここでは、カラム＜０＞〜＜２＞についてのみ説明する。また、３つの論理ページは、論理ページ毎にそれぞれデータラッチＤＬ１、ＤＬ２、ＤＬ３に既に保持されているものとして説明を始める。なお、図６の各ステップの右側にある図は、各ステップの処理後のセンスアンプＳ／Ａ、演算回路のレジスタＹ１、Ｙ２、データラッチＤＬ１、ＤＬ２、ＤＬ３、及びＸＤＬが保持／格納する単位データを示すものである。太枠で囲まれた単位データは、各ステップにおいて更新された単位データを示す。
【００４６】
始めに、ステップＳ１０１において、カラム＜０＞、＜１＞、＜２＞のデータラッチＤＬ３に保持されている単位データＣ０、Ｃ１、Ｃ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ１にコピーする。その後、カラム＜０＞のレジスタＹ１に格納されている単位データＣ０を同一のカラム＜０＞のデータラッチＸＤＬにコピーする。その後、更に、カラム＜０＞、＜１＞、＜２＞のレジスタＹ１に格納されている単位データＣ０、Ｃ１、Ｃ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のセンスアンプＳ／Ａにコピーする。ステップＳ１０１の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１０１の通りである。
【００４７】
続いて、ステップＳ１０２において、カラム＜０＞、＜１＞、＜２＞のデータラッチＤＬ２に保持されている単位データＢ０、Ｂ１、Ｂ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ１にコピーする。その後、カラム＜１＞のレジスタＹ１に格納されている単位データＢ１を同一のカラム＜１＞のデータラッチＸＤＬにコピーする。ステップＳ１０２の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１０２の通りである。
【００４８】
続いて、ステップＳ１０３において、カラム＜０＞、＜１＞、＜２＞のデータラッチＤＬ１に保持されている単位データＡ０、Ａ１、Ａ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ１にコピーする。その後、カラム＜２＞のレジスタＹ１に格納されている単位データＢ２を同一のカラム＜２＞のデータラッチＸＤＬ＜２＞にコピーする。ステップＳ１０３の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１０３の通りである。
【００４９】
続いて、ステップＳ１０４において、カラム＜０＞、＜１＞、＜２＞のデータラッチＸＤＬに保持されている単位データＣ０、Ｂ１、Ａ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ１にコピーする。その後、カラム＜０＞、＜１＞、＜２＞のレジスタＹ１に格納されている単位データＣ０、Ｂ１、Ａ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のデータラッチＤＬ３にコピーする。ステップＳ１０４の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１０４の通りである。
以上のステップＳ１０１〜Ｓ１０４によって、各カラムのデータラッチＤＬ３には、Ｕページの各カラムに書き込むべき単位データが準備される。
【００５０】
続いて、ステップＳ１０５において、カラム＜０＞、＜１＞、＜２＞のデータラッチＤＬ２に保持されている単位データＢ０、Ｂ１、Ｂ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ１にコピーする。その後、カラム＜０＞のレジスタＹ１に格納されている単位データＢ０を同一のカラム＜０＞のデータラッチＸＤＬにコピーする。ステップＳ１０５の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１０５の通りである。
【００５１】
続いて、ステップＳ１０６において、カラム＜０＞、＜１＞、＜２＞のデータラッチＤＬ１に保持されている単位データＡ０、Ａ１、Ａ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ２にコピーする。その後、カラム＜１＞のレジスタＹ２に格納されている単位データＡ１を同一のカラム＜１＞のデータラッチＸＤＬにコピーする。ステップＳ１０６の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１０６の通りである。
【００５２】
続いて、ステップＳ１０７において、カラム＜０＞、＜１＞、＜２＞のセンスアンプＳ／Ａに保持されている単位データＣ０、Ｃ１、Ｃ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ２にコピーする。その後、カラム＜２＞のレジスタＹ２に格納されている単位データＡ２を同一のカラム＜２＞のデータラッチＸＤＬ＜２＞にコピーする。ステップＳ１０７の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１０７の通りである。
【００５３】
続いて、ステップＳ１０８において、カラム＜０＞、＜１＞、＜２＞のデータラッチＸＤＬに保持されている単位データＢ０、Ａ１、Ｃ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ２にコピーする。その後、カラム＜０＞、＜１＞、＜２＞のレジスタＹ２に格納されている単位データＢ０、Ａ１、Ｃ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のデータラッチＤＬ２にコピーする。ステップＳ１０８の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１０８の通りである。
【００５４】
以上のステップＳ１０５〜Ｓ１０８によって、各カラムのデータラッチＤＬ２には、Ｍページの各カラムに書き込むべき単位データが準備される。
【００５５】
続いて、ステップＳ１０９において、カラム＜０＞、＜１＞、＜２＞のセンスアンプＳ／Ａに保持されている単位データＣ０、Ｃ１、Ｃ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ２にコピーする。その後、カラム＜０＞、＜１＞、＜２＞のレジスタＹ２に格納されている単位データＣ０、Ｃ１、Ｃ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のデータラッチＸＤＬにコピーする。ステップＳ１０９の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１０９の通りである。
【００５６】
続いて、ステップＳ１１０において、カラム＜２＞のレジスタＹ１に格納されている単位データＢ２を同一のカラム＜２＞のデータラッチＸＤＬにコピーする。ステップＳ１１０の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１１０の通りである。
【００５７】
続いて、ステップＳ１１１において、カラム＜０＞、＜１＞、＜２＞のデータラッチＤＬ１に保持されている単位データＡ０、Ａ１、Ａ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ２にコピーする。その後、カラム＜０＞のレジスタＹ２に格納されている単位データＣ０を同一のカラム＜０＞のデータラッチＸＤＬにコピーする。ステップＳ１１１の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１１１の通りである。
【００５８】
続いて、ステップＳ１１２において、カラム＜０＞、＜１＞、＜２＞のデータラッチＸＤＬに保持されている単位データＡ０、Ｃ１、Ｂ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のレジスタＹ２にコピーする。その後、カラム＜０＞、＜１＞、＜２＞のレジスタＹ２に格納されている単位データＡ０、Ｃ１、Ｂ２を、それぞれ同一のカラム＜０＞、＜１＞、＜２＞のデータラッチＤＬ１にコピーする。ステップＳ１１２の処理後のセンスアンプＳ／Ａ等の様子は図中Ｔ１１２の通りである。
【００５９】
以上のステップＳ１０９〜Ｓ１１２によって、各カラムのデータラッチＤＬ１には、Ｕページの各カラムに書き込むべき単位データが準備される。
【００６０】
次に、上記入れ替え手順による効果について、図１２中（Ａ）、（Ｂ）に示す２つの比較例を参照しながら説明する。
【００６１】
図１２中（Ａ）、（Ｂ）に示す比較例は、本実施形態と同様、１ｓｔページ、２ｎｄページ、３ｒｄページをそれぞれＬページ、Ｍページ、Ｕページに分散して記憶している。しかし、これら比較例の場合、本実施形態の場合とは異なり、異なるカラムに渡って単位データの入れ替えがなされている。
【００６２】
具体的には、データ転送前、カラム＜０＞のデータラッチＤＬ２に保持されている２ｎｄページの単位データＢ０は、異なるカラム＜１＞のデータラッチＤＬ１に転送される。同様に、データ転送前、カラム＜０＞のデータラッチＤＬ３に保持されている単位データＣ０は、異なるカラム＜２＞のデータラッチＤＬ１に転送される。ここで、例えば、カラム＜０＞のセンスアンプＳ／Ａに不具合が生じていたとする。この場合、元々、カラム＜０＞のデータラッチＤＬ１、ＤＬ２、ＤＬ３に保持されていた３つの単位データＡ０、Ｂ０、Ｃ０の他、図１２中（Ａ）の場合、カラム＜０＞のセンスアンプＳ／Ａを経由するカラム＜０＞のデータラッチＤＬ２、ＤＬ３に転送されてきた単位データＡ２、Ａ４にもエラーが生じてしまう。同様に、図１２中（Ｂ）の場合、入れ替え際にカラム＜０＞のセンスアンプＳ／Ａを経由してカラム＜０＞のデータラッチＤＬ２、ＤＬ３に転送されてきた単位データＣ２、Ｂ４にもエラーが生じてしまう。
【００６３】
このように、図１２に示す比較例によれば、ある特定のカラムに異常が有った場合、単位データの転送の際に、他のカラムの単位データにも影響が出てしまう。その点、本実施形態によれば、同一カラム内でのみ単位データの入れ替えを行うため、ある特定のカラムの異常が他のカラムに影響することを回避することができる。
【００６４】
また、図１２に示す比較例のように単位データの入れ替えを異なるカラム間で行う場合、それに伴う配線が必要となる。その結果、半導体メモリ装置のチップ面積が増大してしまう。その点、本実施形態によれば、新たな配線を増設する必要がないため、チップ面積の増大は生じない。
【００６５】
以上、本実施形態によれば、カラム異常の影響を小さく、且つ、チップ面積の増大を伴わずに、論理ページのエラー発生率を平均化させた半導体メモリ装置を提供することができる。
【００６６】
なお、本実施形態では、１メモリセル当り３ビットを記憶する半導体メモリ装置を例に説明したが、１メモリセル当り２以上のビットを記憶する不揮発性半導体記憶装置であれば適用することができる。
【００６７】
図７、図８、図９は、それぞれ１メモリセル当り２ビット、３ビット、４ビットを記憶する場合のデータ入れ替え（転送）前後のデータラッチに保持された単位データのパターンを示す図である。
【００６８】
１メモリセル当り２ビットを記憶する不揮発性半導体記憶装置の場合、図７に示す通り、データ転送前のパターン（０）の他、データラッチＤＬ１が保持する単位データＡｎとデータラッチＤＬ２が保持する単位データＢｎを相互に入れ替えたパターン（１）が存在する。例えば、パターン（０）とパターン（１）を１カラム毎に交互に繰り返すことで、２つの論理ページの単位データは、Ｌページ、Ｕページの２つの物理ページに均等に分散される。
【００６９】
１メモリセル当り３ビットを記憶する不揮発性半導体記憶装置の場合、図８に示す通り、データ転送前のパターン（０）の他、５つのパターン（１）〜（５）が存在する。そのうち、３つのパターンを組み合わせ、３カラム周期で繰り返すことで、３つの論理ページのエラー発生率を平均化することができる。図５に示す場合、カラム＜０＞がパターン（０）、カラム＜１＞がパターン（４）、カラム＜２＞がパターン（５）に相当する。以降、３カラム周期でパターン（０）、パターン（４）、パターン（５）が繰り返されている。その他、パターン（０）を含む全てのパターン（０）〜（５）を６カラム周期で繰り返しても良い。この場合、６カラムにおけるＬページ、Ｍページ、Ｕページには、それぞれ１ｓｔページ、２ｎｄページ、３ｒｄページの単位データを２つずつ含む事になり、３つの論理ページの平均化を図ることができる。
【００７０】
１メモリセル当り４ビットを記憶する不揮発性半導体記憶装置の場合、図９に示す通り、データ転送前のパターン（０）の他、（１）〜（２３）のパターンが存在する。この場合、例えば、パターン（０）〜（２３）のうち４つのパターンを４ビット周期で繰り返すことで４つの論理データの平均化を図ることができる。
【００７１】
［第２の実施形態］
第１の実施形態では、図６Ａ〜図６Ｃに示すように、全てのカラムについて、データラッチ、センスアンプ、演算回路のレジスタ間のデータ転送を繰り返すことで、物理ページに書き込むデータを生成していた。
【００７２】
これに対し、第２の実施形態に係る半導体メモリ装置では、所定数のカラムおきに単位データの入れ替えを行う。
【００７３】
本実施形態の具体例を図１０に示す。この具体例の場合、図１０下図の太線で示したように、１カラムおき、つまりカラム＜０＞、＜２＞、＜４＞、＜６＞、＜８＞、＜１０＞についてのみ単位データの入れ替えを行う。換言すれば、その他のカラム＜１＞、＜３＞、＜５＞、＜７＞、＜９＞、＜１１＞については、そのまま物理ページに転送される。なお、図１０に示す場合、カラム＜０＞、＜２＞、＜４＞、＜６＞、＜８＞、＜１０＞は、それぞれ図８に示すパターン（３）、（４）、（５）、（１）、（２）、（４）に相当する。
【００７４】
本実施形態によれば、全てのカラムの単位データを転送させないため、第１の実施形態に比べ、論理ページ毎のエラー発生率の平均化は限定的となるものの、第１の実施形態に比べ、単位データ入れ替え時の消費電力も削減することができるため、物理ページ毎のエラー発生率に大きなバラツキがない場合に有効である。
【００７５】
［第３の実施形態］
第３の実施形態は、特定のカラムの単位データだけを入れ替える例である。
本実施形態の具体例を図１１に示す。図１１に示す場合、１ページを構成するカラム＜０＞〜＜１１＞のうち、メモリセルアレイの構造上一般的にエラーが生じやすい両端付近のカラム＜０＞、＜１＞、＜１０＞、＜１１＞の単位データを、それぞれ図８に示すパターン（１）、（２）、（５）、（４）のように入れ替えている。
【００７６】
このように単位データを入れ替えるカラムを限定させたことで、第１の実施形態に比べ、データ入れ替え時の消費電力を抑制することができる。さらに、データ入れ替えを行わないカラムについては、論理ページのエラー発生率の平均化への寄与が元々小さいため、論理データのエラー発生率の平均化の効果については、第１の実施形態と比べても遜色ない。
【００７７】
なお、図１１に示す例は、物理ページの両端付近のカラムのエラー発生率が高いことを前提にしたものであるが、この単位データの入れ替えを行うカラムは、予めテスト等によって得られたエラー発生率などに基づいて決定しても良い。
［その他］
【００７８】
以上、発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加等が可能である。
【符号の説明】
【００７９】
１００・・・半導体メモリ装置、１０１・・・メモリセルアレイ、１０２・・・ビット線制御回路、１０２ａ・・・センスアンプ・データラッチ部、１０３・・・カラムデコーダ、１０４・・・データ入出力バッファ、１０５・・・入出力制御回路、１０６・・・ワード線制御回路、１０７・・・制御回路、１０８・・・制御信号入出力端子、２００・・・コントローラ、２０１・・・入出力制御回路、２０２・・・ＥＣＣシステム、２０３・・・データレジスタ。
【図１】
2012014807.tif 000003
【図２】
2012014807.tif 000004
【図３】
2012014807.tif 000005
【図４】
2012014807.tif 000006
【図５】
2012014807.tif 000007
【図６Ａ】
2012014807.tif 000008
【図６Ｂ】
2012014807.tif 000009
【図６Ｃ】
2012014807.tif 000010
【図７】
2012014807.tif 000011
【図８】
2012014807.tif 000012
【図９】
2012014807.tif 000013
【図１０】
2012014807.tif 000014
【図１１】
2012014807.tif 000015
【図１２】
2012014807.tif 000016