(57)【要約】【課題】本発明は、プログラムベリファイ機能を有するＮＡＮＤ型フラッシュメモリにおいて、記憶データを高速に検索できるようにする。【解決手段】たとえば、フラッシュメモリは、逆引き検索モードにおいて、各ブロックの先頭ページより、そのブロックに記憶された記憶データに対応する検索データを読み出し、その検索データとコントローラからの非検索データとを比較し、非検索データに一致する検索データのブロックアドレスおよびページアドレスをコントローラに送り返す。その際に、フラッシュメモリは、自身が備えるプログラムベリファイ機能を利用して“０”データを比較することにより、検索データと非検索データとの一致をチェックする。【選択図】      図３
2010287279.tif 000002
【特許請求の範囲】
【請求項１】
メモリ回路において、
データを記憶しておくためのメモリセルアレイと、
メモリセルアレイ中の任意の格納場所を指し示すことができるアドレス保持回路と、
該アドレス保持回路の保持するアドレスに相当する格納場所から記憶データを読み出す
読み出し回路と、
を具備し、
メモリアレイから記憶データを読み出して保持しておく第１の一時記憶手段と、
検索データ（キーワード）を記憶しておくための第２の一時記憶手段と、
上記２つの記憶手段の内容を１ビット毎に１対１で比較演算することができる演算回路
と、
比較結果が一致した場合には、第１の一時記憶手段に記憶さえている記憶データが読み
出された時の上記アドレス保持回路の内容をメモリ回路外部に読み出し、
比較結果が不一致の場合には、第一の一時記憶手段にデータを読み出した時のアドレス保
持回路の内容を更新し別のアドレスのデータを第一の一時記憶手段に読み出しなおして第
一と第二の一時記憶手段の内容を比較する作業を繰り返すメモリアドレス更新手段と
を具備したことを特徴とする不揮発性半導体記憶装置。
【請求項２】
”１”または”０”の２進数で表されるデジタル情報を記憶している場合に第２の一時
記憶手段に記憶されているデータの”１”または”０”のどちらか一方のみを比較対象と
し、もしくは、”１”または”０”の両方を比較対象とし、第一、第二の一時記憶手段が
完全に一致していることを比較する演算回路を具備したことを特徴とする請求項１に記載
の不揮発性半導体記憶装置。
【請求項３】
アドレス保持回路の内容を更新する際にあらかじめ決められたアドレスだけ増加または
減少させることを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項４】
上記比較演算回路で、ビット毎の比較回路の結果を必ず一致を示す結果に固定する手段
をもち、この手段を用いて、あらかじめ指定していたビットを比較対象から外すことを特
徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項５】
第一と第二の一時記憶手段のデータ比較の結果、一致した場合に、そのときの第二の一
時記憶手段にデータを読み出した時のアドレス保持回路の内容を記憶しておく第３の一時
記憶手段を具備し、
第一と第二の一時記憶手段のデータ比較の結果、一致した場合にはアドレス保持回路の
内容を第３の一時記憶手段に記憶した後、アドレス保持回路の内容を更新し、不一致した
場合には第３の一時記憶手段に記憶することなくアドレス保持回路の内容を更新し、次の
データを第２の一時記憶手段に読み出し、次の比較演算を繰り返し、
検索終了アドレスに到達した後、第３の一時記憶手段に格納されたアドレス保持回路の
内容を回路外部に読み出すことを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置に関するもので、たとえば、書き込み（プログラム
）ベリファイ機能を有するＮＡＮＤ型フラッシュメモリに関する。
【背景技術】
【０００２】
フラッシュメモリに代表される不揮発性半導体記憶装置は、年々、そのメモリ容量を増
大させ、パーソナルコンピュータではハードディスクに並んで重要な記憶媒体となってい
る。特に、携帯電話などのモバイル機器においては、大容量記憶媒体として不可欠なデバ
イスとなってきた。しかし、メモリ容量の増大にともない、記憶データを検索する場合に
は長時間を要するようになっており、パーソナルコンピュータおよび携帯電話などのシス
テム全体の性能を向上させる上で重大な問題となっている。
【０００３】
すなわち、従来、フラッシュメモリ内の記憶データを検索する場合には、単純に全記憶
データを外部のコントローラに読み出し、コントローラによって、全記憶データと検索条
件との比較を行い、検索条件を満たす記憶データがどれかを判断するという方法を採って
いた。この方法の場合、メモリ容量に比例して検索に時間がかかるとともに、読み出し操
作をコントローラが制御するため、検索期間中は他のデータの読み出しまたは書き込み、
消去ができないなど、システム全体の負担となっていた。
【０００４】
この不具合を回避するために、あらかじめ記憶データのフラッシュメモリ上の保管場所
（格納先）を所定の小容量領域にポインタとして保存しておくという、ソフトウェア的な
回避策を施しているシステムもある。このシステムの場合、所定の小容量領域だけを検索
の対象とすれば所望の記憶データの保管場所を容易に探し当てることができるため、検索
時間を大幅に短縮することができ、その分、コントローラを占有する時間も少なくてすむ
という利点がある。しかしながら、このシステムの場合、あらかじめ記憶データの形式が
明確であるとともに、小容量領域に書き込めるだけの内容によって判断できる記憶データ
でなければ検索できないという問題があった。この問題は、いろんなシステムまたはソフ
トウェアから記憶データが書き込まれる可能性のあるフラッシュメモリとしては致命的で
、汎用な用途では利用できない。
【０００５】
上記したように、近年、メモリ容量の大容量化にともない、記憶データの格納先を高速
に検索できる機能が必要とされてきている。
【０００６】
なお、本出願に関連する技術として、外部装置側の処理負荷を軽減し、装置内のデータ
を効率よく検索できるようにした半導体記憶装置が既に提案されている（たとえば、特許
文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２０３４８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、既存の機能を利用することで記憶データを高速に検索でき、外部装置の負担
を軽減することが可能な不揮発性半導体記憶装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明は、メモリ回路において、データを記憶しておく
ためのメモリセルアレイと、メモリセルアレイ中の任意の格納場所を指し示すことができ
るアドレス保持回路と、該アドレス保持回路の保持するアドレスに相当する格納場所から
記憶データを読み出す読み出し回路と、を具備し、メモリアレイから記憶データを読み出
して保持しておく第１の一時記憶手段と、検索データ（キーワード）を記憶しておくため
の第２の一時記憶手段と、上記２つの記憶手段の内容を１ビット毎に１対１で比較演算す
ることができる演算回路と、比較結果が一致した時の第１の一時記憶手段に記憶さえてい
る記憶データが読み出された時の上記アドレス保持回路の内容をメモリ回路外部に読み出
す手段と、第一と第二の一時記憶手段のデータを比較演算した結果、不一致していた場合
に第二の一時記憶手段にデータを読み出した時のアドレス保持回路の内容を更新し別のア
ドレスのデータを第二の一時記憶手段に読み出しなおして第一と第二の一時記憶手段の内
容を比較する作業を繰り返すメモリアドレス更新手段とを具備したことを特徴とする。
【発明の効果】
【００１０】
本発明は、既存の機能を利用することで記憶データを高速に検索でき、外部装置の負担
を軽減することが可能な不揮発性半導体記憶装置を提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例１に係る不揮発性半導体記憶装置（ＮＡＮＤ型フラッシュメモリ）の構成例を示すブロック図である。
【図２】ＮＡＮＤ型フラッシュメモリの、メモリセルアレイにおけるＮＡＮＤセル列の構成例を示す回路図である。
【図３】ＮＡＮＤ型フラッシュメモリの、逆引き検索モード時の動作例について説明するために示すフローチャートである。
【図４】ＮＡＮＤ型フラッシュメモリの、逆引き検索モード時の他の動作例について説明するために示すフローチャートである。
【図５】ＮＡＮＤ型フラッシュメモリの、逆引き検索モード時のさらに別の動作例について説明するために示すフローチャートである。
【図６】８値モードの場合のしきい値分布を示す図である。
【図７】２値モードの場合のしきい値分布を示す図である。
【図８】８値モードでの２値記憶の一例を示すしきい値分布図である。
【図９】８値モードでの２値記憶の他の例を示すしきい値分布図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。ただし、図面は
模式的なものであり、各図面の寸法および比率などは現実のものとは異なることに留意す
べきである。また、図面の相互間においても、互いの寸法の関係および／または比率が異
なる部分が含まれていることは勿論である。特に、以下に示すいくつかの実施例は、本発
明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形
状、構造、配置などによって、本発明の技術思想が特定されるものではない。この発明の
技術思想は、その要旨を逸脱しない範囲において、種々の変更を加えることができる。
【実施例１】
【００１３】
図１は、本発明の実施例１にしたがった不揮発性半導体記憶装置の基本構成を示すもの
である。本実施例では、プログラムベリファイ機能を有するＮＡＮＤ型フラッシュメモリ
を例に説明する。なお、チップの主要部のみ図示し、その他の部分については図示を省略
している。
【００１４】
図１に示すように、このフラッシュメモリ１０には、メモリセルアレイ１１、センスア
ンプ回路１２、比較回路１３、一時記憶バッファ（データバッファ）１４、および、ＲＯ
Ｗアドレス制御回路１５などが設けられている。本フラッシュメモリ１０においては、上
記のセンスアンプ回路１２、比較回路１３、および、一時記憶バッファ１４によって、書
き込み動作が完了したかどうかを判別するための、既存のプログラムベリファイ機能が実
現されている。
【００１５】
メモリセルアレイ１１は複数のＮＡＮＤセル（二重（積層）ゲート構造を有するＭＯＳ
（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタによって構成さ
れてなるメモリセルトランジスタ）を有し、たとえば、セルトランジスタごとに２値デー
タあるいは８値以上または３ビット以上の多値データを不揮発に記憶するものである。
【００１６】
センスアンプ回路１２は、上記メモリセルアレイ１１のビット線ごとに設けられた複数
のセンスアンプ（Ｓ／Ａ）を有し、たとえば逆引き検索モード時には、選択状態のセルト
ランジスタ（以下、選択セル）に書き込まれた記憶データに対応する検索データをセンス
するものである。
【００１７】
比較回路１３は、上記センスアンプ回路１２の出力と上記一時記憶バッファ１４の出力
とをビット線単位で比較（ＥＸＯＲ演算）し、その結果（ＯＲ出力）を出力するもので、
たとえば逆引き検索モード時には、非検索データと検索データとの一致をチェックするも
のである。
【００１８】
一時記憶バッファ１４は、図示していない外部装置（コントローラ）から入力された１
ページ分の書き込みデータを保持しておくための内部バッファであり、たとえば逆引き検
索モード時には、検索しようとする所望の記憶データに対応する非検索データを一時的に
格納するものである。
【００１９】
なお、本実施例における、“逆引き検索モード”とは、検索条件に対応する記憶データ
をメモリセルアレイ１１上から読み出す通常の検索モードに対して、たとえば日付などの
非検索データおよび検索データにそれぞれ対応する記憶データの、メモリセルアレイ１１
上の保管場所（格納先）を検索する機能（処理）をいう。
【００２０】
ＲＯＷアドレス制御回路１５は、ブロック選択信号に対応するブロックをメモリセルア
レイ１１より選択し、その選択ブロックのワード線および選択信号線に、動作に応じた適
切な電圧を供給するものである。
【００２１】
ここで、上記したメモリセルアレイ１１の構成について、簡単に説明する。本実施例の
場合、たとえば図２に示すように、直列に接続されたｍ個（この例では、３２個）のセル
トランジスタＣＴ０〜ＣＴ３１と、その両端に接続された２個の選択トランジスタＳＧＴ
Ｄ，ＳＧＴＳとによって、それぞれＮＡＮＤセル列（ＮＡＮＤ  ｓｔｒｉｎｇ）ＮＣＳｊ
が構成されている。ＮＡＮＤセル列ＮＣＳｊは、メモリセルアレイ１１の構成単位である
。セルトランジスタＣＴ０〜ＣＴ３１のそれぞれは、制御ゲート電極と浮遊ゲート電極と
からなる二重ゲート構造を有するＭＯＳトランジスタによって構成されている。セルトラ
ンジスタＣＴ０〜ＣＴ３１の制御ゲート電極には、それぞれ、ワード線ＷＬ０〜ＷＬ３１
が接続されている。各ＮＡＮＤセル列ＮＣＳｊの一端側の選択トランジスタＳＧＴＤは、
ビット線ＢＬｉのいずれかに接続されている。この選択トランジスタＳＧＴＤのゲート電
極には、選択信号線ＳＧＤが共通に接続されている。各ＮＡＮＤセル列ＮＣＳｊの他端側
の選択トランジスタＳＧＴＳは、セルソース線ＳＲＣに共通に接続されている。選択トラ
ンジスタＳＧＴＳのゲート電極には、選択信号線ＳＧＳが共通に接続されている。ワード
線ＷＬ０〜ＷＬ３１および選択信号線ＳＧＤ，ＳＧＳは、ＲＯＷアドレス制御回路１５に
それぞれ接続されている。ビット線ＢＬｉは、それぞれ、センスアンプ回路１２のＳ／Ａ
に接続されている。
【００２２】
本実施例においては、ワード線ＷＬ０〜ＷＬ３１および選択信号線ＳＧＤ，ＳＧＳを共
有するｊ個のＮＡＮＤセル列ＮＣＳによって、ブロック（一単位）ＢＬＫｎが構成されて
いる。すなわち、メモリセルアレイ１１にはｎ個のブロックＢＬＫが設けられ、各ブロッ
クＢＬＫｎには、それぞれ、異なるビット線ＢＬｉにつながるｊ個のＮＡＮＤセル列ＮＣ
Ｓが設けられている。各ブロックＢＬＫｎのｊ個のＮＡＮＤセル列ＮＣＳは、ワード線Ｗ
Ｌ０〜ＷＬ３１および選択信号線ＳＧＤ，ＳＧＳを共有している。そして、各ブロックＢ
ＬＫｎにおける、ワード線ＷＬ０〜ＷＬ３１をそれぞれ共有するセルトランジスタＣＴ０
〜ＣＴ３１の各単位が“ページ”となっている。
【００２３】
たとえば、記憶データがそれぞれ記憶されるブロックＢＬＫｎの、各先頭ページに、そ
れぞれの記憶データに対応する検索データが記憶される。または、記憶データがそれぞれ
記憶されるデータ領域の各先頭ページに、それぞれの記憶データに対応する検索データが
記憶される。
【００２４】
なお、データの書き込みおよび消去は、選択されたメモリセルトランジスタＣＴ０〜Ｃ
Ｔ３１の浮遊ゲート電極に対して、ＦＮトンネル電流を用いて電子を出し入れすることに
よって行われる。通常は、浮遊ゲート電極に電子が注入された状態を“０”書き込み、電
子が注入されない状態を“１”書き込み（消去）としている。また、書き込みデータはセ
ルトランジスタＣＴ０〜ＣＴ３１に書き込まれて記憶データとなり、その記憶データがセ
ルトランジスタＣＴ０〜ＣＴ３１より読み出されて読み出しデータとなる。
【００２５】
次に、上記した構成において、プログラムベリファイ機能を利用した逆引き検索モード
時の動作について説明する。
【００２６】
図３は、逆引き検索モード時の処理の流れについて示すものである。たとえば、逆引き
検索モード時においては、まず、ユーザは検索しようとする所望の記憶データに対応する
非検索データを、外部のコントローラより書き込みデータの入力と同じ要領で入力する（
ステップＳＴ０１）。入力された非検索データは、各ビット線ＢＬｉに一対一で対応した
一時記憶バッファ１４に記憶される。
【００２７】
この際、検索対象にしたくない記憶データ（Ｄｏｎ’ｔ  Ｃａｒｅ）の検索データとし
ては、たとえば“１”データが書き込まれる。これは、プログラムベリファイ機能が“０
”データになっていることを確認するための動作なので、“１”データを書き込んでおく
ことによって、所望の記憶データ以外の記憶データを検索対象から外すことが可能となる
。また、読み出し動作を途中で中止した場合も、それ以降は“１”データを書き込んだ場
合と同様に検索対象から外すことができる。また、非検索データの入力を検索対象アドレ
スの途中から開始した場合も同様で、入力より前のアドレスに相当する検索データとして
は“１”がロードされる。
【００２８】
非検索データの入力が終了すると、続いてユーザはコントローラより検索コマンドを入
力する（ステップＳＴ０２）。
【００２９】
検索コマンドの入力により、フラッシュメモリ１０は、内部での検索動作を開始する（
ステップＳＴ０３）。検索動作は、ＲＯＷアドレス制御回路１５によって制御され、指定
された検索開始ブロックアドレスおよびページアドレスからの検索データの読み出しが行
われる。検索対象アドレスが指定されなかった場合には、メモリセルアレイ１１の先頭ブ
ロックアドレスおよびページアドレスからの、検索データの読み出しが行われる。読み出
された検索データは、ビット線ＢＬｉごとに接続されたセンスアンプ回路１２の各Ｓ／Ａ
に格納される。
【００３０】
比較回路１３は、一時記憶バッファ１４内に格納している非検索データとセンスアンプ
回路１２内の検索データとの比較演算を行い、データの一致を調べる（ステップＳＴ０４
）。たとえば、ビット線ＢＬｉごとのＥＸＯＲ演算の結果から全ビット線ＢＬｉ分のＯＲ
演算の結果が求められ、全てのビット線ＢＬｉについて、検索データが非検索データと一
致しているか否かがチェックされる。
【００３１】
なお、これらの動作は、ＮＡＮＤ型フラッシュメモリ１０がプログラムベリファイを実
現するための機能としてあらかじめ備えたものであり、新規に回路を追加する必要がない
ため、コストの増大もない。
【００３２】
比較結果が不一致の場合には、検索対象アドレスの範囲内または最大ブロックアドレス
までの間で、ブロックアドレスもしくはページアドレスをインクリメントし（ステップＳ
Ｔ０５）、上記の処理（ステップＳＴ０３，ＳＴ０４）を繰り返す。
【００３３】
比較結果が一致した場合、フラッシュメモリ１０は検索動作を終了し、Ｒｅａｄｙ／Ｂ
ｕｓｙ信号を用いて、それをコントローラに通知する。この通知を受け取ったコントロー
ラは、検索結果として、比較結果が一致した検索データの、メモリセルアレイ１１上のブ
ロックアドレスおよびページアドレスをフラッシュメモリ１０から読み出すことにより、
対応する記憶データの格納先のアドレスを知ることができる（ステップＳＴ０６）。
【００３４】
上記したように、ＮＡＮＤ型フラッシュメモリが従来から備えているプログラムベリフ
ァイ機能を有効に利用することで、記憶データの、高速で、かつ、コントローラの負担の
少ない検索を可能にしている。すなわち、記憶データの格納先を検索する逆引き検索モー
ド機能において、記憶データに対応する検索データおよび非検索データの“０”データの
一致をプログラムベリファイ機能によってチェックすることにより、記憶データをフラッ
シュメモリの内部で検索できるようにしている。これにより、外部のコントローラに余計
な負担をかけることなしに、記憶データの高速検索が可能となる。しかも、フラッシュメ
モリがもともと備える回路をそのまま利用することで、回路の追加などを必要としない、
フラッシュメモリに適した検索方法とすることができる。
【００３５】
なお、上記した実施例においては、検索データのアドレスをコントローラが読み出すよ
うにした場合を例に説明したが、これに限らず、たとえば図４に示すように、検索動作が
終了したということは（上記ステップＳＴ０６）、非検索データに対応する所望の記憶デ
ータが見つかったということなので、その検索データのアドレスに続くアドレスの記憶デ
ータを自動的に読み出すようにすることも可能である（ステップＳＴ０７）。つまり、読
み出したブロックアドレスおよびページアドレスを再入力することなく、リードコマンド
の入力に応じて読み出し動作を行うことで、検索データと、その検索データに対応する記
憶データとを自動的に読み出すことができる。
【００３６】
または、比較結果が一致した場合に、その時のブロックアドレスおよびページアドレス
を内部の記憶回路（図示していない）に一時的に保管しておき、検索動作を続けるという
方法も有効である。非検索データと一致する検索データが１つとは限らない場合、検索対
象アドレスの終了アドレスまで一連の処理を繰り返し、一致した検索データのアドレスを
まとめて読み出すようにすることも可能である。この場合、一致する検索データの数は、
用意されている一時記憶バッファ１４の容量により制限されることになる。
【００３７】
また、上記した一致する検索データが１つとは限らない場合に、上述したような、非検
索データと検索データとが一致するたびに検索動作を終了する（検索結果であるアドレス
を読み出す）方式とすることによっても、有効な検索動作を実現できる。すなわち、検索
データが非検索データと一致した場合、Ｒｅａｄｙ／Ｂｕｓｙ信号によりコントローラに
通知されるが、この通知を受け取ったコントローラは、その検索データのメモリセルアレ
イ１１上のブロックアドレスおよびページアドレスをフラッシュメモリ１０から読み出す
とともに、たとえば継続検索コマンドを用いて、フラッシュメモリ１０に検索動作を継続
させるようにする。これにより、非検索データおよび検索対象アドレスなどを再入力する
ことなしに、検索動作を自動的に継続させることが可能となる。
【００３８】
コントローラは、検索データのアドレスをみれば、検索動作の途中か、検索動作が終了
したのかを判断することができる。したがって、本例の場合、継続検索コマンドを通常の
検索コマンドとは別コマンドにすることで、検索開始アドレスの入力がなくても、検索動
作をメモリセルアレイ１１の先頭アドレスから開始するのかどうかを区別することが可能
となる。
【００３９】
なお、複数個のコマンドを用いることで処理が煩雑になる場合、たとえば検索開始アド
レスの入力がなければ、図示していないブロックアドレスバッファおよびページアドレス
バッファにあるアドレスから検索動作を開始するようにしたほうが汎用となる。そこで、
所望のアドレスから検索動作を開始したい場合、特に、メモリセルアレイ１１の先頭アド
レスから検索動作を開始したい場合には、ユーザに対して、検索の対象となるアドレスの
範囲を指定する検索対象アドレスの入力を要求する仕様も有効である。すなわち、図５の
ステップＳＴ１１，ＳＴ１２に示すように、検索開始アドレスおよび終了アドレスの入力
によって検索対象アドレスの範囲を限定することで、より効率的な検索動作を実現できる
。
【００４０】
また、上記した検索コマンドの入力は、検索開始カラムアドレスの入力をともなっても
よい。検索開始カラムアドレスが入力された場合、フラッシュメモリ１０は、そのアドレ
スに対応するカラムから検索動作を開始する。そのアドレス以前のアドレスに相当するカ
ラムは“１”がロードされたのと同じ状態となり、検索動作の対象とはならない。
【００４１】
また、上記した検索コマンドの入力は、検索開始ブロックアドレスの入力をともなって
もよい。検索開始ブロックアドレスが入力された場合、フラッシュメモリ１０は、そのア
ドレスに対応するブロックから検索動作を開始し、ブロックアドレスを自動的にインクリ
メントしながら検索動作を継続する。
【００４２】
また、上記した検索コマンドの入力は、検索終了ブロックアドレスの入力をともなって
もよい。検索終了ブロックアドレスが入力された場合、フラッシュメモリ１０は、そのア
ドレスのブロックで検索動作を終了する。検索終了ブロックアドレスが入力されなかった
場合には、メモリセルアレイ１１の最大ブロックアドレスのブロックの検索動作が終了す
るまで処理を継続する。
【００４３】
また、上記したブロックアドレスおよびページアドレスをインクリメントしてアドレス
を更新する場合（図３，図４，図５の各ステップＳＴ０５）、１アドレスずつの増加のみ
ならず、あらかじめ指定されたアドレス分を増加させることも有効である。たとえば、検
索データを、メモリセルアレイ１１を６４ブロックごとに区切ったデータ領域の各先頭ペ
ージに格納するようにした場合においては、検索データを６４×ページサイズ分だけ削減
することができ、より検索動作を高速化できる。この場合、ページアドレスを固定した上
で、６４ブロックごとにブロックアドレスを１アドレスずつ増加させる設定にすればよい
。
【実施例２】
【００４４】
本実施例２は、逆引き検索モード時において、非検索データおよび検索データの“０”
データと“１”データとを比較し、非検索データおよび検索データの一致をチェックする
ようにした場合の例である。すなわち、“０”データのみを比較する実施例１の場合、一
致しない検索データにもかかわらず比較結果が誤って一致となる可能性がある。
【００４５】
そこで、本実施例２では、非検索データとその反転データとを入力することによって、
検索動作（逆引き検索モード機能）の精度を向上できるようにした場合について説明する
。たとえば、逆引き検索モード時において、非検索データの入力後に、その非検索データ
の反転データを入力する。その際、検索対象から外したい記憶データ（カラム）に関して
は、上記した実施例１の場合と同様に“１”データを入力する。つまり、非検索データと
反転データとにともに“１”データが入力された記憶データは、検索対象から外れること
になる。
【００４６】
フラッシュメモリ１０は、上記した図１の構成に加えて、非検索データを記憶する一時
記憶バッファ１４とは別に、図示していない、反転データを格納するためのバッファ（デ
ータラッチ）を備える。
【００４７】
フラッシュメモリ１０の内部では、たとえば実施例１と同様の処理により、比較回路１
３での比較結果が一致する検索データをメモリセルアレイ１１内より検索する。そして、
今度は、比較結果が一致した検索データの反転読み出しを行い、比較回路１３において、
センスアンプ回路１２に読み出した反転読み出しデータとデータラッチ内の反転データと
の比較を行う。この場合、非反転データである、非検索データと検索データとの比較の場
合と同様に、フラッシュメモリ１０が備えるプログラムベリファイ機能は“０”データの
比較しか行わないため、検索対象でない記憶データに関しては、反転読み出しデータが“
０”または“１”のどちらのデータであっても比較結果は一致となる。
【００４８】
なお、これ以降の処理は、上述した実施例１に記載した通りであるので、詳細な説明に
ついては割愛する。
【００４９】
このように、簡単な仕様の変更、つまり、反転データを格納するためのデータラッチの
追加のみによって、“０”と“１”の両方のデータを比較することができる。したがって
、フラッシュメモリが従来から備えているプログラムベリファイ機能を利用して逆引き検
索を行う場合の、記憶データの検索の高速性を損なうことなく、しかも、コントローラの
負担を軽減しつつ、検索動作の精度を向上できる。また、反転データと反転読み出しデー
タとの比較は、非検索データと検索データとが一致した場合にのみ実行されるようにした
ので、一致の頻度が小さい場合の検索動作にかかる時間に対するインパクトを小さく抑え
ることができ、有効である。
【００５０】
なお、図１に示した構成のフラッシュメモリ１０においては、反転データを格納してお
くためのデータラッチの追加が必要であるが、たとえば多値データを記憶するフラッシュ
メモリのように、１カラム当たりに複数個のデータラッチを内蔵しているようなフラッシ
ュメモリであれば、新たな回路の追加なく、既に備えるデータラッチを有効に利用するこ
とで容易に実現できる。
【実施例３】
【００５１】
本実施例３は、逆引き検索モード時に、非検索データに応じて、検索対象のカラムと非
検索対象のカラムとを見分けるためのマスクデータをロードするようにした場合の例であ
る。本例の場合、各カラムの先頭アドレスに検索データが格納されている。
【００５２】
たとえば、フラッシュメモリ１０が不良カラムをプログラムベリファイ機能の動作対象
から除外するための機構を有している場合、この機構を用いて、所望の検索対象のカラム
以外のカラムを検索動作の対象から除外することで、より高速で、かつ、高精度な検索動
作（逆引き検索モード機能）を実現できる。すなわち、メモリセルアレイ１１に不良カラ
ムが存在する場合に、カラム冗長回路と通常のメモリ回路とを置き換える機構と、一括ベ
リファイ機能を実現するために不良カラムを無視する機構と、を備えたフラッシュメモリ
がある。そのための機構はさまざまであるが、正常カラムか不良カラムかを示すデータを
格納しておくためのデータラッチ（図示していない）を有し、そのデータの示すカラムを
ベリファイの対象から除外するという基本的な機能はほぼ同様である。
【００５３】
本実施例３の場合、不良カラムを示すデータを格納するためのデータラッチを用いて、
検索対象外となるカラムを設定する。たとえば、逆引き検索モード時において、検索コマ
ンドが入力されるまでの間に、コントローラは、データラッチ内に格納されている不良カ
ラムを示す置換データを読み出し、その置換データを記憶する。この後、検索コマンドの
入力時に、全カラムを検索対象外のカラムとすべく、データラッチをリセットする。そし
て、非検索データを入力する時点で入力された非検索データに応じて、検索の対象となる
カラムをデータラッチに設定することにより、検索対象のカラムと非検索対象のカラムと
を区別できるようになる。つまり、非検索データに対応するカラムのみを、検索動作の対
象とすることが可能となる。
【００５４】
なお、これ以降は、上述した実施例１で示した手順にしたがって、非検索データと検索
データとにおける“０”データの比較を行った後、反転読み出しデータと非検索データの
反転データとを比較することで、“１”データも比較する。その際、データラッチに設定
されているカラム以外の、検索対象外のカラムの検索データは比較されないので、高速で
、かつ、高精度な検索動作が可能となる。
【００５５】
なお、本実施例３の場合、データラッチは実施例１で示した一時記憶バッファ１４と同
じ方式（規格）のものでよく、多値データを記憶するフラッシュメモリでなくても有効な
技術である。
【００５６】
また、この実施例３の場合、コントローラは、検索動作が終了した時点で、あらかじめ
記憶していた不良カラムを示す置換データをデータラッチに再び設定し直し、フラッシュ
メモリ１０を検索動作の実行前の状態に戻して、逆引き検索モードを終了する。ただし、
不良カラムの置換データを別のデータ領域に記憶しているフラッシュメモリの場合におい
ては、コントローラによって、置換データをあらかじめ記憶しておく必要がない場合もあ
る。
【００５７】
上記したように、従来からＮＡＮＤ型フラッシュメモリが備えるプログラムベリファイ
機能を有効に利用することで、外部のコントローラなどに頼ることなく、メモリチップの
内部だけで記憶データを高速に検索でき、フラッシュメモリにとって好適な検索機能とす
ることができるものである。
【００５８】
次に、多値データを記憶するフラッシュメモリ（以下、多値メモリという）において、
上述した逆引き検索モード機能を実現する場合について考察する。
【００５９】
多値メモリの場合、通常の記憶データと同じく、検索データを多値データとして保持す
ることも可能であるが、より信頼性が求められる検索データの特性を考慮すれば、検索デ
ータは２値モードで、他の記憶データから区別して保持する方法が考えられる。しかし、
多値モードでデータを記憶する機能のあるフラッシュメモリの場合、データは多値モード
で記憶するほうがセルトランジスタのしきい値をより精度よく制御できるため、この機能
を積極的に利用することにより、信頼性の高い検索動作（逆引き検索モード機能）を実現
し得る。
【００６０】
たとえば図６に示すように、８値モードでの記憶が可能なフラッシュメモリの場合、セ
ルトランジスタのしきい値を８つの領域（分布）に制御することができる反面、１つ１つ
の分布の間隔が狭いため、信頼性を確保するのが難しいという問題がある。そこで、たと
えば図７に示すように、８値モードのしきい分布を使って２値データを記憶することで、
より高い信頼性を確保する。この場合、たとえば図８に示すように、必要以上にしきい値
を高く設定すると信頼性上で不利な場合もある。そのため、検索データの場合は、たとえ
ば図９に示すように、８値モードの場合の中程度のしきい値分布を使って記憶するのが望
ましい。
【００６１】
次に、複数のメモリチップを用いて構成されるシステムに、上述した逆引き検索モード
機能を適用した場合について考察する。
【００６２】
ＮＡＮＤ型フラッシュメモリのような不揮発性半導体記憶装置は単独のチップとして利
用されるほか、複数のチップで１つのシステムを構成する用途が多い。特に、大容量のシ
ステムの場合は、多数のメモリチップを用いて１つのシステムが構成される。
【００６３】
このようなシステムの場合、従来は、システム全体をコントローラが制御することによ
り、検索動作を実行していた。しかしながら、上述したような、メモリチップの内部での
検索動作（逆引き検索モード機能）を可能とすることによって、実装されるメモリチップ
ごとに並行して検索動作を実行することが可能となる。システム内のメモリチップ数が多
くなれば多くなるほど、検索効率は向上する。したがって、大規模システムでの高速検索
を実現する方法として、上述の逆引き検索モード機能は実に有効である。
【００６４】
その他、本願発明は、上記（各）実施形態に限定されるものではなく、実施段階ではそ
の要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記（各）実施形
態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み
合わせにより種々の発明が抽出され得る。たとえば、（各）実施形態に示される全構成要
件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課
題（の少なくとも１つ）が解決でき、発明の効果の欄で述べられている効果（の少なくと
も１つ）が得られる場合には、その構成要件が削除された構成が発明として抽出され得る
。
【符号の説明】
【００６５】
１０…ＮＡＮＤ型フラッシュメモリ、１１…メモリセルアレイ、１２…センスアンプ回
路、１３…比較回路、１４…一時記憶バッファ、１５…ＲＯＷアドレス制御回路、ＷＬ０
〜ＷＬ３１…ワード線、ＢＬｉ…ビット線、ＣＴ０〜ＣＴ３１…セルトランジスタ、ＮＣ
Ｓｊ…ＮＡＮＤセル列、ＢＬＫｎ…ブロック。
【図１】
2010287279.tif 000003
【図２】
2010287279.tif 000004
【図３】
2010287279.tif 000005
【図４】
2010287279.tif 000006
【図５】
2010287279.tif 000007
【図６】
2010287279.tif 000008
【図７】
2010287279.tif 000009
【図８】
2010287279.tif 000010
【図９】
2010287279.tif 000011