(57)【要約】【課題】倍速ランダマイザの使用時に、シードデータのランダム性を確保しつつ、シードデータのローディング時間を短縮できる、不揮発性半導体記憶装置を提供する。【解決手段】本発明の不揮発性半導体記憶装置は、図３（Ａ）に示すように、ページアドレス（０〜ＦＦＦ）を１２８個のカラムアドレス単位で３２個の第１領域に区分し、１６倍速（×１６）のランダマイザを使用する場合は、３２個の第１領域に対して２個のシードデータＡ，Ｂを、１６回順に繰り返して設定する。そして、図３（Ｃ）に示すように、３２個の第１領域を８個ごとの第２領域（Ｙｐアドレス０〜７で指定される８個の第１領域を含む第２領域）に区分けし、この第２領域に含まれる８個の第１領域の中から半数の領域をランダムに選択し、この選択された４個の第１領域に設定されたシードデータを論理反転させる。【選択図】図３
2013125452.tif 000002
【特許請求の範囲】
【請求項１】
ページアドレスをシードデータが設定される単位で複数の領域に区分するとともに前記複数の領域のそれぞれにシードデータを設定する際に、前記複数の領域の中に同一のシードデータが設定されるものがある場合は、当該同一のシードデータが設定される複数の領域の中から、半数の領域をランダムに選択し、この選択した領域に使用されるシードデータを論理反転させることを特徴とする不揮発性半導体記憶装置。
【請求項２】
フラッシュメモリのページアドレスをシードデータが設定される単位でｍ個（ｍは任意の２の累乗数）の第１領域に区分し、このｍ個の第１領域のそれぞれにシードデータを設定する際に、第１領域の総数ｍ個の１／Ｎの個数（＝ｍ／Ｎ個：Ｎはｍ以下の任意の２の累乗数）の相異なるシードデータを用い、前記ｍ個の第１領域のそれぞれに対して前記ｍ／Ｎ個のシードデータのそれぞれを、Ｎ回順に繰り返して設定するＮ倍速ランダマイザ機能と、
前記ｍ個の第１領域をｐ個（ｐはｍ以下の任意の２の累乗数）単位で第２領域に区分けし、この第２領域において、ｐ個の領域の中から半分の個数の領域をランダムに選択し、この選択された領域に設定されたシードデータを論理反転させるシードデータ反転機能と、
を備えることを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記ｍ個の第１領域を第１アドレスにより前記ｐ個ごとの第２領域に区分し、前記第２領域に含まれるｐ個の第１領域をさらに第２アドレスにより個々に指定する
ことを特徴とする請求項２に記載の不揮発性半導体記憶装置。
【請求項４】
前記第２領域に含まれるｐ個の第１領域の中から、半分の個数の領域をランダムに選択し、この選択された領域に設定されたシードデータを論理反転させるための信号であるイネーブル信号を生成するイネーブル信号生成回路と、
前記イネーブル信号と前記シードデータとを入力し、前記イネーブル信号を基にしてシードデータを論理反転させる論理反転回路と、
を備えることを特徴とする請求項２または請求項３に記載の不揮発性半導体記憶装置。
【請求項５】
前記イネーブル信号生成回路は、
前記イネーブル信号を、フラッシュメモリにアクセスする際の単位となるブロックアドレスとページアドレスのいずれかまたは両方のアドレスを基に生成する
ことを特徴とする請求項４に記載の不揮発性半導体記憶装置。
【請求項６】
ページアドレスをシードデータが設定される単位で複数の領域に区分するとともに前記複数の領域のそれぞれにシードデータを設定する際に、前記複数の領域の中に同一のシードデータが設定されるものがある場合は、当該同一のシードデータが設定される複数の領域の中から、半数の領域をランダムに選択し、この選択した領域に使用されるシードデータを論理反転させることを特徴とする不揮発性半導体記憶装置におけるシードデータの設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリを用いた不揮発性半導体記憶装置、および不揮発性半導体記憶装置におけるシードデータの設定方法に関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリのＭＬＣ（Ｍｕｌｔｉ  Ｌｅｖｅｌ  Ｃｅｌｌ）及び一部のＳＬＣ（Ｓｉｎｇｌｅ  Ｌｅｖｅｌ  Ｃｅｌｌ）回路において、プログラム（書き込み）されたオフセル（Ｏｆｆ−Ｃｅｌｌ）とイレース（消去）されたオンセル（Ｏｎ−Ｃｅｌｌ）の数を均等とするランダマイザ（Ｒａｎｄｏｍｉｚｅｒ：乱数発生回路）が使用されている。しかし、ランダマイザ使用時には、シードデータをローディングする時間が長くなるために、結果としてプログラム（書き込み）及びリード（読み出し）期間が長くなってしまう。この場合、倍速ランダマイザ機能を使用することにより、シードデータのローディング時間を短縮できるが、シードデータのランダム性が失われてしまうという問題がある。
【０００３】
なお、関連するメモリシステムがある（特許文献１を参照）。この特許文献１に記載のメモリシステムは、ＮＡＮＤ型フラッシュメモリに対する誤書き込みの発生を抑制することを目的としている。この特許文献１に記載のメモリシステムは、複数のページからなるメモリブロックを有するＮＡＮＤ型フラッシュメモリと、フラッシュメモリへのデータの書き込みを制御し、データを疑似乱数化するスクランブル回路を有するコントローラと、を備える。スクランブル回路は、セグメント単位で初期値を発生させる初期値発生回路と、ページアドレス単位で初期値をＮビットシフトさせる初期値シフト回路と、Ｎビットシフトされた初期値を使用してＭ系列による擬似乱数列を発生させる疑似乱数発生回路と、疑似乱数列をデータに加算する乱数加算回路と、を有する。この特許文献１に記載のメモリシステムは、乱数発生方法について、２つの方法を開示している。一つは、一度生成した乱数に対して、Ｎビットシフトする方法であり、もう一つは、一度発生した乱数に対して、前ページとはデータを反転させる方法である。しかしながら、この特許文献１に記載のメモリシステムで開示された方法では、シードデータのローディング時間の短縮にはつながらない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１５７８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のように、ＭＬＣ及び一部のＳＬＣ回路において、オンセルとオフセルの数を均等とするランダマイザを使用している。しかしながら、ランダマイザ使用時には、シードデータのローディング時間が長くなるため、結果としてプログラム及びリード期間が長くなってしまう。この問題の解決のために、倍速ランダマイザ機能（ページアドレス内の複数の領域において同一のシードデータを使用してシードデータの種類を減らす機能）を用いることにより、シードデータのローディング時間を短縮できる。しかし、倍速ランダマイザを用いることにより、シードデータのランダム性が失われてしまうという問題が発生する。
【０００６】
図７は、倍速ランダマイザにおけるシードデータの設定例を示す図であり、４Ｋのフラッシュメモリのページバッファにおけるページアドレスとシードデータとの対応関係を表で示したものである。この図７に示す表では、最上段の横方向にカラムアドレスを１２８個ごとのアドレス（１つのシードデータが設定されるアドレス範囲）で区分けした３２個の領域を示している。また、この表の左端には、縦方向に倍速ランダマイザの速度（１倍速（×１）、４倍速（×４）、８倍速（×８）、１６倍速（×１６）、３２倍速（×３２））をパラメータとして並べて示している。そして、表中には、カラムアドレスと倍速の速度とに応じて、選択されるシードデータ（乱数のパターン）の種類（符号ＡからＦＦで一意に識別されるシードデータ）を示している。なお、この図７に示す表については、本発明の実施形態の項において再度説明する。
【０００７】
この表に示すように、１倍速（×１）の場合、すなわち倍速ランダマイザを使用しない場合は、３２個の領域のそれぞれに対して異なる３２種類のシードデータＡ〜ＦＦが使用される。このシードデータは、例えば、シードデータＡ＝０１０１１１０１・・・、シードデータＢ＝１１０１０１１１・・・等のカラムアドレスに対応する１２８ビットのデータである。一方、４倍速（×４）の場合は、使用されるシードデータの種類が１／４となり、シードデータは、シードデータＡからＨまでの８種類（３２／４）となる。また、１６倍速（×１６）の場合は、使用されるシードデータの種類が１／１６となり、シードデータはシードデータＡおよびＢの２種類となる。また、３２倍速（×３２）の場合は、シードデータは、シードデータＡのみとなる。
このように、シードデータを倍速化することにより、複数のページバッファに同一のシードデータを一括して入力することができるため、シードデータの種類が減るとともに、シードデータのローディング時間は短縮される。しかし、その反面、使用されるシードデータの種類が少なくなるため、シードデータのランダム性が低減されることになる。
【０００８】
本発明は、斯かる実情に鑑みなされたものであり、本発明の目的は、倍速ランダマイザの使用時に、シードデータのランダム性を確保しつつ、シードデータのローディング時間を短縮することができる、不揮発性半導体記憶装置、および不揮発性半導体記憶装置におけるシードデータの設定方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は上記課題を解決するためになされたものであり、本発明の不揮発性半導体記憶装置は、ページアドレスをシードデータが設定される単位で複数の領域に区分するとともに前記複数の領域のそれぞれにシードデータを設定する際に、前記複数の領域の中に同一のシードデータが設定されるものがある場合は、当該同一のシードデータが設定される複数の領域の中から、半数の領域をランダムに選択し、この選択した領域に使用されるシードデータを論理反転させることを特徴とする。
【発明の効果】
【００１０】
本発明の不揮発性半導体記憶装置においては、同一のシードデータが設定される複数の領域の中から、半数の領域をランダムに選択し、この選択された領域に設定されたシードデータを論理反転（“１”を“０”に、“０”を“１”に反転）させる。
これにより、本発明の不揮発性半導体記憶装置では、倍速ランダマイザの使用時に、シードデータのランダム性を確保しつつ、シードデータのローディング時間を短縮することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係わる不揮発性半導体記憶装置の構成を示す図である。
【図２】メモリセルアレイの構成を示す図である。
【図３】本実施形態の不揮発性半導体記憶装置におけるシードデータの設定例を示す図である。
【図４】ページバッファのＩ／Ｏ構成の例を示す図である。
【図５】ページバッファデコーダの構成を示す図である。
【図６】イネーブル信号生成回路と論理反転回路の構成を示す図である。
【図７】倍速ランダマイザにおけるシードデータの設定例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を添付図面を参照して説明する。
【００１３】
［不揮発性半導体記憶装置の構成］
図１は、本発明の実施形態に係わる不揮発性半導体記憶装置の構成を示す図であり、ランダマイザ使用時のデータパスを示す図である。また、図１は、本発明に直接関係する部分のみを示したものである。
この図１に示す不揮発性半導体記憶装置１０は、入出力コントロール回路１１と、アドレス発生回路１２と、ランダマイザ１３と、ＮＡＮＤ型フラッシュメモリ（本明細書では、単に「フラッシュメモリ」とも呼ぶ）２０とを有して構成されている。入出力コントロール回路１１は、入出力Ｉ／Ｏ線（Ｉ／Ｏ＿０〜Ｉ／Ｏ＿１５）に接続される入出力信号のバッファ回路である。この入出力コントロール回路１１は、外部の回路から入出力Ｉ／Ｏ線（Ｉ／Ｏ＿０〜Ｉ／Ｏ＿１５）を介して２バイトのデータ信号およびアドレス信号を受信し、受信したデータ信号をフラッシュメモリ２０内のページバッファ２２に出力し、アドレス信号をアドレス発生回路１２に出力する。また、入出力コントロール回路１１は、メモリセルアレイ２１から読み出したデータを入出力Ｉ／Ｏ線（Ｉ／Ｏ＿０〜Ｉ／Ｏ＿１５）を介して、外部に出力する。
【００１４】
アドレス発生回路１２は、入出力コントロール回路１１から入力したアドレス信号を基に、フラッシュメモリ２０のブロックアドレスとページアドレスの信号を生成し、この生成したブロックアドレスとページアドレスの信号とをランダマイザ１３に出力する。ランダマイザ１３は、アドレス発生回路１２から入力したブロックアドレスとページアドレスの信号を基に、シードアレイ１４からページアドレスに応じたシードデータを選択し、この選択したシードデータをページバッファ２２に出力する。ページバッファ２２は、ランダマイザ１３から入力したシードデータを基に、入出力コントロール回路１１から入力した入力データをランダマイズしてメモリセルアレイ２１に書き込む。なお、不揮発性半導体記憶装置１０は、メモリセルアレイ２１からデータを読み出す場合に、メモリセルアレイ２１から読み出したデータを、データ書き込みの際に使用したシードデータを用いてデランダマイズすることにより、元のデータに復元する。
【００１５】
上記構成のＮＡＮＤ型フラッシュメモリ２０において、メモリセルアレイ２１は、図２に示すブロックを複数ブロック備えている。各ブロックは、図２に示すように、Ｎ＋１本のビット線ＢＬ０〜ＢＬＮ（ビット線ＢＬで総称）と、ｎ＋１本のワード線ＷＬ０〜ＷＬｎ（ワード線ＷＬで総称）と、共通ソース線ＣＳＬと、各ビット線ＢＬと共通ソース線ＣＳＬとの間にそれぞれ接続されたＮ＋１個のメモリストリングＳＴ０〜ＳＴＮ（メモリストリングＳＴで総称）と、を備える。各メモリストリングＳＴは、互いに直列接続されたｎ＋１個のフローティングゲート構造の電気的書き換え可能な不揮発性のメモリセルＭＣ０〜ＭＣｎを備えている。ここで、ドレイン側のメモリセルＭＣｎは選択ゲートトランジスタＳＳ１を介して対応するビット線ＢＬに接続されている。一方、ソース側のメモリセルＭＣ０は選択ゲートトランジスタＧＳ１を介して共通ソース線ＣＳＬに接続されている。また、同一行のメモリセルの制御ゲートは、共通のワード線ＷＬに接続されている。
【００１６】
図２に示すブロックにおいて、メモリセルの消去は、例えば、半導体基板に高電圧を印加し、ワード線ＷＬ０〜ＷＬｎに０Ｖを印加することにより行われる。これにより、例えばポリシリコンなどからなる電荷蓄積層であるフローティングゲートより電子を引き抜いて、メモリセルＭＣの閾値電圧を消去閾値電圧ＶｔＬ（例えば、−１Ｖ）に設定する。一方、書き込み（プログラム）においては、例えば、ソース及びドレインに０Ｖを与え、制御ゲート（選択したワード線ＷＬ）に高電圧を印加することにより、フローティングゲートに電子を注入し、閾値電圧を上昇させて書込閾値電圧ＶｔＨに設定する。そして、メモリセルＭＣ０〜ＭＣｎの閾値電圧が閾値電圧ＶｔＬの場合、当該メモリセルのデータ値を“１”とし、閾値電圧が閾値電圧ＶｔＨの場合、当該メモリセルのデータ値を“０”とする。
【００１７】
また、メモリセルからデータを読み出すときには、全てのビット線ＢＬを所定の電圧でプリチャージした後に、閾値ＶｔＬとＶｔＨ間の読み出し電圧を、読み出し対象のメモリセルＭＣに共通に接続されたワード線ＷＬを介して、選択メモリセルの各制御ゲートに印加する。また、高電圧を、上記選択メモリセル以外のメモリセルＭＣおよび選択トランジスタＳＳ１，ＧＳ１の各制御ゲートに印加して、上記選択メモリセル以外のメモリセルＭＣならびに選択ゲートトランジスタＳＳ１，ＧＳ１を導通させる。従って、選択メモリセルのデータ値が“１”のときには、当該選択メモリセルにセル電流が流れる一方、選択メモリセルのデータ値が“０”のときには、当該選択メモリセルにセル電流が流れないので、セル電流が流れるか否かに基づいて、各選択メモリセルに書き込まれているデータを読み出すことができる。
【００１８】
上記構成の不揮発性半導体記憶装置１０において、メモリセルアレイ２１へのデータの書き込みは、以下に示す第１の手順から第３の手順で行われる。
第１の手順として、不揮発性半導体記憶装置１０は、入出力コントロール回路１１により、データをページバッファ２２にセットする。
第２の手順として、不揮発性半導体記憶装置１０は、データを書き込むメモリセルのブロックアドレス及びページアドレスを基にランダマイザ１３おいてシードアレイ１４からシードデータを選択する。そして、不揮発性半導体記憶装置１０は、この選択したシードデータをページバッファ２２にセットする。そして、第３の手順として、不揮発性半導体記憶装置１０は、シードデータにより書き込みデータをランダマイズし、このランダマイザされたデータをメモリセルアレイ２１に書き込む。
【００１９】
また、メモリセルアレイ２１からのデータの読み出しは、以下に示す第１の手順から第３の手順で行われる。
第１の手順として、不揮発性半導体記憶装置１０は、メモリセルアレイ２１からページバッファ２２に読み出しデータをロードする。
第２の手順として、不揮発性半導体記憶装置１０は、当該読み出したデータのブロックアドレスとページアドレスとを基にランダマイザ１３内のシードアレイ１４から、シードデータ（データ書き込み時に使用したシードデータ）を選択する。
第３の手順として、不揮発性半導体記憶装置１０は、シードアレイ１４から選択したシードデータをページバッファ２２にセットする。そして、不揮発性半導体記憶装置１０は、メモリセルアレイ２１から読み出したデータを、シードデータを用いてデランダマイズすることにより、元のデータに復元する。
【００２０】
図３は、本実施形態の不揮発性半導体記憶装置１０におけるシードデータの設定例を示す図であり、４Ｋのフラッシュメモリのページバッファにおけるシードデータの設定例を示す図である。この図３において、図３（Ａ）に示す表は、先に説明した図７に示す表と同じある。この図３（Ａ）に示す表では、最上段の横方向にカラムアドレス（０〜ＦＦＦ）を１２８個ごとのアドレス（１つのシードデータが設定される単位となるアドレス）で区分けした３２個の領域を示している。また、この表は、左端に、倍速ランダマイザの速度（１倍速（×１）、４倍速（×４）、８倍速（×８）、１６倍速（×１６）、３２倍速（×３２））をパラメータとして縦方向に並べて示している。そして、この表中には、カラムアドレスと倍速の速度とに応じて選択されるそれぞれのシードデータ（乱数のパターン）の種類（符号ＡからＦＦで一意に識別されるシードデータ）が示されている。
【００２１】
また、ページアドレスは、図３（Ｂ）に示すように、Ｙｐ［７：０］アドレスとＹｑ［３：０］アドレスにより、３２個の領域（１２８個のカラムアドレスが含まれる領域）に区分される。この図３（Ｂ）に示す例では、Ｙｑアドレス（Ｙｑ＜０＞〜Ｙｐ＜３＞）により、４Ｋメモリのカラムアドレス（０００〜ＦＦＦ）が４区分され、さらに、この４区分されたカラムアドレスのそれぞれが、Ｙｐアドレス（Ｙｐ＜０＞〜）Ｙｐ＜７＞）により、８区分される。これにより、ページアドレスが、３２個の領域に区分されるととともに、この３２個の各領域が、ＹｑアドレスとＹｐアドレスにより指定される。
例えば、図４に示すように、ページバッファ２２は、ＩＯバッファ（ＩＯ０〜ＩＯ１５）により１６分割される。そして、１つのＩＯバッファ（例えば、ＩＯ０）のページアドレスを４区分してＹｑアドレスが生成される。さらに、このＹｑアドレスを８区分してＹｐアドレスが生成される。シードデータは、このＹｐアドレスで指定される個々の領域に対応して設定されるものである。
【００２２】
そして、図３（Ａ）の表に示すように、最上段のカラムアドレス０はカラムアドレス００〜７Ｆの範囲の領域を示しており、このカラムアドレス０は、Ｙｑアドレス（Ｙｑ＜０＞）とＹｐアドレス（Ｙｐ＜０＞）とで指定される領域である。このＹｐ＜０＞の領域において、１倍速（×１）である通常の場合(倍速化しない場合)は、シードデータＡが、書き込みデータのランダム化のために使用される。
また、カラムアドレス８０（カラムアドレス８０〜ＦＦ）は、Ｙｑアドレス（Ｙｑ＜０＞）とＹｐアドレス（Ｙｐ＜１＞）とで指定される領域である。このカラムアドレス８０の領域において、１倍速（×１）である通常の場合(倍速化しない場合)は、シードデータＢが、書き込みデータのランダム化のために使用される。以下、同様にして、Ｙｐアドレス単位で、シードデータＣからＦＦまでの異なる値のシードデータが順番に使用される。
【００２３】
一方、４倍速（×４）の場合は、使用されるシードデータの種類が１／４となり、シードデータＡからＨまでの８種類（３２／４）のシードデータが順番に４回繰り返して使用される。同様にして、８倍速（×８）の場合は、使用されるシードデータの種類が１／８となり、シードデータＡからＤまでの４種類（３２／８）のシードデータが順番に８回繰り返して使用される。また、１６倍速（×１６）の場合は、使用されるシードデータの種類が１／１６となり、シードデータＡおよびＢの２種類（３２／１６）のシードデータが順番に１６回繰り返して使用され、３２倍速（×３２）の場合は、使用されるシードデータの種類が１／３２となり、シードデータＡのみが使用される。
このように、シードデータを倍速化することにより、使用されるシードデータの種類が少なくなり、シードデータのローディング時間を短縮できるが、一方で、シードデータが重複して使用されるため、シードデータのランダム性が低減されることになる。
【００２４】
このため、本実施形態の不揮発性半導体記憶装置１０では、後述する方法により、シードデータを論理反転（“１”を“０”に、“０”を“１”に反転）させた新たなシードデータ（論理反転シードデータ）を生成して、シードデータの種類を増加させる。例えば、図３（Ｃ）は、シードデータの論理反転の例を示す図である。なお、この図３（Ｃ）において、シードデータＡに対して、このシードデータＡを論理反転させたシードデータをシードデータｉＡで示し、シードデータＢに対して、このシードデータを論理反転させたシードデータをシードデータｉＢで示している。
【００２５】
この図３（Ｃ）に示すように、１６倍速（×１６）の場合は、元のシードデータＡ，Ｂから、新たなシードデータ（論理反転を反転させたシードデータ）ｉＡ，ｉＢを生成して、シードデータの種類を２倍に増やす。また、３２倍速（×３２）の場合は、元のシードデータＡから、新たなシードデータ（論理反転を反転させたシードデータ）ｉＡを生成して、シードデータの種類を２倍に増やす。
【００２６】
このシードデータの反転操作は、図３（Ｂ）に示すＹｐアドレス（０〜７）を単位（Ｙｐアドレスで指定される８個の領域を単位）にして行われる。そして、図３（Ｂ）に示すＹｐアドレス（０〜７）に対応するシードデータ中のどのシードデータを反転させるかは以下に示すように行なう。例えば、８個のＹｐアドレスの中から４個のＹｐアドレスをランダムに選択し、この選択したＹｐアドレスに対応するシードデータを反転させる。このＹｐアドレスをランダムに選択するために、後述するイネーブル信号生成回路３１（図５を参照）が設けられる。
【００２７】
このイネーブル信号生成回路３１により、４個のＹｐアドレスがランダムに選択される。このイネーブル信号生成回路３１は、例えば、１６倍速の場合に、図３（Ｃ）に示すように、Ｙｐアドレスが“０”、“３”、“５”、“６”に対応する領域をシードデータを論理反転させる領域として選択し、Ｙｐアドレスが“１”、“２”、“４”、“７”に対応する領域をシードデータを反転させない領域として選択する。これにより、Ｙｐアドレスが“０”、“３”、“５”、“６”に対応する領域のシードデータは論理反転し、Ｙｐアドレスが“１”、“２”、“４”、“７”に対応する領域をシードデータは論理反転しない。
【００２８】
図５は、ページバッファデコーダ２３の構成を示す図である。この図５に示すように、ページバッファデコーダ２３内には、各Ｙｐアドレスのそれぞれに対応してデコーダ（ＤＥＣ＿Ｙｐ０〜ＤＥＣ＿Ｙｐｎ）が設けられている。また、デコーダ（ＤＥＣ＿Ｙｐ０〜ＤＥＣ＿Ｙｐｎ）それぞれには、論理反転回路４１＿０〜４１＿ｎ（論理反転回路４１で総称）が設けられている。そして、イネーブル信号生成回路３１から出力されるイネーブル信号がそれぞれに対応するデコーダ（ＤＥＣ＿Ｙｐ０〜ＤＥＣ＿Ｙｐｎ）に出力される。例えば、イネーブル信号生成回路３１は、イネーブル信号Ｙｐ０＿ＲＥ、イネーブル信号Ｙｐ１＿ＲＥ、イネーブル信号Ｙｐ２＿ＲＥ、・・・、イネーブル信号Ｙｐｎ＿ＲＥを出力する。そして、イネーブル信号Ｙｐ０＿ＲＥは、デコーダＤＥＣ＿Ｙｐ０に入力される。また、イネーブル信号Ｙｐ１＿ＲＥは、デコーダＤＥＣ＿Ｙｐ１に入力される。また、イネーブル信号Ｙｐ２＿ＲＥは、デコーダＤＥＣ＿Ｙｐ２に入力される。また、イネーブル信号Ｙｐｎ＿ＲＥは、デコーダＤＥＣ＿Ｙｐｎに入力される。
【００２９】
上記構成において、イネーブル信号生成回路３１は、イネーブル信号Ｙｐ０＿ＲＥ〜Ｙｐｎ＿ＲＥのうち半数のイネーブル信号を“Ｈ（論理１）”として、半数のイネーブル信号を“Ｌ（論理０）”とするようにランダムに設定する。そして、論理反転回路４１は、例えば、イネーブル信号が“Ｈ”の場合にシードデータを論理反転し、“Ｌ”の場合に論理反転しないようにする。これにより、ページバッファデコーダ２３は、Ｙｐアドレス０〜Ｙｐｎに対応する領域の半数をランダムに選択して、シードデータを反転させることができる。
【００３０】
また、図６は、上述したイネーブル信号生成回路と論理反転回路の構成例を示す図である。このイネーブル信号生成回路３１は、各Ｙｐアドレス０〜ｎに対応する領域のシードデータを反転させるか否かを判定するためのイネーブル信号を生成する回路である。このイネーブル信号生成回路３１は、内部に線形シフトレジスタ（ＬＳＦＲ）３２を有して構成されている。この線形シフトレジスタ３２は、各Ｙｐアドレス０〜ｎごとにシードデータを反転するかどうかを判定するイネーブル信号Ｙｐ０＿ＲＥ〜Ｙｐｎ＿ＲＥを生成する。なお、イネーブル信号Ｙｐ０＿ＲＥは、アドレスＹｐ０に対応するイネーブル信号であり、イネーブル信号Ｙｐｎ＿ＲＥは、アドレスＹｐｎに対応するイネーブル信号である。
【００３１】
このイネーブル信号生成回路３１は、ブロックアドレス（例えば、ブロックアドレスの下位数ビット）とページアドレスとの組み合わせを基にしてイネーブル信号号Ｙｐ０＿ＲＥ〜Ｙｐｎ＿ＲＥを生成する。なお、イネーブル信号号Ｙｐ０＿ＲＥ〜Ｙｐｎ＿ＲＥを、ブロックアドレスとページアドレスの組み合わせを基にして生成する理由は、ページアドレスのみを用いると、各ブロックの間において同じＹｑアドレスとＹｐアドレスの領域に対して同じシードデータが繰り返し配置され、シードデータのランダム性が低下するためである。そのため、例えば、ブロックアドレスの下位数ビット（例えば、下位２ビット）とページアドレスとを組み合わせてイネーブル信号Ｙｐ０＿ＲＥ〜Ｙｐｎ＿ＲＥを生成する。なお、イネーブル信号生成回路３１は、メモリセルアレイ２１のメモリ容量に応じて、ページアドレスのみに基づいてイネーブル信号号Ｙｐ０＿ＲＥ〜Ｙｐｎ＿ＲＥを生成することもできる。
【００３２】
また、イネーブル信号生成回路３１は、イネーブル信号号Ｙｐ０＿ＲＥ〜Ｙｐｎ＿ＲＥが“Ｈ”になる信号の個数と、イネーブル信号がイネーブル信号が“Ｌ”になる個数とが、それぞれｎ／２個となるようにランダムにイネーブル信号を生成する。すなわち、イネーブル信号生成回路３１は、イネーブル信号Ｙｐ０＿ＲＥ（アドレスＹｐ０に対応するイネーブル信号）からイネーブル信号Ｙｐｎ＿ＲＥ（アドレスＹｐｎに対応するイネーブル信号）までのイネーブル信号のうち半数が“Ｈ”となり、半数が“Ｌ”となるようにイネーブル信号を生成する。
なお、上述したようにイネーブル信号が“Ｈ（論理１）”の場合は、このイネーブル信号によりシードデータの論理を反転させることを意味し、イネーブル信号が“Ｌ（論理０）”の場合は、このイネーブル信号によりシードデータの論理を反転させないことを意味している。
【００３３】
また、論理反転回路４１は、イクスクルーシブオア回路４２とイクスクルーシブオア回路４３とで構成される。なお、論理反転回路４１において、イクスクルーシブオア回路４２とイクスクルーシブオア回路４３とを単体の素子で示しているが、実際には、シードデータと入力データのビット長に応じた個数の回路で構成されるものである。
【００３４】
そして、イクスクルーシブオア回路４２には、イネーブル信号生成回路３１から出力されるイネーブル信号ＲＥと、シードデータ（例えば、シードデータＡ）とが入力され、イクスクルーシブオア回路４２は、この２つの入力信号の排他的論理和の演算を行い、その演算結果を出力する。例えば、イクスクルーシブオア回路４２は、イネーブル信号ＲＥが“Ｌ”の場合、シードデータＡをそのまま出力する。一方、イクスクルーシブオア回路４２は、イネーブル信号ＲＥが“Ｈ”の場合、シードデータＡを反転したシードデータｉＡを出力する。
【００３５】
そして、イクスクルーシブオア回路４２から出力される信号は、イクスクルーシブオア回路４３の一方の入力端子に入力され、イクスクルーシブオア回路４３の他方の入力端子には、メモリセルアレイ２１への書き込みデータＤＩが入力される。イクスクルーシブオア回路４３では、シードデータＡまたは論理反転されたシードデータｉＡを用いて、入力データＤＩをランダマイズ（入力データとシードデータとの排他的論理和演算）して、書き込みデータｉＤＩとして出力する。このイクスクルーシブオア回路４３から出力されるランダマイズされたデータｉＤＩが、メモリセルアレイ２１に書き込まれる。
【００３６】
なお、本実施形態の不揮発性半導体記憶装置１０では、メモリセルアレイ２１へデータを書き込む際に、一旦、入力データＤＩをそのままメモリセルアレイ２１に書き込み、その後、メモリセルアレイ２１からデータＤＩを読み出し、論理反転回路４１により、入力データをシードデータ（ＡまたはｉＡ）によりランダマイズし、このランダマイズしたデータｉＤＩを、再びメモリセルアレイ２１に書き込むようにしている。但し、不揮発性半導体記憶装置１０は、入力データＤＩを一旦、メモリセルアレイ２１に書き込むことなく、シードデータでランダマイズした後に、メモリセルアレイ２１に書き込むようにしてもよい。
【００３７】
このように、論理反転回路４１において、イクスクルーシブオア回路４２は、イネーブル信号ＲＥが“Ｌ”の場合に、シードデータＡの論理を反転させることなく、そのままイクスクルーシブオア回路４３に出力し、イクスクルーシブオア回路４３は、シードデータＡにより入力データＤＩをランダマイズしてメモリセルアレイ２１に書き込む。また、イクスクルーシブオア回路４２は、イネーブル信号ＲＥが“Ｈ”の場合に、シードデータＡの論理を反転させ、論理反転されたシードデータｉＡをイクスクルーシブオア回路４３に出力し、イクスクルーシブオア回路４３は、論理反転されたシードデータｉＡにより入力データＤＩをランダマイズしてメモリセルアレイ２１に書き込む。
【００３８】
以上説明したように、本実施形態の不揮発性半導体記憶装置１０は、倍速ランダマイザ使用時に、イネーブル信号生成回路３１により、ページアドレス（或いはブロックアドレスとページアドレス）に応じてシードデータを反転するかどうかを判定するイネーブル信号を生成する。また、ページバッファデコーダ２３内に論理反転回路４１を設け、この論理反転回路４１が、イネーブル信号を基にシードデータを論理反転することでシードデータのランダム性を高めている。これにより、不揮発性半導体記憶装置１０は、倍速ランダマイザを用いた時に、シードデータのローディング時間は従来のままで、シードデータのランダム性を２倍にすることができる。逆に、シードデータのランダム性を従来のままとすると、シードデータのローディング時間を大幅に短縮することができる。
【００３９】
以上本発明の実施形態について説明したが、ここで、本発明と上記実施形態の対応関係について補足して説明する。上記実施形態において、本発明における不揮発性半導体記憶装置は、不揮発性半導体記憶装置１０が対応し、本発明におけるフラッシュメモリは、ＮＡＮＤ型フラッシュメモリ２０（単に「フラッシュメモリ」とも呼ぶ）が対応する。また、本発明におけるイネーブル信号生成回路は、イネーブル信号生成回路３１が対応し、本発明における論理反転回路は、論理反転回路４１が対応する。また、本発明における第１領域は、図３に示す、１２８個のカラムアドレスの単位（１つのシードデータが設定される単位）で区分される３２個の各領域が対応する。また、本発明における第１アドレスは、図３（Ｂ）に示すＹｑアドレスが対応し、本発明における第２アドレスは、Ｙｐアドレスが対応する。また、本発明における第２領域は、図３に示すＹｑアドレス（０〜３）で区分される４つのそれぞれの領域、すなわち、８個の第１領域（Ｙｐアドレス０〜７で指定される８個の領域）を含む領域が対応する。
【００４０】
（１）そして、上記実施形態において、不揮発性半導体記憶装置１０は、ページアドレスをシードデータが設定される単位で複数の領域に区分するとともに前記複数の領域のそれぞれにシードデータを設定する際に、前記複数の領域の中に同一のシードデータが設定されるものがある場合は、当該同一のシードデータが設定される複数の領域の中から、半数の領域をランダムに選択し、この選択した領域に使用されるシードデータを論理反転させる。
このような構成の不揮発性半導体記憶装置１０では、複数の領域（例えば、図３に示す１２８個のカラムアドレスを含む３２個の領域）の中に同一のシードデータが設定されるものがある。この場合は、この同一のシードデータが設定される複数の領域の中から、半数の領域をランダムに選択し、この選択された領域に設定されたシードデータを論理反転させる。
これにより、本実施形態の不揮発性半導体記憶装置１０では、倍速ランダマイザの使用時に、シードデータのランダム性を確保しつつ、シードデータのローディング時間を短縮することができる。
【００４１】
（２）また、上記実施形態において、不揮発性半導体記憶装置１０は、フラッシュメモリのページアドレスをシードデータが設定される単位でｍ個（ｍは任意の２の累乗数）の第１領域に区分し、このｍ個の第１領域のそれぞれにシードデータを設定する際に、第１領域の総数ｍ個の１／Ｎの個数（＝ｍ／Ｎ個：Ｎはｍ以下の任意の２の累乗数）の相異なるシードデータを用い、前記ｍ個の第１領域のそれぞれに対して前記ｍ／Ｎ個のシードデータのそれぞれを、Ｎ回順に繰り返して設定するＮ倍速ランダマイザ機能と、前記ｍ個の第１領域をｐ個（ｐはｍ以下の任意の２の累乗数）単位で第２領域に区分けし、この第２領域において、ｐ個の領域の中から半分の個数の領域をランダムに選択し、この選択された領域に設定されたシードデータを論理反転させるシードデータ反転機能と、を備える。
【００４２】
このような構成の不揮発性半導体記憶装置１０は、例えば、図３（Ａ）に示すように、ページアドレス（０〜ＦＦＦ）を１２８個のカラムアドレス単位で３２個の第１領域に区分する。そして、１６倍速（×１６）のランダマイザを使用する場合は、２個（＝３２／１６個）のシードデータＡ，Ｂを用い、３２個の第１領域のそれぞれに対して２個のシードデータＡ，Ｂのそれぞれを、１６回順に繰り返して設定する。そして、そして、図３（Ｃ）に示すように、３２個の第１領域を８個ごとの第２領域（Ｙｐアドレス０〜７で指定される８個の第１領域を含む第２領域）に区分けし、この第２領域に含まれる８個の第１領域の中から半数の領域をランダムに選択し、この選択された４個の第１領域に設定されたシードデータを論理反転させる。
これにより、不揮発性半導体記憶装置１０は、倍速ランダマイザの使用時に、シードデータのランダム性を確保しつつ、シードデータのローディング時間を短縮することができる。
【００４３】
（３）また、上記実施形態において、不揮発性半導体記憶装置１０は、ｍ個の第１領域を第１アドレスによりｐ個ごとの第２領域に区分し、第２領域に含まれるｐ個の第１領域をさらに第２アドレスにより個々に指定する。
このような構成の不揮発性半導体記憶装置１０では、例えば、図３（Ｂ）に示すように、３２個の第１領域を第１アドレス（Ｙｑアドレス）により４個の第２領域に区分し、この第２領域に含まれる８個の第１領域のそれぞれを第２アドレス（Ｙｐアドレス）により指定する。そして、Ｙｐアドレス（０〜７）で指定される８個の第１領域のそれぞれに設定されるシードデータの半数をランダムに選択して論理反転させる。
これにより、不揮発性半導体記憶装置１０は、Ｙｑアドレスにより、論理反転されるシードデータをランダムに選択することができる。また、Ｙｐアドレスにより個々の領域を指定して、この領域に含まれるシードデータを論理反転することができる。
【００４４】
（４）また、上記実施形態において、不揮発性半導体記憶装置１０は、第２領域に含まれるｐ個の第１領域の中から、半分の個数の領域をランダムに選択し、この選択された領域に設定されたシードデータを論理反転させるための信号であるイネーブル信号を生成するイネーブル信号生成回路３１と、イネーブル信号とシードデータとを入力し、イネーブル信号を基にしてシードデータを論理反転させる論理反転回路と、を備える。
このような構成の不揮発性半導体記憶装置１０では、イネーブル信号生成回路３１により、第２領域に含まれるｐ個の第１領域の中から、半分の個数の領域をランダムに選択し、シードデータを論理反転させるためのイネーブル信号を生成する。論理反転回路４１は、イネーブル信号とシードデータとを入力し、このイネーブル信号を基にしてシードデータを論理反転させる。
これにより、不揮発性半導体記憶装置１０は、イネーブル信号生成回路３１と論理反転回路４１とを用いて、第２領域に含まれるｐ個の第１領域の中から、半分の個数の領域をランダムに選択し、シードデータを論理反転させることができる。
（５）また、上記実施形態において、イネーブル信号生成回路３１は、イネーブル信号を、フラッシュメモリ２０にアクセスする際の単位となるブロックアドレスとページアドレスのいずれかまたは両方のアドレスを基に生成する。
これにより、第２アドレス（Ｙｐアドレス）で指定される領域のうちのどの領域のシードデータを反転するかを、ページアドレス及びブロックアドレスを基に決定することができる。これにより、シードデータの配置パターンがブロックごとに繰り返されることを回避することができる。
【００４５】
以上、本発明の実施の形態について説明したが、本発明の不揮発性半導体記憶装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【００４６】
例えば、上述した実施形態では、フラッシュメモリがＮＡＮＤ型フラッシュメモリの例を示したが、フラッシュメモリは、ＮＯＲ型のフラッシュメモリであってもよい。
また、本発明は、上述した不揮発性半導体記憶装置に限らず、倍速ランダマイザを使用する種々のシステムに効果的に適用できるものである。
【符号の説明】
【００４７】
１０…不揮発性半導体記憶装置、１１…入出力コントロール回路、１２…アドレス発生回路、１３…ランダマイザ、１４…シードアレイ、２０…フラッシュメモリ、２１…メモリセルアレイ、２２…ページバッファ、２３…ページバッファデコーダ、３１…イネーブル信号生成回路、３２…線形シフトレジスタ、４１…論理反転回路、４２，４３…イクスクルーシブオア回路
【図１】
2013125452.tif 000003
【図２】
2013125452.tif 000004
【図３】
2013125452.tif 000005
【図４】
2013125452.tif 000006
【図５】
2013125452.tif 000007
【図６】
2013125452.tif 000008
【図７】
2013125452.tif 000009