(57)【要約】【課題】  効率的なデータ検索が可能な半導体記憶装置を提供する。【解決手段】  半導体記憶装置は、複数の単位構造を含む。単位構造は、メモリセルとそれぞれ接続されたセンスアンプ(SA)と、センスアンプと接続された第１線(LBUS)と、第１線と接続された第１ラッチ(XDL)と、第１線と接続された第２ラッチ(LDL)と、第１線と接続され、第１および第２ラッチ中のデータに対する論理演算を行なう演算回路(Y)と、を含む。複数の第１検知回路(31,32)は、各々が複数の単位構造の相違する一部を含んだ複数の単位構造群とそれぞれ接続され、対応する単位構造群において少なくとも１つの第１線の電位がＬレベルであることを検知する。第２検知回路(43)は、少なくとも１つの第１検知回路によって検知がなされたことを検知する。【選択図】      図４
2013065374.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルとそれぞれ接続されたセンスアンプと、
前記センスアンプと接続された第１線と、
前記第１線と接続された第１ラッチと、
前記第１線と接続された第２ラッチと、
前記第１線と接続され、前記第１および第２ラッチ中のデータに対する論理演算を行なう演算回路と、
を具備する複数の単位構造と、
各々が複数の単位構造の相違する一部を含んだ複数の単位構造群とそれぞれ接続され、対応する前記単位構造群において少なくとも１つの前記第１線の電位がＬレベルであることを検知する複数の第１検知回路と、
少なくとも１つの前記第１検知回路によって前記検知がなされたことを検知する第２検知回路と、
を具備することを特徴とする半導体記憶装置。
【請求項２】
前記単位構造が、複数の前記センスアンプと、複数の前記第１ラッチと、複数の前記第２ラッチと、を具備し、
前記単位構造中の相違する複数の前記第１線に接続された複数の第１ラッチが１つのカラムのための組を構成し、
前記単位構造中の相違する複数の前記第１線に接続された複数の第２ラッチが１つのカラムのための組を構成し、
前記演算回路が、１つの前記第１ラッチと、前記１つの第１ラッチと同じカラムのための１つの前記第２ラッチとに対する論理演算を行い、
前記第１検知回路が複数のカラムの各々について前記検知を行なう、
ことを特徴とする請求項１の半導体記憶装置。
【請求項３】
前記第１ラッチが、前記半導体記憶装置の外部からのデータを保持し、
前記第２ラッチが、前記メモリセルからのデータを保持し、
前記演算回路が、共通するカラムのための前記第１および第２ラッチ中のデータの排他的論理和を算出し、
前記第１検知回路が、一端を選択的に接地され且つ他端を選択的にＨレベルにプリチャージされ且つ導通を制御する端子において複数の前記演算回路の出力をそれぞれ受け取る複数の第１トランジスタを具備する、
ことを特徴とする請求項２の半導体記憶装置。
【請求項４】
前記半導体記憶装置が、前記複数の検知回路によって前記検知がなされたことを示す値をそれぞれ保持する複数の第３ラッチをさらに具備し、
前記単位構造が、前記第１線と接続された複数の第４ラッチをさらに具備し、
前記単位構造群が、一端を選択的に接地され且つ他端を選択的にＨレベルにプリチャージされ且つ導通を制御する端子において前記第３ラッチの出力を受け取る複数の第２トランジスタをさらに具備する、
ことを特徴とする請求項３の半導体記憶装置。
【請求項５】
前記第１ラッチが、前記半導体記憶装置の外部からのデータを保持し、
前記第２ラッチが、前記メモリセルからのデータを保持し、
前記演算回路が、共通するカラムのための前記第１および第２ラッチ中のデータの排他的論理和を算出し、
前記第４ラッチが、前記排他的論理和に基づいた値を前記第２トランジスタを介して受け取り且つ保持する、
ことを特徴とする請求項４の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
記憶装置に保持されているデータは、多くの場合、アドレスにより特定される。一方、ＣＡＭ（content addressable memory（連想メモリ））のように、データが検索語により特定されることもある。すなわち、検索語を指定し、この検索語を含んだデータがメモリ中から見つけられる。検索語を通じたデータの指定は、通常、ソフトウェアによって実行される。例えば、半導体記憶装置とプロセッサとを含む装置が用意され、プロセッサをソフトウェアに基づいて動作させて検索が行なわれる。プロセッサは、検索対象のデータを一時記憶装置に読み出し、検索語を含んだデータを発見する。記憶装置の大容量化に伴い、このような検索の完了には、長時間を要するようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０４４２００号公報
【特許文献２】特開２００５−３５３１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
効率的なデータ検索が可能な半導体記憶装置を提供しようとするものである。
【課題を解決するための手段】
【０００５】
一実施形態による半導体記憶装置は、半導体記憶装置は、複数の単位構造を含む。単位構造は、メモリセルとそれぞれ接続されたセンスアンプと、センスアンプと接続された第１線と、第１線と接続された第１ラッチと、第１線と接続された第２ラッチと、第１線と接続され、第１および第２ラッチ中のデータに対する論理演算を行なう演算回路と、を含む。複数の第１検知回路は、各々が複数の単位構造の相違する一部を含んだ複数の単位構造群とそれぞれ接続され、対応する単位構造群において少なくとも１つの第１線の電位がＬレベルであることを検知する。第２検知回路は、少なくとも１つの第１検知回路によって検知がなされたことを検知する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係る半導体記憶装置を概略的に示すブロック図。
【図２】メモリセルアレイの一部の回路図。
【図３】メモリセルアレイの一部の断面図。
【図４】第１実施形態のビット線制御回路の一部を示す回路図。
【図５】第１実施形態に係る半導体記憶装置によるデータ検索のフローチャート。
【図６】第１実施形態のデータラッチ中のデータの一状態を示す図。
【図７】第２実施形態のビット線制御回路の一部を示すブロック図。
【図８】第２実施形態に係る半導体記憶装置によるデータ検索のフローチャート。
【図９】第２実施形態のデータラッチ中のデータの一状態を示す図。
【図１０】図９に続くデータラッチ中のデータの状態を示す図。
【図１１】図１０に続くデータラッチ中のデータの状態を示す図。
【図１２】図１１に続くデータラッチ中のデータの状態を示す図。
【図１３】図１２に続くデータラッチ中のデータの状態を示す図。
【発明を実施するための形態】
【０００７】
以下に実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。ただし、図面は模式的なものであることに留意すべきである。
【０００８】
また、以下に示す各実施形態は、この実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものではない。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【０００９】
以下の記載における各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、各ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明されている。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も実施形態の範疇に含まれる。また、各機能ブロックが、以下の具体例のように区別されていることは必須ではない。例えば、一部の機能が以下の説明において例示されている機能ブロックとは別の機能ブロックによって実行されてもよい。さらに、例示の機能ブロックがさらに細かい機能サブブロックに分割されていてもよい。どの機能ブロックによって特定されるかによって実施形態が限定されるものではない。
【００１０】
（第１実施形態）
図１は、第１実施形態に係る半導体記憶装置を概略的に示すブロック図である。図１に示されるように、半導体記憶装置（フラッシュメモリ）１は、メモリセルアレイ２を含んでいる。メモリセルアレイ２は、複数のメモリセル、複数のビット線、複数のワード線、および共通のソース線等を含んでいる。メモリセルは、例えばＥＥＰＲＯＭセルからなり、保持しているデータを電気的に書き換えられることが可能に構成されている。
【００１１】
ビット線制御回路３は、ビット線を介して、メモリセルのデータを読み出したり、メモリセルの状態を検出したり、メモリセルに書き込み（プログラム）電圧を印加してメモリセルにデータを書き込む。ビット線制御回路３は、制御回路４によって制御される。ビット線制御回路３は、センスアンプ３ａ、データラッチ３ｂ、検索回路３ｃ、レジスタ３ｄ、判定モジュール３ｅ等を含んでいる。
【００１２】
データラッチ３ｂおよび検索回路３ｃは、データ回路（データバッファ）６およびＩ／Ｏインターフェース７を介してデータ入出力端子に接続されている。データ入出力端子は、外部から、種々のコマンドＣＭＤ、アドレスＡＡ、データＤＴを受け取る。これらのうち、コマンドＣＭＤおよびアドレスＡＡは制御回路４に供給され、アドレスＡＡおよびデータＤＴはビット線制御回路３に供給される。一方、メモリセルから読み出されたデータは、ビット線制御回路３を介して入出力端子から出力される。
【００１３】
ワード線制御回路１１は、データの読み出し、書き込み、あるいは消去等に必要な電圧を電圧生成回路１２から受け取る。ワード線制御回路１１は、制御回路４の制御に従って選択されたワード線に、電圧生成回路１２からの電圧を印加する。電圧生成回路１２は、制御回路４の制御に従って、データの読み出し、書き込み、消去等に必要な電圧をワード線制御回路１１等に供給する。
【００１４】
制御回路４は、入力インターフェース１３を介して制御信号入力端子と接続されている。制御回路４は、制御信号入力端子を介して制御信号ＡＬＥ（アドレスラッチイネーブル）、／ＣＬＥ（コマンドラッチイネーブル）、／ＷＥ（ライトイネーブル）、／ＲＥ（リードイネーブル）を受け取る。制御回路４は、これらの制御信号およびコマンドＣＭＤならびにアドレスＡＡに従って、ビット線制御回路３、ワード線制御回路１１、電圧生成回路１２を制御する。制御回路４は、また、レディービジーインターフェース１４を介してレディー／ビジー信号Ｒ／Ｂを出力する。
【００１５】
メモリセルアレイ２は複数のブロックを含んでいる。図２は、メモリセルアレイの一部（１ブロック）の回路図である。図３は、メモリセルアレイの一部（１ブロック）の断面図である。図２、図３に示されるように、ブロックＢｌｏｃｋは、ワード線方向（ＷＬ方向）に沿って並ぶ複数のメモリセル列（メモリセルユニット）ＭＵを含んでいる。メモリセル列ＭＵは、ＮＡＮＤストリングと、選択トランジスタＳ１、Ｓ２を含んでいる。ＮＡＮＤストリングは、電流経路（ソース／ドレインＳＤ）同士を相互に直列接続された複数個（例えば６４個）のメモリセルトランジスタＭＴからなる。選択トランジスタＳ１、Ｓ２は、ＮＡＮＤストリングの両端にそれぞれ接続される。選択トランジスタＳ２の電流経路の他端はビット線ＢＬに接続され、選択トランジスタＳ１の電流経路の他端はソース線ＳＬに接続される。ブロックＢｌｏｃｋ中のメモリセルトランジスタＭＴは、一括して消去される。すなわち、ブロックは消去単位である。ワード線ＷＬ０〜ＷＬ６３は、ＷＬ方向に延び、同じ行に属する全てのメモリセルトランジスタＭＴに接続される。セレクトゲート線ＳＧＤは、ＷＬ方向に延び、ブロック中の全選択トランジスタＳ２に接続されている。セレクトゲート線ＳＧＳは、ＷＬ方向に延び、ブロック中の全選択トランジスタＳ１に接続されている。
【００１６】
同じワード線ＷＬと接続されている複数のメモリセルトランジスタＭＴによる記憶空間は、ページ（Ｐａｇｅ）と称する単位を構成する。ページごとにデータが読み出され、また書き込まれる。半導体記憶装置１は、１つのメモリセルが複数ビットのデータを保持できるように構成されていてもよい。そのようなメモリセルの場合、１つのワード線に複数ページが割り当てられる。
【００１７】
メモリセルＭＴは、ビット線ＢＬとワード線ＷＬとの各交点に設けられる。メモリセルＭＴは、半導体基板中に形成されたウェル上に設けられる。ウェルは、電圧生成回路１２から所定の電圧を受け取る。メモリセルＭＴは、ウェル上に積層されたトンネル絶縁膜、電荷蓄積層としてのフローティングゲート電極ＦＧ、ゲート間絶縁膜（図示せず）、コントロールゲート電極ＣＧ（ワード線ＷＬ）、ソース／ドレイン領域ＳＤを有している。あるメモリセルＭＴの電流経路であるソース／ドレインは、隣接するメモリセルＭＴのソース／ドレインに直列接続されている。選択トランジスタＳ１、Ｓ２は、それぞれ、半導体基板上に積層されたゲート絶縁膜（図示せず）、ゲート電極ＳＧＳ、ＳＧＤ、ソース／ドレイン領域ＳＤを含んでいる。
【００１８】
次に、ビット線制御回路３について説明する。図４は、ビット線制御回路３の一部を示す回路図である。図４に示されるように、ビット線制御回路３は、８つの単位構造ＵＳを含んでいる。１つの単位構造ＵＳは、Ｉ／Ｏ０〜７のいずれかのために動作する。各単位構造ＵＳは、同じ構成を有する。図では、図の明瞭化のために、Ｉ／Ｏ２〜Ｉ／Ｏ６用の単位構造ＵＳは省略されている。各単位構造ＵＳは、センスアンプ回路３ａおよびデータラッチ３ｂの一部を構成する。８つの単位構造ＵＳを１つの組としているのは、ビット線制御回路３とデータ回路６を繋ぐデータバスＹＩＯが８本のデータ線ＹＩＯ０〜ＹＩＯ７を有することに基づいている。データ線ＹＩＯ０〜ＹＩＯ７は、それぞれＩ／Ｏ０〜Ｉ／Ｏ７に対応する。相違する単位構造ＵＳは、相違するデータ線ＹＩＯ０〜ＹＩＯ７およびビット線と接続されている。図４に示される８つの連続する単位構造ＵＳは１組の単位構造ＵＳを構成し、１組が協働で８カラム（ＣＯＬ）に対応するデータ（８バイトデータ）を処理および保持等する。このような１組の単位構造ＵＳを単位構造群と称する。このような単位構造群が、複数個、ビット線制御回路３に含まれている。単位構造群の数は、例えば全ての群によって、１ページと等しい大きさのデータを処理および保持できるだけの数である。例えば１ページの大きさが８ｋＢであれば、ビット線制御回路３は、１ｋ個の単位構造群を含んでいる。ビット線制御回路３は、各単位構造群に対して１つの検索回路３ｃを有している。
【００１９】
各単位構造ＵＳは、下端（メモリセルアレイ２に最も位置）において、センスアンプＳＡ０〜ＳＡ７を含んでいる。センスアンプＳＡ０〜ＳＡ７の各々は、１本のビット線ＢＬと接続されている。センスアンプＳＡ０〜ＳＡ７は、各々のスイッチ回路２１を介して、１本のデータバスＳＢＵＳに共通に接続されている。データバスＳＢＵＳは、１つの単位構造ＵＳに共通であり、１ビットの幅を有する。スイッチ回路２１は、制御回路４により制御される。
【００２０】
各単位構造において、データバスＳＢＵＳは、演算回路Ｙの一端と接続されている。演算回路Ｙの主たる用途の１つは、１つのメモリセルに複数ビットのデータを書き込むことを可能にするための処理を行なうことである。その達成のために、演算回路Ｙは、種々の論理演算を行えるように構成されている。具体的には、演算回路Ｙは、例えば、後述のあるデータラッチ（例えばデータラッチＬＤＬ）中のデータと別のデータラッチ（例えばデータラッチＵＤＬ）中のデータに対して特定の論理演算を行い、その結果を先のいずれかのデータラッチまたはさらに別のデータラッチに転送して保持することができる。論理演算には、少なくとも否定演算（ＮＯＴ）、論理和（ＯＲ）、論理積（ＡＮＤ）、排他的論理和（ＸＯＲ）の算出、またはそれらの組合せが含まれる。演算回路Ｙは、制御回路４により制御される。センスアンプＳＡ０〜ＳＡ７および演算回路Ｙは、図３のセンスアンプ回路３ａに対応する。
【００２１】
各単位構造ＵＳにおいて、演算回路Ｙの他端はデータバスＬＢＵＳと接続されている。データバスＬＢＵＳは、データラッチＸＤＬ０〜ＸＤＬ７に、それぞれのスイッチ回路２２を介して接続されている。データバスＬＢＵＳは、また、データラッチＵＤＬ０〜ＵＤＬ７に、それぞれのスイッチ回路２３を介して接続されている。データバスＬＢＵＳは、さらに、データラッチＬＤＬ０〜ＬＤＬ７に、それぞれのスイッチ回路２４を介して接続されている。図では、データラッチＵＤＬ０〜ＵＤＬ７は１組のデータラッチＵＤＬとして描かれている。データラッチＬＤＬ０〜ＬＤＬ７も１組のデータラッチＬＤＬとして描かれている。各単位構造ＵＳにおいて、データバスＬＢＵＳは、さらに、スイッチ２６を介して、データ線ＹＩＯ０〜ＹＩＯ７のうちの対応する１つと接続されている。スイッチ２２〜２４、２６は、制御回路４により制御される。データラッチＸＤＬ０〜ＸＤＬ７、ＵＤＬ０〜ＵＤＬ７、ＬＤＬ０〜ＬＤＬ７は、図３のデータラッチに対応する。
【００２２】
各データバスＬＢＵＳは、対応する１つのｎ型ＭＯＳ（metal oxide semiconductor）ＦＥＴ（field effect transistor）３１のゲートに接続されている。各トランジスタ３１の一端は接地され、他端は１つのｎ型ＭＯＳＦＥＴ３２の一端に接続されている。単位構造群中の全トランジスタ３２の他端は、ローカル検知線ＬＤＬに共通に接続されている。単位構造群中の全トランジスタ３２のゲートは、制御回路４から信号ＤＥＴＥＣＴを受け取る。トランジスタ３１、３２、３３は、１つの単位構造群中で１カラムのデータに対する検索のための第１検知回路を構成する。
【００２３】
ローカル検知線ＬＤは、ｐ型ＭＯＳＦＥＴ３３を介して電源電位端と接続されている。トランジスタ３３のゲートは、制御回路４から制御信号ＣＨＲ１を受け取る。ローカル検知線ＬＤＬは、また、タグラッチ３４の入力に接続されている。タグラッチ３４の出力は、ｎ型ＭＯＳＦＥＴ４１のゲートに接続されている。トランジスタ４１は、一端において接地され、他端においてｎ型ＭＯＳＦＥＴ４２の一端に接続されている。トランジスタ４２の他端は、検知線ＤＬに接続されている。各単位構造群は、検知線ＤＬに共通に接続されている。検知線ＤＬは、ｐ型ＭＯＳＦＥＴ４３を介して電源電位端と接続されている。タグラッチ３４、トランジスタ４１、４２、４３は、複数の単位構造群の中で検索ヒットがあったかの検知のための第２検知回路を構成する。トランジスタ３１、３２、３３、３４、４１、４２、４３、タグラッチ３４は、図３の検知回路３ｃに対応する。
【００２４】
１つの単位構造群は、連続する８つのカラム（例えばＣＯＬ（カラム）０〜ＣＯＬ７）のためのデータを処理および転送するために機能する。同様に、別の単位構造群は、１組目とは別の８つのカラム（例えばＣＯＬ８〜ＣＯＬ１５）用である。以下、同様に、複数の単位構造群が、８つの連続するカラムの複数の組のいずれかのために機能する。
【００２５】
次に、データ読み出しについて説明する。以下では、ＣＯＬ０〜ＣＯＬ７用の単位構造群を代表として取り上げて説明する。しかしながら、実際には、全ての単位構造群が独立して同じ動作を並行して実行していることに留意されたい。すなわち、ＣＯＬ０についての以下に記述する動作は、ＣＯＬ８、ＣＯＬ１６、ＣＯＬ２３…についても並行して行なわれている。同様に、ＣＯＬ１についての以下に記述する動作は、ＣＯＬ９、ＣＯＬ１７、ＣＯＬ２４…についても並行して行なわれている。同じ記述が、残りのＣＯＬについても当てはまる。
【００２６】
まず、８カラムのうちのいずれか１つのカラムについてデータが読み出される。どのカラムが選ばれるかは任意であるが、以下では、最小番号のＣＯＬ０が選ばれたものとして説明する。
【００２７】
ＣＯＬ０のＩ／Ｏ０〜Ｉ／Ｏ７にそれぞれ対応する８つの１ビットデータが、それぞれ、Ｉ／Ｏ０〜Ｉ／Ｏ７用のセンスアンプＳＡ０に対応するビット線ＢＬから入力される。続いて、Ｉ／Ｏ０〜Ｉ／Ｏ７用のセンスアンプＳＡ０によって増幅されたデータは、それぞれ、Ｉ／Ｏ〜Ｉ／Ｏ７用の演算回路Ｙを介してＩ／Ｏ０〜Ｉ／Ｏ７用のデータラッチＸＤＬ０に保持される。Ｉ／Ｏ０〜Ｉ／Ｏ７用のデータラッチＸＤＬ０に保持されたデータは、データ線ＹＩＯ０〜ＹＩＯ７にそれぞれ供給される。こうして、ＣＯＬ０のデータが一括してデータバスＹＩＯに転送される。
【００２８】
次に、同様に、別のカラム（例えばＣＯＬ１）についてデータが読み出される。すなわち、ＣＯＬ１のＩ／Ｏ０〜Ｉ／Ｏ７のデータが、Ｉ／Ｏ０〜Ｉ／Ｏ７用の各センスアンプＳＡ１に入力される。続いて、Ｉ／Ｏ０〜Ｉ／Ｏ７用のセンスアンプＳＡ１によって増幅されたデータは、それぞれ、Ｉ／Ｏ〜Ｉ／Ｏ７用の演算回路Ｙを介してＩ／Ｏ〜Ｉ／Ｏ７用のデータラッチＸＤＬ１に保持される。Ｉ／Ｏ〜Ｉ／Ｏ７用のデータラッチＸＤＬ１に保持されたデータは、データ線ＹＩＯ０〜ＹＩＯ７にそれぞれ供給される。こうして、ＣＯＬ１のデータが一括してデータバスＹＩＯに転送される。以下、同様にして、ＣＯＬ２〜ＣＯＬ７の全てについて、８ビットのデータがデータバスＹＩＯに順次転送される。したがって、ＸＤＬ０〜ＸＤＬ７は、ＣＯＬ０〜ＣＯＬ７用である。別の単位構造群についても同様で、例えばＣＯＬ８〜ＣＯＬ１５を受け持つ単位構造群では、ＸＤＬ０〜ＸＤＬ７は、ＣＯＬ８〜ＣＯＬ１５用である。処理されるＣＯＬの順序は任意であるが、最小番号から最大番号の順が典型的である。
【００２９】
このような転送は、各Ｉ／Ｏについて、センスアンプＳＡ０〜ＳＡ７の組が１つの演算回路Ｙを共有するための施策である。その目的は、演算回路Ｙの個数削減による半導体記憶装置の面積縮小である。したがって、そのような面積縮小が必要でなければ、演算回路Ｙを共有する方式は必須ではない。非共有の例の場合、単純に、各単位構造ＵＳにおいて、１つのカラム用の１つの演算回路Ｙ、１つのデータバスＳＢＵＳ、１つのＬＢＵＳが設けられる。すなわち、１つのセンスアンプＳＡは、専用のデータバスＳＢＵＳ、専用の演算回路Ｙ、専用のデータバスＬＢＵＳを介して、対応する１つのラッチＸＤＬ、対応する１つのラッチＵＤＬ、対応する１つのラッチＬＤＬに接続される。
【００３０】
データ書き込みについては、データは、データバスＹＩＯ、データバスＬＢＵＳ、データラッチＸＤＬ、演算回路Ｙ、センスアンプＳＡを、この順に通過してビット線ＢＬに至る。
【００３１】
次に、データ検索について図４〜図６を参照して説明する。図５は、第１実施形態に係る半導体記憶装置によるデータ検索のフローチャートである。
【００３２】
まず、半導体記憶装置１は、検索対象データを読み出すための読み出しコマンドを受け取る（ステップＳ１）。以下の例では、説明の簡略化のために、検索対象データが１ページと同サイズであるものとする。検索対象データが１ページを超えている場合については、後に触れる。
【００３３】
制御回路４は、読み出しコマンドを受け取ると、ワード線制御回路１１等の制御を通じてメモリセルから、読み出し対象のデータを読み出してデータラッチＬＤＬに保持する（ステップＳ２）。読み出しの詳細は、上記のとおりである。読み出しデータがデータラッチＬＤＬに保持された状態は、図６に模式的に示されている。図６中の各囲み（箱）は、１つのカラムに対応する１バイトのデータを示している。実態としては、例えばＣＯＬ０の１バイトデータは、ＣＯＬ０用の８つのデータラッチＬＤＬ０の各々に保持されている１ビットデータの集合である。以下の説明では、同じカラムのための１バイトデータを保持する８つ１組のデータラッチをデータラッチ群と称する。データラッチ群ＸＤＬ、ＵＤＬも、同様に、１つのデータラッチ群ＸＤＬまたはＵＤＬは、対応するカラムの８ビットデータを保持する。
【００３４】
図６に示されるように、ＣＯＬ０〜ＣＯＬ７用の各データラッチ群ＬＤＬは、それぞれデータＤ０〜Ｄ７を保持する。図６では、簡略化のために省略されているが、ＣＯＬ８以降についても同様である。上記のように、カラムは、全体で１ページのデータを保持できる個数だけ設けられている。従って、データ読み出しの結果、１ページ分の容量のデータラッチ群ＬＤＬによって、１ページサイズのデータが保持されている。
【００３５】
図５に戻る。半導体記憶装置１は、外部から検索データを受け取り、これを例えばデータ回路６中のレジスタ（図示せず）に保持する（ステップＳ３）。検索データは、１組の単位構造ＵＳと同じ数（本例では８）のビット数を有する。検索データは、キーなどとも称され、典型的には任意の一文字を表わすためのビット列からなる。次いで、検索データは、レジスタから出力されて、データバスＹＩＯを経て全てのデータラッチ群ＸＤＬで保持される（ステップＳ４）。図６の例では、検索データはＤ２である。検索データＤ２は１つであるので、全てのデータラッチ群ＸＤＬが検索データＤ２を保持することになる。このために、全単位構造ＵＳにおいてスイッチ２６および全スイッチ２２をオンして、検索データＤ２をデータラッチ群ＸＤＬに同時に供給することが可能である。このことは、検索データＤ２を効率的に保持することに繋がる。
【００３６】
図５に戻る。演算回路Ｙは、書く単位構造群中の１つのカラムについてデータラッチ群ＸＤＬ中のデータとデータラッチ群ＬＤＬ中のデータとのＸＯＲを計算し、この計算を全８カラムについて繰り返す（ステップＳ５）。８つのカラムの順序は任意であるが、最小番号から最大番号の順が典型的である。論理演算の結果は、対応するデータラッチ群ＵＤＬで保持される。具体的には、以下の通りである。まず、各単位構造群において、いずれか１つのカラム（例えばＣＯＬ０、ＣＯＬ８、ＣＯＬ１６、ＣＯＬ２４…）についての論理演算が並行して行なわれる。以下の記載では、ＣＯＬ０〜ＣＯＬ７用の単位構造群に注目して説明し、その説明が全ての単位構造群に独立して当てはまるものとする。処理中のＣＯＬ０用のＩ／Ｏ０〜Ｉ／Ｏ７用の各データラッチＸＤＬ０中の１ビットデータと、ＣＯＬ０用のＩ／Ｏ０〜Ｉ／Ｏ７用の各データラッチＬＤＬ０中の１ビットデータとのＸＯＲが、それぞれ、Ｉ／Ｏ０〜Ｉ／Ｏ７用の演算回路Ｙにより算出される。論理演算の結果は、ビットごとにデータバスＬＢＵＳ上に現れ、次いで、ＣＯＬ０用の各データラッチＵＤＬ０で保持される。８つのデータバスＬＢＵＳのうちの少なくとも１つにＨレベルのデータが表れる。ＣＯＬ０用のデータラッチ群ＸＤＬ、ＬＤＬが、相違するデータＤ２、Ｄ０を保持するからである。
【００３７】
次に、ＣＯＬ０について説明したのと同様の処理が、各単位構造において、単位構造群中の残りの全カラムについて順に繰り返される。この結果、各単位構造群において、全カラムについて、データラッチ群ＵＤＬに、論理演算の結果が保持される。
【００３８】
次に、各単位構造群中の１つのカラムについてデータラッチ群中の８ビットデータのワイヤードＯＲタグラッチ３４に保持し、これを全カラムについて繰り返す。具体的には、以下の通りである。まず、制御回路４は、信号ＣＨＲ１をアクティブにすることによりローカル検知線ＬＤＬをプリチャージし、次いで信号ＤＥＴＥＣＴをアクティブにする。まず、各単位構造群においていずれか１つのカラム（例えばＣＯＬ０）用のデータラッチ群ＵＤＬ中のデータが、それぞれ対応するデータバスＬＢＵＳに読み出される。８つのデータバスＬＢＵＳのうち１つでも、その電位がＨレベルであれば、対応するトランジスタ３１がオンしているので、ローカル検知線ＬＤＬはＬレベルに遷移する。ＣＯＬ０については、ローカル検知線ＬＤＬはＬレベルに遷移する。ローカル検知線ＬＤＬ上の信号はタグラッチ３４に保持される（ステップＳ６）。タグラッチ３４のＬレベル出力は、トランジスタ４１はオンさせない。
【００３９】
次に、複数の単位構造群中の各タグラッチ３４中のデータのワイヤードオアを算出する（ステップＳ７）。具体的には、以下の通りである。まず、制御回路４は、信号ＣＨＲ２をアクティブにすることにより検知線ＤＬをハイレベルにプリチャージするとともに信号ＤＥＴＥＣＴ２をアクティブにする。結果、オンしているトランジスタ４１を含んでいる単位構造群中では、検知線ＤＬのための放電経路が形成される。一方、オフしているトランジスタ４１を含んでいる単位構造群中では、検知線ＤＬのための放電経路は形成されない。図６の単位構造群においては、現在の検索対象のＣＯＬ０については、タグラッチ３４の出力はローレベルなので、検知線ＤＬからの放電経路は形成されない。いずれかの単位構造群中のタグラッチがＨレベルを保持している場合、この単位構造群によって、検知線ＤＬの電位はＬレベルに遷移する。レジスタ３ｄは、こうして得られた各単位構造群中の最少番号カラムについての検知線ＤＬの電位を保持する。
【００４０】
次に、同様にして、各単位構造群において全カラムについての判定が完了するまで、ステップＳ６、Ｓ７の組が繰り返される（ステップＳ８）。８つのカラムの順序は任意であるが、最小番号から最大番号の順が典型的である。図６の単位構造群では、ＣＯＬ２のデータに対してヒット判定がある。このため、ＣＯＬ２についてのステップＳ７において、ＣＯＬ０〜ＣＯＬ７用の単位構造群中のローカル検知線ＬＤＬはＨレベルを維持する。ローカル検知線ＬＤＬ上のＨレベルデータは、トランジスタ４１をオンさせ、結果、検知線ＤＬ上の電位はＬレベルに遷移する。ステップＳ６、Ｓ７の組の繰り返しが完了すると、レジスタ３ｄに、カラムの組８つについての比較結果を示す計８つのビットが蓄積されることになる。このうち、１つでもヒット判定があれば、検索対象のページが検索データを含んでいることを意味する。このことに基づいて、判定モジュール３ｅは検査結果を判定する（ステップＳ９）。ステップＳ８において、カラムの８つの組についての検索の完了前に、ヒット判定があった時点で、検索対象のページに対するヒット判定としてステップＳ８を完了してもよい。判定モジュール３ｅは、判定の結果を制御回路４に送信する（ステップＳ１０）。この送信は、例えば、データプログラム（書き込み）時のパス・フェイル判定結果の送信に用いられるステータスにより行なうことができる。制御回路４は、さらに、受け取った判定結果を半導体記憶装置１の外部に出力する。
【００４１】
検索対象データが１ページを超えている場合は、ステップＳ１〜Ｓ１０の組が１ページを超えた分に対する検索が終了するまで、繰り返される。ただし、各繰り返しにおいて、検索データを保持するためのステップＳ３およびＳ４はスキップされる。検索データは各繰り返しにおいて不変だからである。
【００４２】
以上説明したように、第１実施形態に係る半導体記憶装置は、データラッチＸＤＬ、ＵＤＬ、ＬＤＬ、演算回路Ｙに加えて、検索回路３ｃを含んでいる。これらの要素を用いて、すなわちハードウェア要素によって特定の記憶空間中に指定のデータが含まれているかを判定することができる。したがって、ＣＡＭのようにアドレスではなく検索データ（検索キー）によりデータを指定することができる。ハードウェアによる検索は、従来のソフトウェアによる検索に比べて高速で完了可能である。また、検索回路３ｃは極簡単なロジック回路であり、データラッチＸＤＬ、ＵＤＬ、ＬＤＬ、演算回路Ｙは本願の技術とは無関係に元々設けられているので、それらの有効活用により、回路面積の増加はほとんどない。
【００４３】
（第２実施形態）
第２実施形態は、第１実施形態の動作に加えて、検索データを含んだデータが見つけられた後にその中の検索データを更新することに関する。
【００４４】
図７は、第２実施形態に係る半導体記憶装置のビット線制御回路の一部を示すブロック図である。第２実施形態の検索回路３ｃは、第１実施形態のものに加えて、トランジスタ５１と、トランジスタ５２および５３の複数の組を含んでいる。各単位構造群において、全データバスＬＢＵＳは、ｐ型のＭＯＳＦＥＴ５１の一端に共通に接続されている。トランジスタ５１は、他端において電源電位を受け取り、ゲートにおいて制御回路４から信号ＣＨＲ３を受け取る。各データバスＬＢＵＳは、それぞれ、直列接続されたｎ型ＭＯＳＦＥＴ５２、５３の一端に接続されている。トランジスタ５３は、また、接地されている。各単位構造群において、全トランジスタ５２のゲートは、タグラッチ３４の出力に共通に接続され、全トランジスタ５３のゲートは、制御回路４から信号ＴＡＧ２ＤＬが共通に接続されている。トランジスタ５１、５２、５３は、検索結果に基づいた値をデータラッチに書き込むことに資する。ここまで説明した点以外の構成は、全て第１実施形態と同じである。
【００４５】
次に、図８を参照して、データ更新について説明する。図８は、第２実施形態に係る半導体記憶装置よるデータ更新のフローチャートである。まず、ステップＳ１〜Ｓ７までが行なわれる。ただし、ステップＳ７は、任意で実行され、例えば検索の結果が出力されることが求められている場合のみ行なわれる。
【００４６】
第１実施形態において記載されているように、ステップＳ６の結果、タグラッチ３４は、検索対象のカラムのデータについて検索ヒットの場合はＨレベルデータを保持し、検索ミスの場合はＬレベルデータを保持している。第１実施形態と同様に、８カラムののうちの１つのカラム（例えばＣＯＬ０）ごとに、全カラムのデータが読み出される。したがって、現在は、そのサイクルの一巡目であり、したがって、典型例として、ＣＯＬ０が検索対象である。
【００４７】
次に、タグラッチ３４中のデータに基づいた値が、検索対象カラム用のデータラッチ群ＵＤＬに書き込まれる（ステップＳ２１）。具体的には以下の通りである。まず、制御回路４は信号ＣＨＲ３をアクティブにすることによって、各単位構造群中の全データバスＬＢＵＳをハイレベルにプリチャージする。次いで、制御回路４は、信号ＴＡＧ２ＤＬをアクティブにする。このアクティブ化により、各単位構造群において、タグラッチ３４にＬレベルのデータが保持されていれば（すなわち、検索ミス時）、全トランジスタ５２はオフしているため、データバスＬＢＵＳはＨレベルを維持する。このときのＩ／Ｏ０〜Ｉ／Ｏ７用の各データバスＬＢＵＳの電位が、それぞれ、現在の検索対象カラム用のデータラッチＵＤＬ０〜ＵＤＬ７に書き込まれる。したがって、図９に示されるように、ＣＯＬ０用のデータラッチ群ＵＤＬ０には、全てがＨレベルのデータ、すなわち全てが“１”のデータが保持される。なお、図では、１６進数にて表示されている。
【００４８】
図８に戻る。同様にして、各単位構造群において全カラムについてのデータラッチ群ＵＤＬでの結果保持が完了するまで、ステップＳ６、必要に応じてステップＳ７、およびステップ２１の組が繰り返される（ステップＳ２３）。図９の例では、ＣＯＬ２のデータに対してヒット判定がある。このため、ＣＯＬ２についてのＳ２１において、信号ＴＡＧ２ＤＬのアクティブ化によって、ＣＯＬ０〜ＣＯＬ７用の単位構造群中の全データバスＬＢＵＳはＬ（０）レベルに遷移する。よって、図９に示されるように、ＣＯＬ２用のデータラッチ群ＵＤＬ２には、全てがＬレベルのデータ、すなわち全てが“０”のデータが保持される。一方、残りのＣＯＬ１、３〜７用のデータラッチ群ＵＤＬ１、３〜７には全てが“１”のデータが保持される。
【００４９】
続くステップＳ９およびＳ１０も任意で実行され、例えば検索の結果が出力されることが求められている場合のみ行なわれる。
【００５０】
次に、演算回路Ｙは、各単位構造群中の１つのカラムについてデータラッチ群ＬＤＬ中のデータとデータラッチ群ＵＤＬ中のデータとのＡＮＤを計算し、この計算を全８カラムについて繰り返す（ステップＳ２４）。８つのカラムの順序は任意であるが、最小番号から最大番号の順が典型的である。演算の結果は、処理中のカラム用のデータラッチ群ＬＤＬに保持される。具体的には、以下の通りである。まず、各単位構造群において、いずれか１つのカラム（例えばＣＯＬ０、ＣＯＬ８、ＣＯＬ１６、ＣＯＬ２４…）について、各データラッチＵＤＬ（例えばＵＤＬ０）中の１ビットデータと各データラッチＬＤＬ（例えばＬＤＬ０）の対応する１ビットデータとのＡＮＤが、それぞれ、Ｉ／Ｏ０〜Ｉ／Ｏ７用の演算回路Ｙにより算出される。演算の結果は、対応する（同じ）カラムの各データラッチＬＤＬ０に保持される。この結果、処理中のカラム（例えばＣＯＬ０）のデータラッチ群ＬＤＬ（例えばデータラッチ群ＬＤＬ０）には、データ（例えばデータＤ０）が再び書き込まれる。同様にして、各単位構造群において、残りのカラムについても、ＡＮＤ演算および結果の保持が繰り返される。この繰り返しの最中、図１０の単位構造群では、ＣＯＬ２についてのＡＮＤは全ビットについて“０”である。その他のＣＯＬ１、３〜７についての論理和は、全ビットについて“１”である。
【００５１】
次に、半導体記憶装置１は、検索データに対して上書きされるデータ（Ｎ２）を受け取る（ステップＳ２５）。この更新データは、検索データと同じ大きさ、すなわち１バイトを有する。受け取られたデータは、例えば、検索回路３ｃ中のレジスタ（図示せず）に保持される。次いで、更新データは、レジスタから出力されて、データバスＹＩＯを経て全カラムについてのデータラッチ群ＸＤＬに保持される（ステップＳ２６）。このために、全単位構造ＵＳにおいてスイッチ２６および全スイッチ２２をオンして、更新データＮ２をデータラッチ群ＸＤＬに同時に供給することが可能である。このことは、更新データＮ２を効率的に保持することに繋がる。ＣＯＬ０〜ＣＯＬ７用の単位構造群についてのステップＳ２６の結果は、図１１に示されている。
【００５２】
次に、演算回路Ｙは、各単位構造群中の１つのカラムについてデータラッチ群ＸＤＬ中のデータとデータラッチ群ＵＤＬ中のデータの反転された形態とのＯＲを計算し、この計算を全８カラムについて繰り返す（ステップＳ２７）。８つのカラムの順序は任意であるが、最小番号から最大番号の順が典型的である。演算の結果は、処理中のカラム用のデータラッチ群ＸＤＬに上書きされる。具体的には、ステップＳ２４等と同様に、いずれか１つのカラムずつ全カラムについて、対応するビット同士についてのＯＲ演算および結果の保持が繰り返される。この結果、ＣＯＬ０〜ＣＯＬ７用の単位構造群については、図１２に示されるように、ＣＯＬ２用のデータラッチ群ＸＤＬは更新データＮ２を保持し、その他のＣＯＬ０、１、３〜７用のデータラッチ群ＸＤＬは、全てが“０”のデータを保持する。
【００５３】
次に、演算回路Ｙは、各単位構造群中の１つのカラムについてデータラッチ群ＵＤＬ中のデータとデータラッチ群ＬＤＬ中のデータとのＡＮＤを計算し、この計算を全８カラムについて繰り返す（ステップＳ２８）。８つのカラムの順序は任意であるが、最小番号から最大番号の順が典型的である。演算の結果は、処理中のカラム用のデータラッチ群ＸＤＬに上書きされる。具体的には、ステップＳ２４等と同様に、いずれか１つのＣＯＬずつ全カラムについて、対応するビット同士についてのＡＮＤ演算および結果の保持が繰り返される。この結果、ＣＯＬ０〜ＣＯＬ７用の単位構造群については、図１３に示されるように、ＣＯＬ２用のデータラッチ群ＸＤＬは更新データＮ２を保持し、その他のＣＯＬ０、１、３〜７用のデータラッチ群ＸＤＬは、それぞれ元々のデータＤ０、Ｄ１、Ｄ３〜Ｄ７を保持する。
【００５４】
次に、半導体記憶装置１は、検索および更新のために処理されている１ページ分のデータを書き込むためのプログラムコマンドおよび書き込まれるべきアドレスを外部より受け取る（ステップＳ３１）。このコマンドに応答して、制御回路４は、ビット線制御回路３、ワード線制御回路１１、電圧生成回路１２の制御を通じて、指定されたアドレスのページに、データラッチ群ＸＤＬに保持されている計ページサイズのデータを書き込む（ステップＳ３２）。
【００５５】
以上説明したように、第２実施形態に係る半導体記憶装置は、第１実施形態と同じくデータラッチＸＤＬ、ＵＤＬ、ＬＤＬ、演算回路Ｙに加えて、検索回路３ｃを含んでいる。さらに第２実施形態に係る検索回路３ｃは、タグラッチ３４中のデータに基づいたデータをデータラッチＸＤＬ、ＬＤＬ等に書き込むための仕組みを有する。このため、ＣＡＭのように、アドレスではなく検索データによりデータを指定し、見つかったデータを上書きすることをハードウェアにより実現できる。ハードウェアによる検索は、従来のソフトウェアによる検索に比べて高速で完了可能である。また、検索回路３ｃは極簡単なロジック回路であり、データラッチＸＤＬ、ＵＤＬ、ＬＤＬ、演算回路Ｙは本願の技術とは無関係に元々設けられているので、それらの有効活用により、回路面積の増加はほとんどない。
【００５６】
その他、各実施形態は、上記のものに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で、種々に変形することが可能である。さらに、上記実施形態には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の実施形態が抽出され得る。例えば、上記各実施形態に示される全構成要件から幾つかの構成要件が削除されても、この構成要件が削除された構成が実施形態として抽出され得る。
【符号の説明】
【００５７】
１…半導体記憶装置、２…メモリセルアレイ、３…ビット線制御回路、４…制御回路、６…データ回路、７…Ｉ／Ｏインターフェース、１１…ワード線制御回路、１２…電圧生成回路、１３…入力インターフェース、１４…レディービジーインターフェース、２１〜２４、２６…スイッチ、３１、３２、３３、４１、４２、４３、５１〜５３…ＭＯＳＦＥＴ、ＬＤＬ…ローカル検知線、ＤＬ…検知線。
【図１】
2013065374.tif 000003
【図２】
2013065374.tif 000004
【図３】
2013065374.tif 000005
【図４】
2013065374.tif 000006
【図５】
2013065374.tif 000007
【図６】
2013065374.tif 000008
【図７】
2013065374.tif 000009
【図８】
2013065374.tif 000010
【図９】
2013065374.tif 000011
【図１０】
2013065374.tif 000012
【図１１】
2013065374.tif 000013
【図１２】
2013065374.tif 000014
【図１３】
2013065374.tif 000015