(57)【要約】  複数のビット線（１３）及び複数のワード線（１５）に沿って複数のメモリセル（１１）が配列される。各ビット線（１３）にセンスアンプ（１４）が接続される。各ビット線（１３）に沿って、第１〜第４のワード線（１５）の活性又は非活性の状態に応じて第１〜第４のスイッチング素子（１２）により１つのビット線（１３）にそれぞれ接続又は切断される第１〜第４のメモリセル（１１）を含む、少なくとも４つずつのメモリセル（１１）が配列される。第１のメモリセル（１１）は第１のビット値を格納し、第２のメモリセル（１１）は第２のビット値を格納し、第３及び第４のメモリセル（１１）は第３のビット値をそれぞれ格納する。メモリセルアレイ制御回路（２２）は、第３及び第４のワード線（１５）を活性化した後に非活性化し、次いで、第１及び第２のワード線（１５）を活性化し、次いで、センスアンプ（１４）を活性化する。
2018142478.tif 000002
【特許請求の範囲】
【請求項１】
互いに直交する複数のビット線及び複数のワード線に沿って配列された複数のメモリセルを含む少なくとも１つのメモリセルアレイを備える半導体記憶装置において、
前記半導体記憶装置は、
前記各ワード線の活性又は非活性の状態に応じて、前記各ワード線に沿って配列された各メモリセルを、前記各ビット線にそれぞれ接続又は切断する複数のスイッチング素子と、
前記複数のビット線にそれぞれ接続された複数のセンスアンプと、
前記各ワード線及び前記各センスアンプを活性化又は非活性化する制御回路とを備え、
前記各ビット線に沿って、前記複数のメモリセルのうちの第１〜第４のメモリセルを含む少なくとも４つずつのメモリセルが配列され、前記第１〜第４のメモリセルは、前記複数のワード線のうちの第１〜第４のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第１〜第４のスイッチング素子により１つのビット線にそれぞれ接続又は切断され、前記第１のメモリセルは第１のビット値を格納し、前記第２のメモリセルは第２のビット値を格納し、前記第３及び第４のメモリセルは第３のビット値をそれぞれ格納し、
前記制御回路は、前記第３及び第４のワード線を活性化した後に非活性化し、次いで、前記第１及び第２のワード線を活性化し、次いで、前記センスアンプを活性化することにより、前記第３のビット値によって指定される論理積演算又は論理和演算を前記第１及び第２のビット値に対して行う半導体記憶装置。
【請求項２】
互いに直交する複数のビット線及び複数のワード線に沿って配列された複数のメモリセルを含む少なくとも１つのメモリセルアレイを備える半導体記憶装置において、
前記複数のビット線は複数の第１のビット線及び複数の第２のビット線を含み、
前記半導体記憶装置は、
前記各ワード線の活性又は非活性の状態に応じて、前記各ワード線に沿って配列された各メモリセルを、前記各ワード線に沿って設けられた各第１のビット線又は各第２のビット線にそれぞれ接続又は切断する複数のスイッチング素子と、
前記複数の第１のビット線のうちの１つずつ及び前記複数の第２のビット線のうちの１つずつにそれぞれ接続された複数のセンスアンプと、
前記各ワード線及び前記各センスアンプを活性化又は非活性化する制御回路とを備え、
前記各ビット線及び前記各逆ビット線に沿って、前記複数のメモリセルのうちの第１〜第３のメモリセルを含む少なくとも３つずつのメモリセルが配列され、前記第１及び第２のメモリセルは、前記複数のワード線のうちの第１及び第２のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第１及び第２のスイッチング素子により前記第１のビット線にそれぞれ接続又は切断され、前記第３のメモリセルは、前記複数のワード線のうちの第３のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第３のスイッチング素子により前記第２のビット線に接続又は切断され、前記第１のメモリセルは第１のビット値を格納し、前記第２のメモリセルは第２のビット値を格納し、前記第３のメモリセルは第３のビット値を格納し、
前記制御回路は、前記第１〜第３のワード線を活性化し、次いで、前記センスアンプを活性化することにより、前記第１〜第３のビット値のうちの１つによって指定される論理積演算又は論理和演算を前記第１〜第３のビット値のうちの残りの２つに対して行う半導体記憶装置。
【請求項３】
前記制御回路は、
前記複数のワード線を個別に選択する複数ビットのロウアドレスを受信し、
前記ロウアドレスの少なくとも１つのビットを無視することにより、予め決められた複数のワード線を同時に活性化又は非活性化する請求項１又は２記載の半導体記憶装置。
【請求項４】
前記制御回路は、複数のワード線が同時に活性化された状態にあるとき、前記センスアンプを活性化する前に、活性化されている前記複数のワード線のうちの少なくとも１つを非活性化する請求項１又は２記載の半導体記憶装置。
【請求項５】
前記制御回路は、前記複数のワード線のうちの１つを活性化した後に前記センスアンプを活性化する第１のアクティブコマンドと、前記複数のワード線のうちの少なくとも２つを活性化した後に前記センスアンプを活性化する第２のアクティブコマンドとの両方に応じて動作する請求項１〜４のうちの１つに記載の半導体記憶装置。
【請求項６】
前記制御回路は、前記複数のワード線のうちの１つを活性化した後に自動的に前記センスアンプを活性化しない第３のアクティブコマンドと、前記複数のワード線のうちの少なくとも２つを活性化した後に自動的に前記センスアンプを活性化しない第４のアクティブコマンドとの両方に応じて動作する請求項１〜５のうちの１つに記載の半導体記憶装置。
【請求項７】
前記制御回路は、予め決められた個数の複数のビット線に沿って配列された複数のメモリセルに格納されたビット値に対して同時に演算を行う請求項１〜６のうちの１つに記載の半導体記憶装置。
【請求項８】
前記複数のビット線は、複数の第１のビット線及び複数の第２のビット線を含み、
前記複数のセンスアンプのうちの各１つのセンスアンプは、前記複数の第１のビット線のうちの１つ及び前記複数の第２のビット線のうちの１つにそれぞれ接続され、
前記制御回路は、前記センスアンプが第１のビット値を生成した後に前記センスアンプを非活性化し、次いで、前記第１及び第２のビット線を独立にプリチャージして前記第１及び第２のビット線の電位を変化させ、次いで、前記センスアンプを活性化して前記第１のビット値を反転したビット値を生成する請求項１〜７のうちの１つに記載の半導体記憶装置。
【請求項９】
前記半導体記憶装置は、
複数のメモリセルアレイと、
複数のセンスアンプを配列した少なくとも１つのセンスアンプ列とを備え、
前記複数のメモリセルアレイは、互いに隣接する任意の２つのメモリセルの間に１つのセンスアンプ列が位置するように配列され、
前記各メモリセルアレイの少なくとも１つのワード線と、前記少なくとも１つのワード線に沿って配列された複数のメモリセル及び複数のスイッチング素子とをそれぞれ含む、前記各メモリセルアレイに少なくとも１つずつ設けられた冗長回路とを備える請求項１〜８のうちの１つに記載の半導体記憶装置。
【請求項１０】
前記制御回路は、前記複数のメモリセルアレイのうちの各１つのメモリセルアレイにおいて、
当該１つのメモリセルアレイにおける故障を当該１つのメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイを演算回路として動作させ、
当該１つのメモリセルアレイにおける故障を他のメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイの演算回路としての動作を中止する請求項９記載の半導体記憶装置。
【請求項１１】
前記半導体記憶装置の外部から読み出し可能なレジスタであって、前記複数のメモリセルアレイのうち互いに隣接する任意の２つのメモリセルの間の１つのセンスアンプ列の位置を指定するロウアドレスを格納するレジスタを備える請求項９又は１０記載の半導体記憶装置。
【請求項１２】
前記各ビット線ごとに、少なくとも１つの属性を示す複数のビット値をそれぞれ含むレコードを、前記ビット線に沿って配列された複数のメモリセルに格納する請求項１〜１１のうちの１つに記載の半導体記憶装置。
【請求項１３】
前記制御回路は、複数のビット値を含む検索キーが入力されたとき、
前記検索キーのビット値「１」の位置に対応するメモリセルに格納されたビット値に対して論理積演算を行い、
前記検索キーのビット値「０」の位置に対応するメモリセルに格納されたビット値に対して論理和演算を行い、
これにより、前記半導体記憶装置に格納されたレコードから、前記検索キーに一致するレコードを検索する請求項１２記載の半導体記憶装置。
【請求項１４】
前記制御回路は、複数のビット値を含む検索キーが入力されたとき、前記検索キーと前記半導体記憶装置に格納されたレコードとの排他的論理和演算又は否定排他的論理和演算を行い、これにより、前記半導体記憶装置に格納されたレコードから、前記検索キーに一致するレコードを検索する請求項１２記載の半導体記憶装置。
【請求項１５】
前記制御回路は、複数のビット値を含む検索キーが入力されたとき、
前記半導体記憶装置に格納された第１のレコードから、前記検索キーに一致するレコードを検索し、
前記各ビット線ごとに、前記第１のレコードの各ビットと前記検索キーの各ビットとの一致又は不一致を示す複数のビット値を含む第２のレコードを生成し、
前記第２のレコードの各ビットをソートして、前記第１のレコードと前記検索キーの一致度を判定する請求項１２記載の半導体記憶装置。
【請求項１６】
互いに直交する複数のビット線及び複数のワード線に沿って配列された複数のメモリセルを含む少なくとも１つのメモリセルアレイを備える半導体記憶装置の製造方法において、
前記製造方法は、
前記複数のビット線を形成するステップと、
前記複数のワード線を形成するステップと、
前記複数のメモリセルを形成するステップと、
前記各ワード線の活性又は非活性の状態に応じて、前記各ワード線に沿って配列された各メモリセルを、前記各ビット線にそれぞれ接続又は切断する複数のスイッチング素子を形成するステップと、
前記複数のビット線にそれぞれ接続された複数のセンスアンプを形成するステップと、
前記各ワード線及び前記各センスアンプを活性化又は非活性化する制御回路を形成するステップとを含み、
前記各ビット線に沿って、前記複数のメモリセルのうちの第１〜第４のメモリセルを含む少なくとも４つずつのメモリセルが配列され、前記第１〜第４のメモリセルは、前記複数のワード線のうちの第１〜第４のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第１〜第４のスイッチング素子により１つのビット線にそれぞれ接続又は切断され、前記第１のメモリセルは第１のビット値を格納し、前記第２のメモリセルは第２のビット値を格納し、前記第３及び第４のメモリセルは第３のビット値をそれぞれ格納し、
前記制御回路は、前記第３及び第４のワード線を活性化した後に非活性化し、次いで、前記第１及び第２のワード線を活性化し、次いで、前記センスアンプを活性化することにより、前記第３のビット値によって指定される論理積演算又は論理和演算を前記第１及び第２のビット値に対して行う半導体記憶装置の製造方法。
【請求項１７】
前記半導体記憶装置の製造方法は、
互いに隣接する任意の２つのメモリセルの間に１つのセンスアンプ列が位置するように、複数のメモリセルアレイと、複数のセンスアンプを配列した少なくとも１つのセンスアンプ列とを形成するステップと、
前記各メモリセルアレイの少なくとも１つのワード線と、前記少なくとも１つのワード線に沿って配列された複数のメモリセル及び複数のスイッチング素子とをそれぞれ含む、前記各メモリセルアレイに少なくとも１つずつ設けられた冗長回路を形成するステップと、
前記複数のメモリセルアレイのうちの各１つのメモリセルアレイにおいて、当該１つのメモリセルアレイにおける故障を当該１つのメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイを演算回路として動作させるステップと、
前記複数のメモリセルアレイのうちの各１つのメモリセルアレイにおいて、当該１つのメモリセルアレイにおける故障を他のメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイの演算回路としての動作を中止するステップとを含む請求項１６記載の半導体記憶装置の製造方法。
【請求項１８】
請求項１〜１５のうちの１つに記載の半導体記憶装置を用いたデータ処理方法であって、前記各ビット線ごとに、少なくとも１つの属性を示す複数のビット値をそれぞれ含むレコードを、前記ビット線に沿って配列された複数のメモリセルに格納するステップを含むデータ処理方法。
【請求項１９】
複数のビット値を含む検索キーを受信するステップと、
前記検索キーのビット値「１」の位置に対応するメモリセルに格納されたビット値に対して論理積演算を行うステップと、
前記検索キーのビット値「０」の位置に対応するメモリセルに格納されたビット値に対して論理和演算を行うステップとを含む請求項１８記載のデータ処理方法。
【請求項２０】
複数のビット値を含む検索キーを受信するステップと、
前記検索キーと前記半導体記憶装置に格納されたレコードとの排他的論理和演算又は否定排他的論理和演算を行うステップとを含む請求項１８記載のデータ処理方法。
【請求項２１】
複数のビット値を含む検索キーを受信するステップと、
前記半導体記憶装置に格納された第１のレコードから、前記検索キーに一致するレコードを検索するステップと、
前記各ビット線ごとに、前記第１のレコードの各ビットと前記検索キーの各ビットとの一致又は不一致を示す複数のビット値を含む第２のレコードを生成するステップと、
前記第２のレコードの各ビットをソートして、前記第１のレコードと前記検索キーの一致度を判定するステップとを含む請求項１８記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、格納したデータに対して論理積（ＡＮＤ）演算及び論理和（ＯＲ）演算などを実行可能な半導体記憶装置に関する。本発明はまた、そのような半導体記憶装置の製造方法と、そのような半導体記憶装置を用いたデータ処理方法とに関する。
【背景技術】
【０００２】
近年、所謂ビッグデータと呼ばれる巨大かつ複雑なデータの処理に関心が高まってきている。ＤＲＡＭ等の記憶装置に格納されたデータは、ＣＰＵ等の演算処理装置に送られて処理された後、再び記憶装置に送られる。処理すべきデータ量が巨大になると、この記憶装置と演算処理装置との間でのデータの送受信にかかる時間が、そのシステムの処理能力を制限し、かつ、電力消費量を増大させる。【０００３】
このような問題を解決する手法として、非特許文献１のように、データのある所に対して可能な限り近い場所でデータを処理することで、そのデータの送受信の時間及び消費電力を低減するという考えが、複数の企業及び研究所から提唱されている。【０００４】
さらにこの考えを推し進めて、非特許文献２などでは、データを格納している記憶装置の内部でデータを処理すれば、そもそも、外部との送受信のために時間及び消費電力を取られる必要がないという考えも提唱されてきている。【０００５】
このとき、最も重要な考慮すべき点は、安価かつ大容量であるというＤＲＡＭ等の記憶装置の長所を損なうことなく、効果的な内部データ処理の手法を提供することである。【０００６】
特許文献１は、ロウ単位でデータをコピーすることを開示している。この手法は、非特許文献２における初期化（Initialization）及びゼロ化（to write zero）に対して非常に有効である。【０００７】
非特許文献３は、このロウ単位でのデータのコピーを応用して、大量のデータに対して論理積演算または論理和演算する例を示す。【０００８】
さらに、特許文献２〜４もまた、格納したデータに対して論理積演算及び論理和演算などを実行可能な半導体記憶装置を開示している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許第５４４０５１７号明細書
【特許文献２】特開平７−１９２４６０号公報
【特許文献３】特開２０００−０１１６９４号公報
【特許文献４】特開２０００−０３５８７８号公報
【非特許文献】
【００１０】
【非特許文献１】R. Balasubramonian et al, "Near-Data Processing : Insights from a MICRO-46 Workshop", IEEE Computer Society, IEEE Micro, Vol. 34, Issue 4, pp. 36-42, August 6, 2014
【非特許文献２】E. Shiu et al, "System Challenges and Hardware Requirements for Future Consumer Devices", 2015 Symposium on VLSI Technology Digest of Technical Papers, 1-3 (Invited), pp. T6-T10, June 16, 2015
【非特許文献３】V. Seshadri, et al, "Fast Bulk Bitwise AND and OR in DRAM", IEEE Computer Architecture Letters, Vol. 14, Issue 2, pp. 127-131, May 18, 2015
【発明の概要】
【発明が解決しようとする課題】
【００１１】
格納したデータに対して論理積演算及び論理和演算などを実行可能な従来の半導体記憶装置では、センスアンプに印加される差動電位差は、通常動作時にメモリセルが完全に充電されている場合より小さくなることがある。この電位差が小さくなると、ビットのエラーが生じるおそれがある。【００１２】
また、格納したデータに対して論理積演算及び論理和演算などを実行可能な従来の半導体記憶装置では、ワード線を活性化させる回路は通常のワード線デコード回路との親和性が良くない。【００１３】
また、例えば非特許文献３では、論理積演算及び論理和演算用の特殊なワード線デコーダ領域が設けられ、これはチップサイズの増大をもたらす。【００１４】
本発明の目的は、充分な差動電位差をセンスアンプに供給し、ＤＲＡＭのワード線デコーダの回路に対して高い親和性を有し、余分な回路を必要としない、格納したデータに対して論理積演算及び論理和演算などを実行可能な半導体記憶装置を提供することにある。【００１５】
本発明の目的はまた、そのような半導体記憶装置の製造方法と、そのような半導体記憶装置を用いたデータ処理方法とを提供することにある。
【課題を解決するための手段】
【００１６】
本発明の第１の態様に係る半導体記憶装置によれば、
互いに直交する複数のビット線及び複数のワード線に沿って配列された複数のメモリセルを含む少なくとも１つのメモリセルアレイを備える半導体記憶装置において、
前記半導体記憶装置は、
前記各ワード線の活性又は非活性の状態に応じて、前記各ワード線に沿って配列された各メモリセルを、前記各ビット線にそれぞれ接続又は切断する複数のスイッチング素子と、
前記複数のビット線にそれぞれ接続された複数のセンスアンプと、
前記各ワード線及び前記各センスアンプを活性化又は非活性化する制御回路とを備え、
前記各ビット線に沿って、前記複数のメモリセルのうちの第１〜第４のメモリセルを含む少なくとも４つずつのメモリセルが配列され、前記第１〜第４のメモリセルは、前記複数のワード線のうちの第１〜第４のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第１〜第４のスイッチング素子により１つのビット線にそれぞれ接続又は切断され、前記第１のメモリセルは第１のビット値を格納し、前記第２のメモリセルは第２のビット値を格納し、前記第３及び第４のメモリセルは第３のビット値をそれぞれ格納し、
前記制御回路は、前記第３及び第４のワード線を活性化した後に非活性化し、次いで、前記第１及び第２のワード線を活性化し、次いで、前記センスアンプを活性化することにより、前記第３のビット値によって指定される論理積演算又は論理和演算を前記第１及び第２のビット値に対して行う。【００１７】
本発明の第２の態様に係る半導体記憶装置によれば、
互いに直交する複数のビット線及び複数のワード線に沿って配列された複数のメモリセルを含む少なくとも１つのメモリセルアレイを備える半導体記憶装置において、
前記複数のビット線は複数の第１のビット線及び複数の第２のビット線を含み、
前記半導体記憶装置は、
前記各ワード線の活性又は非活性の状態に応じて、前記各ワード線に沿って配列された各メモリセルを、前記各ワード線に沿って設けられた各第１のビット線又は各第２のビット線にそれぞれ接続又は切断する複数のスイッチング素子と、
前記複数の第１のビット線のうちの１つずつ及び前記複数の第２のビット線のうちの１つずつにそれぞれ接続された複数のセンスアンプと、
前記各ワード線及び前記各センスアンプを活性化又は非活性化する制御回路とを備え、
前記各ビット線及び前記各逆ビット線に沿って、前記複数のメモリセルのうちの第１〜第３のメモリセルを含む少なくとも３つずつのメモリセルが配列され、前記第１及び第２のメモリセルは、前記複数のワード線のうちの第１及び第２のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第１及び第２のスイッチング素子により前記第１のビット線にそれぞれ接続又は切断され、前記第３のメモリセルは、前記複数のワード線のうちの第３のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第３のスイッチング素子により前記第２のビット線に接続又は切断され、前記第１のメモリセルは第１のビット値を格納し、前記第２のメモリセルは第２のビット値を格納し、前記第３のメモリセルは第３のビット値を格納し、
前記制御回路は、前記第１〜第３のワード線を活性化し、次いで、前記センスアンプを活性化することにより、前記第１〜第３のビット値のうちの１つによって指定される論理積演算又は論理和演算を前記第１〜第３のビット値のうちの残りの２つに対して行う。【００１８】
本発明の第３の態様に係る半導体記憶装置によれば、第１又は第２の態様に係る半導体記憶装置において、
前記制御回路は、
前記複数のワード線を個別に選択する複数ビットのロウアドレスを受信し、
前記ロウアドレスの少なくとも１つのビットを無視することにより、予め決められた複数のワード線を同時に活性化又は非活性化する。【００１９】
本発明の第４の態様に係る半導体記憶装置によれば、第１又は第２の態様に係る半導体記憶装置において、
前記制御回路は、複数のワード線が同時に活性化された状態にあるとき、前記センスアンプを活性化する前に、活性化されている前記複数のワード線のうちの少なくとも１つを非活性化する。【００２０】
本発明の第５の態様に係る半導体記憶装置によれば、第１〜第４の態様のうちの１つに係る半導体記憶装置において、
前記制御回路は、前記複数のワード線のうちの１つを活性化した後に前記センスアンプを活性化する第１のアクティブコマンドと、前記複数のワード線のうちの少なくとも２つを活性化した後に前記センスアンプを活性化する第２のアクティブコマンドとの両方に応じて動作する。【００２１】
本発明の第６の態様に係る半導体記憶装置によれば、第１〜第５の態様のうちの１つに係る半導体記憶装置において、
前記制御回路は、前記複数のワード線のうちの１つを活性化した後に自動的に前記センスアンプを活性化しない第３のアクティブコマンドと、前記複数のワード線のうちの少なくとも２つを活性化した後に自動的に前記センスアンプを活性化しない第４のアクティブコマンドとの両方に応じて動作する。【００２２】
本発明の第７の態様に係る半導体記憶装置によれば、第１〜第６の態様のうちの１つに係る半導体記憶装置において、
前記制御回路は、予め決められた個数の複数のビット線に沿って配列された複数のメモリセルに格納されたビット値に対して同時に演算を行う。【００２３】
本発明の第８の態様に係る半導体記憶装置によれば、第１〜第７の態様のうちの１つに係る半導体記憶装置において、
前記複数のビット線は、複数の第１のビット線及び複数の第２のビット線を含み、
前記複数のセンスアンプのうちの各１つのセンスアンプは、前記複数の第１のビット線のうちの１つ及び前記複数の第２のビット線のうちの１つにそれぞれ接続され、
前記制御回路は、前記センスアンプが第１のビット値を生成した後に前記センスアンプを非活性化し、次いで、前記第１及び第２のビット線を独立にプリチャージして前記第１及び第２のビット線の電位を変化させ、次いで、前記センスアンプを活性化して前記第１のビット値を反転したビット値を生成する。【００２４】
本発明の第９の態様に係る半導体記憶装置によれば、第１〜第８の態様のうちの１つに係る半導体記憶装置において、
前記半導体記憶装置は、
複数のメモリセルアレイと、
複数のセンスアンプを配列した少なくとも１つのセンスアンプ列とを備え、
前記複数のメモリセルアレイは、互いに隣接する任意の２つのメモリセルの間に１つのセンスアンプ列が位置するように配列され、
前記各メモリセルアレイの少なくとも１つのワード線と、前記少なくとも１つのワード線に沿って配列された複数のメモリセル及び複数のスイッチング素子とをそれぞれ含む、前記各メモリセルアレイに少なくとも１つずつ設けられた冗長回路とを備える。【００２５】
本発明の第１０の態様に係る半導体記憶装置によれば、第９の態様に係る半導体記憶装置において、
前記制御回路は、前記複数のメモリセルアレイのうちの各１つのメモリセルアレイにおいて、
当該１つのメモリセルアレイにおける故障を当該１つのメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイを演算回路として動作させ、
当該１つのメモリセルアレイにおける故障を他のメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイの演算回路としての動作を中止する。【００２６】
本発明の第１１の態様に係る半導体記憶装置によれば、第９又は第１０の態様に係る半導体記憶装置において、
前記半導体記憶装置の外部から読み出し可能なレジスタであって、前記複数のメモリセルアレイのうち互いに隣接する任意の２つのメモリセルの間の１つのセンスアンプ列の位置を指定するロウアドレスを格納するレジスタを備える。【００２７】
本発明の第１２の態様に係る半導体記憶装置によれば、第１〜第１１の態様のうちの１つに係る半導体記憶装置において、
前記各ビット線ごとに、少なくとも１つの属性を示す複数のビット値をそれぞれ含むレコードを、前記ビット線に沿って配列された複数のメモリセルに格納する。【００２８】
本発明の第１３の態様に係る半導体記憶装置によれば、第１２の態様に係る半導体記憶装置において  前記制御回路は、複数のビット値を含む検索キーが入力されたとき、
前記検索キーのビット値「１」の位置に対応するメモリセルに格納されたビット値に対して論理積演算を行い、
前記検索キーのビット値「０」の位置に対応するメモリセルに格納されたビット値に対して論理和演算を行い、
これにより、前記半導体記憶装置に格納されたレコードから、前記検索キーに一致するレコードを検索する。【００２９】
本発明の第１４の態様に係る半導体記憶装置によれば、第１２の態様に係る半導体記憶装置において、
前記制御回路は、複数のビット値を含む検索キーが入力されたとき、前記検索キーと前記半導体記憶装置に格納されたレコードとの排他的論理和演算又は否定排他的論理和演算を行い、これにより、前記半導体記憶装置に格納されたレコードから、前記検索キーに一致するレコードを検索する。【００３０】
本発明の第１５の態様に係る半導体記憶装置によれば、第１２の態様に係る半導体記憶装置において、
前記制御回路は、複数のビット値を含む検索キーが入力されたとき、
前記半導体記憶装置に格納された第１のレコードから、前記検索キーに一致するレコードを検索し、
前記各ビット線ごとに、前記第１のレコードの各ビットと前記検索キーの各ビットとの一致又は不一致を示す複数のビット値を含む第２のレコードを生成し、
前記第２のレコードの各ビットをソートして、前記第１のレコードと前記検索キーの一致度を判定する。【００３１】
本発明の第１６の態様に係る半導体記憶装置の製造方法によれば、
互いに直交する複数のビット線及び複数のワード線に沿って配列された複数のメモリセルを含む少なくとも１つのメモリセルアレイを備える半導体記憶装置の製造方法において、
前記製造方法は、
前記複数のビット線を形成するステップと、
前記複数のワード線を形成するステップと、
前記複数のメモリセルを形成するステップと、
前記各ワード線の活性又は非活性の状態に応じて、前記各ワード線に沿って配列された各メモリセルを、前記各ビット線にそれぞれ接続又は切断する複数のスイッチング素子を形成するステップと、
前記複数のビット線にそれぞれ接続された複数のセンスアンプを形成するステップと、
前記各ワード線及び前記各センスアンプを活性化又は非活性化する制御回路を形成するステップとを含み、
前記各ビット線に沿って、前記複数のメモリセルのうちの第１〜第４のメモリセルを含む少なくとも４つずつのメモリセルが配列され、前記第１〜第４のメモリセルは、前記複数のワード線のうちの第１〜第４のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第１〜第４のスイッチング素子により１つのビット線にそれぞれ接続又は切断され、前記第１のメモリセルは第１のビット値を格納し、前記第２のメモリセルは第２のビット値を格納し、前記第３及び第４のメモリセルは第３のビット値をそれぞれ格納し、
前記制御回路は、前記第３及び第４のワード線を活性化した後に非活性化し、次いで、前記第１及び第２のワード線を活性化し、次いで、前記センスアンプを活性化することにより、前記第３のビット値によって指定される論理積演算又は論理和演算を前記第１及び第２のビット値に対して行う。【００３２】
本発明の第１７の態様に係る半導体記憶装置の製造方法によれば、第１６の態様に係る半導体記憶装置の製造方法において、
前記半導体記憶装置の製造方法は、
互いに隣接する任意の２つのメモリセルの間に１つのセンスアンプ列が位置するように、複数のメモリセルアレイと、複数のセンスアンプを配列した少なくとも１つのセンスアンプ列とを形成するステップと、
前記各メモリセルアレイの少なくとも１つのワード線と、前記少なくとも１つのワード線に沿って配列された複数のメモリセル及び複数のスイッチング素子とをそれぞれ含む、前記各メモリセルアレイに少なくとも１つずつ設けられた冗長回路を形成するステップと、
前記複数のメモリセルアレイのうちの各１つのメモリセルアレイにおいて、当該１つのメモリセルアレイにおける故障を当該１つのメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイを演算回路として動作させるステップと、
前記複数のメモリセルアレイのうちの各１つのメモリセルアレイにおいて、当該１つのメモリセルアレイにおける故障を他のメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイの演算回路としての動作を中止するステップとを含む。【００３３】
本発明の第１８の態様に係るデータ処理方法によれば、
第１〜第１５の態様のうちの１つに係る半導体記憶装置を用いたデータ処理方法であって、前記各ビット線ごとに、少なくとも１つの属性を示す複数のビット値をそれぞれ含むレコードを、前記ビット線に沿って配列された複数のメモリセルに格納するステップを含む。【００３４】
本発明の第１９の態様に係るデータ処理方法によれば、第１８の態様に係るデータ処理方法において、
複数のビット値を含む検索キーを受信するステップと、
前記検索キーのビット値「１」の位置に対応するメモリセルに格納されたビット値に対して論理積演算を行うステップと、
前記検索キーのビット値「０」の位置に対応するメモリセルに格納されたビット値に対して論理和演算を行うステップとを含む。【００３５】
本発明の第２０の態様に係るデータ処理方法によれば、第１８の態様に係るデータ処理方法において、
複数のビット値を含む検索キーを受信するステップと、
前記検索キーと前記半導体記憶装置に格納されたレコードとの排他的論理和演算又は否定排他的論理和演算を行うステップとを含む。【００３６】
本発明の第２１の態様に係るデータ処理方法によれば、第１８の態様に係るデータ処理方法において、
複数のビット値を含む検索キーを受信するステップと、
前記半導体記憶装置に格納された第１のレコードから、前記検索キーに一致するレコードを検索するステップと、
前記各ビット線ごとに、前記第１のレコードの各ビットと前記検索キーの各ビットとの一致又は不一致を示す複数のビット値を含む第２のレコードを生成するステップと、
前記第２のレコードの各ビットをソートして、前記第１のレコードと前記検索キーの一致度を判定するステップとを含む。
【発明の効果】
【００３７】
本発明によれば、充分な差動電位差をセンスアンプに供給し、ＤＲＡＭのワード線デコーダの回路に対して高い親和性を有し、余分な回路を必要としない、格納したデータに対して論理積演算及び論理和演算などを実行可能な半導体記憶装置を提供することができる。【００３８】
また、本発明によれば、そのような半導体記憶装置の製造方法と、そのような半導体記憶装置を用いたデータ処理方法とを提供することができる。
【図面の簡単な説明】
【００３９】
【図１】実施形態１に係るＤＲＡＭチップ１を含むデータ処理装置の構成を示すブロック図である。
【図２】図１のメモリセルアレイ１０におけるロウアクセスを説明するための概略図である。
【図３】比較例に係るメモリセルアレイの１つのカラム回路を示す回路図である。
【図４】図１のメモリセルアレイ１０の１つのカラム回路を示す回路図である。
【図５】図１のメモリコントローラ２からＤＲＡＭチップ１に発行されるコマンドを示す表である。
【図６】図４のカラム回路の動作を示すタイミングチャートである。
【図７】実施形態２に係るＤＲＡＭチップのワード線デコード回路１７を示す回路図である。
【図８】比較例に係るＤＲＡＭチップのワード線デコード回路１７Ａを示す回路図である。
【図９】実施形態３に係るＤＲＡＭチップにおけるメモリセルアレイのカラム回路の動作を示すタイミングチャートである。
【図１０】実施形態４及び５に係るＤＲＡＭチップにおけるメモリセルアレイの１つのカラム回路を示す回路図である。
【図１１】図１０のカラム回路の動作を示すタイミングチャートである。
【図１２】実施形態６〜８に係るＤＲＡＭチップのセンスアンプ１４を示す回路図である。
【図１３】実施形態６に係るセンスアンプ１４の動作を示すシーケンス図である。
【図１４】実施形態７に係るセンスアンプ１４の動作を示すシーケンス図である。
【図１５】実施形態８に係るセンスアンプ１４の動作を示すシーケンス図である。
【図１６】実施形態９及び１０に係るＤＲＡＭチップの複数のメモリセルアレイ１０−１〜１０−４の構成を示す概略図である。
【図１７】ＬＰＤＤＲ４のコマンドの一部を示す表である。
【図１８】実施形態１１に係るＤＲＡＭチップに発行されるコマンドを示す表である。
【図１９】実施形態１２に係るＤＲＡＭチップに発行されるコマンドを示す表である。
【図２０】実施形態１３に係るＤＲＡＭチップに発行されるコマンドを示す表である。
【図２１】実施形態１４に係るＤＲＡＭチップの複数のメモリセルアレイ１０−１〜１０−４の構成を示す概略図である。
【図２２Ａ】実施形態１４に係るＤＲＡＭチップによって使用されるモードレジスタの第１の部分を示す表である。
【図２２Ｂ】実施形態１４に係るＤＲＡＭチップによって使用されるモードレジスタの第２の部分を示す表である。
【図２３】実施形態１５に係るＤＲＡＭチップのメモリセルアレイに格納されるレコードの例を示す図である。
【図２４】実施形態１５に係るＤＲＡＭチップのメモリセルアレイの構成を示す回路図である。
【図２５】図２３のメモリセルアレイに格納されたレコードの検索を説明する図である。
【図２６】図２３のメモリセルアレイに格納されたレコードの検索及びソートを説明する図である。
【図２７】実施形態１６に係るＤＲＡＭチップのメモリセルアレイに格納されたレコードの検索を説明する図である。
【図２８】図２７のメモリセルアレイに格納されたレコードと検索キーとの排他的論理和演算の結果を示す図である。
【図２９】実施形態１７に係るＤＲＡＭチップのメモリセルアレイに格納されたレコードと検索キーとの一致及び不一致を判定した結果を示す図である。
【図３０】実施形態１７に係るＤＲＡＭチップのメモリセルアレイに格納されたレコードと検索キーとの一致度を判定する処理の初期状態を示す図である。
【図３１】実施形態１７に係るＤＲＡＭチップのメモリセルアレイに格納されたレコードと検索キーとの一致度を判定した結果を示す図である。
【図３２】実施形態１７に係るＤＲＡＭチップのメモリセルアレイに格納されたレコードと検索キーとの一致及び不一致を判定する処理を示すフローチャートである。
【発明を実施するための形態】
【００４０】
以下、図面を参照して、本発明の実施形態について説明する。
【００４１】
［実施形態１]
図１は、実施形態１に係るＤＲＡＭチップ１を含むデータ処理装置の構成を示すブロック図である。図１のデータ処理装置は、ＤＲＡＭチップ１、メモリコントローラ２、及びプロセッサ３を備える。
【００４２】
ＤＲＡＭチップ１は、メモリセルアレイ１０、コマンド入力回路２１、メモリセルアレイ制御回路２２、データ入出力回路２３、内部データバス２４、データ処理回路２５、及び内部データバス２６を備える。
【００４３】
メモリセルアレイ１０は、複数のメモリセル１１、複数のビット線１３、センスアンプ列１４Ａ、複数のワード線１５、複数のカラム選択線１６、ワード線デコード回路１７、及びカラム選択線デコード回路１８を備える。複数のメモリセル１１は、互いに直交する複数のビット線１３及び複数のワード線１５に沿って配列される。各ワード線１５に沿って配列された各メモリセル１１は、後述するように、ワード線１５の活性又は非活性の状態に応じて動作するスイッチング素子によって、各ビット線１３にそれぞれ接続又は切断される。センスアンプ列１４Ａは、複数のビット線１３にそれぞれ接続された複数のセンスアンプを含む。複数のカラム選択線１６は、センスアンプ列１４Ａの複数のセンスアンプのうちの１つを選択する。ワード線デコード回路１７は、メモリセルアレイ制御回路２２から送られるアドレスをワード線の位置にデコードして、複数のワード線１５のうちの１つ又は複数を選択する。カラム選択線デコード回路１８は、メモリセルアレイ制御回路２２から送られるアドレスをカラム選択線の位置にデコードして、複数のカラム選択線１６のうちの１つ又は複数を選択する。
【００４４】
図１では、図示の簡単化のために、１つのメモリセル１１、１つのビット線１３、１つのワード線１５、及び１つのカラム選択線１６のみを示す。
【００４５】
コマンド入力回路２１は、メモリコントローラ２からコマンドＣＭＤ、アドレスＡＤＤ、及びクロックＣＬＫを受信して、これらをメモリセルアレイ制御回路２２に送り、また、クロックＣＬＫをデータ処理回路２５に送る。
【００４６】
メモリセルアレイ制御回路２２は、コマンド入力回路２１からコマンドＣＭＤ、アドレスＡＤＤ、及びクロックＣＬＫを受信して、センスアンプ列１４Ａ、ワード線デコード回路１７、及びカラム選択線デコード回路１８のための制御信号ＣＮＴ＿ＳＡ、ＣＮＴ＿Ｒ、及びＣＮＴ＿Ｃを生成する。センスアンプ列１４Ａのためのセンスアンプ制御信号ＣＮＴ＿ＳＡは、センスアンプ列１４Ａの各センスアンプのアドレス（又は、各ビット線１３のアドレス）を含み、センスアンプ列１４Ａの各センスアンプを活性化又は非活性化する。ワード線デコード回路１７のためのロウ制御信号ＣＮＴ＿Ｒは、各ワード線１５のアドレスを含み、各ワード線１５を活性化又は非活性化する。カラム選択線デコード回路１８のためのカラム制御信号ＣＮＴ＿Ｃは、各カラム選択線１６のアドレスを含み、各カラム選択線１６を活性化又は非活性化する。このように、メモリセルアレイ制御回路２２は、センスアンプ列１４Ａの各センスアンプ、各ワード線１５、及び各カラム選択線１６を活性化又は非活性化する制御回路である。
【００４７】
データ入出力回路２３は、メモリコントローラ２との間でデータ信号ＤＡＴＡを送受信し、さらに、内部データバス２４、データ処理回路２５、及び内部データバス２６を介して、センスアンプ列１４Ａの各センスアンプとの間でデータ信号を送受信する。
【００４８】
メモリコントローラ２は、プロセッサ３の制御下で、ＤＲＡＭチップ１にコマンドＣＭＤ、アドレスＡＤＤ、及びクロックＣＬＫを送信し、ＤＲＡＭチップ１との間でデータ信号ＤＡＴＡを送受信する。
【００４９】
実施形態１のＤＲＡＭチップ１の特徴について説明する前に、図１〜図３を参照して、ＤＲＡＭチップ１の動作の概要について説明する。
【００５０】
図２は、図１のメモリセルアレイ１０におけるロウアクセスを説明するための概略図である。図２は、図１のメモリセルアレイ１０のうち、１つのワード線１５に沿って配列された複数のメモリセル１１に関連する部分を示す。各メモリセル１１は電荷を蓄える容量素子である。各メモリセル１１の一端は、セルプレート１９にそれぞれ接続され、各メモリセル１１の他端は、スイッチング素子１２を介してビット線１３ａ又は逆ビット線１３ｂに接続される。セルプレート１９は、接地電位又は他の電位であるセルプレート電位Ｖｃｐの電圧源に接続される。ビット線１３ａはセンスアンプ列１４Ａ−２の複数のセンスアンプ１４のうちの１つに接続され、逆ビット線１３ｂはセンスアンプ列１４Ａ−１の複数のセンスアンプ１４のうちの１つに接続される。各スイッチング素子１２は例えばトランジスタである。各スイッチング素子１２は、ワード線１５の活性又は非活性の状態に応じて、各ワード線１５に沿って配列された各メモリセル１１を、各ビット線１３ａ又は逆ビット線１３ｂにそれぞれ接続又は切断する。言い換えると、各スイッチング素子１２は、１つのワード線１５に沿って配列された複数のメモリセル１１を選択する。
【００５１】
図１及び図２を参照すると、データを格納するメモリセル１１は、ロウアクセスによりワード線１５が活性化されることでビット線１３に接続され、メモリセル１１の少量の電荷はセンスアンプ１４に至り、論理的な「１」もしくは「０」に増幅される。その後、カラムアクセスによりカラム選択線１６が活性化されることで、ロウアクセスで活性化されたデータを蓄えるセンスアンプ１４の一部が選択され、データ入出力回路２３を介してデータ信号ＤＡＴＡとして外部へ読み出すことが可能となる。また逆に、外部からデータ信号ＤＡＴＡが入力されたとき、カラム選択線１６で指定されたセンスアンプ１４にデータを書き込み、次いで、センスアンプ１４のデータは、活性化されたワード線１５に対応するメモリセル１１へビット線１３を介して格納される。
【００５２】
ロウアクセス時にビット線１３を介してメモリセル１１と接続されるセンスアンプ１４の個数は、ページと呼ばれるカラムアクセスにより選択可能な範囲を充分に大きくするために、非常に大きな値に設定される。例として、ＪＥＤＥＣにおいて標準化されている１Ｇｂ、ｘ１６のＤＤＲ３−ＳＤＲＡＭの場合には、１回のロウアクセスによって、カラムアドレスの０〜９ビットを用いて選択されるデータを１６個のピンに対して入出力する。従って、センスアンプ１４において、２１０×１６＝１６キロビットものメモリセル１１のデータが活性化される。図２を参照すると、１つのワード線１５によって選択されるメモリセル１１とその論理値を格納するセンスアンプ１４との合計数は、数キロビットから十数キロビットに達する。一方で、同じＤＤＲ３−ＳＤＲＡＭにおいてカラムアクセスを行う場合、カラムデータは、８ビットを先取り（プリフェッチ）して１６個のピンに対して入出力する。従って、１回のカラム活性によってアクセスさせるデータ量は、８×１６＝１２８ビットに留まる。したがって、ＤＲＡＭにおいては、ロウアクセスによってセンスアンプ１４上に現れるデータを単位として処理することが非常に効果的であると言える。
【００５３】
図３は、比較例に係るメモリセルアレイの１つのカラム回路を示す回路図である。図３は、メモリセルアレイのうち、１つのビット線１３に沿って配列された複数のメモリセルに関連する部分を示す。図３のメモリセルアレイは、３つのメモリセル１１−１〜１１−３、３つのスイッチング素子１２−１〜１２−３、ビット線１３ａ、逆ビット線１３ｂ、センスアンプ１４、及び３つのワード線１５−１〜１５−３を備える。
【００５４】
センスアンプ１４は、ビット線１３ａ及び逆ビット線１３ｂの両方に接続される。本明細書では、ビット線１３ａを「第１のビット線」ともいい、逆ビット線１３ｂを「第２のビット線」ともいう。
【００５５】
ここで、図３を参照して、１つのビット線１３ａに接続される３つのメモリセル１１−１〜１１−３に対応する３つのワード線１５−１〜１５−３を同時に活性化することで、ロウ活性を単位とする所定量のデータに対して論理積演算又は論理和演算を行う方法を説明する。
【００５６】
例として、メモリセル１１−１，１１−２に格納されたビット値の論理和演算を行う。ワード線１５−１〜１５−３の活性前の状態で、メモリセル１１−１の電圧は「０」であり、メモリセル１１−２の電圧は「Ｖ」であり、論理積演算又は論理和演算を指定するメモリセル１１−３の電圧は「Ｖ」であるとする。本明細書では、電圧「０」はビット値「０」を示し、電圧「Ｖ」はビット値「１」を示す。このとき、ビット線１３ａ及び逆ビット線１３ｂはそれぞれ電圧「Ｖ／２」にプリチャージされている。その後、ワード線１５−１〜１５−３を活性化する。ここで、各ビット線１３ａ，１３ｂの容量をＣｂとし、各メモリセル１１−１〜１１−３の容量をＣｓとし、Ｃｂ＝２Ｃｓと仮定する。この場合、電荷の再分配後に、ビット線１３ａの電圧は「３Ｖ／５」になり、逆ビット線１３ｂの電圧は「Ｖ／２」で不変であるので、センスアンプ１４に供給される差動電位差は「３Ｖ／５−Ｖ／２＝Ｖ／１０」となる。この差動電位差をセンスアンプ１４が増幅し、ビット線１３ａを電圧「Ｖ」とし、逆ビット線１３ｂを電圧「０」とする。これにより、「メモリセル１１−１のビット値」ＯＲ「メモリセル１１−２のビット値」＝「０」ＯＲ「１」＝「１」の演算が実行される。
【００５７】
通常のＤＲＡＭの動作では、１つのワード線のみを活性化するので、図３において同様にＣｂ＝２Ｃｓと仮定してワード線１５−１のみを活性化した場合を考えると、電荷を再分配した後には差動電位差は「Ｖ／６」となる。論理積演算又は論理和演算を行うために３つのワード線１５−１〜１５−３を同時に活性化する構成では、センスアンプ１４に対する差動電位差が、通常動作時にメモリセルが完全に充電されている場合より小さいことがわかる。その理由は、３つのワード線１５−１〜１５−３を活性化させる回路では、１つのワード線のみを活性化する回路と比較して、電荷を再分配する対象となるメモリセルの容量が大きいからである。
【００５８】
次に、図４〜図６を参照して、図１のＤＲＡＭチップ１の特徴について説明する。
【００５９】
図４は、図１のメモリセルアレイ１０の１つのカラム回路を示す回路図である。図４は、図１のメモリセルアレイ１０のうち、１つのビット線１３に沿って配列された複数のメモリセルに関連する部分を示す。図４のメモリセルアレイは、４つのメモリセル１１−１〜１１−４、４つのスイッチング素子１２−１〜１２−４、ビット線１３ａ、逆ビット線１３ｂ、センスアンプ１４、及び４つのワード線１５−１〜１５−４を備える。
【００６０】
図１のメモリセルアレイ１０は、格納したデータに対して論理積演算及び論理和演算などを実行可能である。図４を参照すると、ビット線１３ａに沿って、第１〜第４のメモリセル１１−１〜１１−４を含む、少なくとも４つのメモリセルが配列される。第１〜第４のメモリセル１１−１〜１１−４は、第１〜第４のワード線１５−１〜１５−４の活性又は非活性の状態に応じて、第１〜第４のスイッチング素子１２−１〜１２−４によりビット線１３にそれぞれ接続又は切断される。第１のメモリセル１１−１は第１のビット値を格納し、第２のメモリセル１１−２は第２のビット値を格納し、第３及び第４のメモリセル１１−３，１１−４は第３のビット値をそれぞれ格納する。第１及び第２のビット値は、論理積演算又は論理和演算されるデータであり、第３のビット値は、実行すべき演算（論理積演算又は論理和演算）を指定する。
【００６１】
まず、メモリセルアレイ制御回路２２は、ワード線１５−３，１５−４を活性化して、その後、非活性化する。次いで、メモリセルアレイ制御回路２２は、ワード線１５−１，１５−２を活性化し、続けて、センスアンプ１４を活性化することで演算を実行する。次いで、メモリセルアレイ制御回路２２は、ワード線１５−１，１５−２を非活性化して演算結果を格納する。
【００６２】
例として、メモリセル１１−３，１１−４が電圧「Ｖ」を格納することで論理和演算を指定し、演算対象のビット値を格納するメモリセル１１−１，１１−２のうち、メモリセル１１−１が電圧「０」を格納し、メモリセル１１−２が電圧「Ｖ」を格納しているとする。図３の場合と同様に、各ビット線１３ａ，１３ｂの容量をＣｂとし、各メモリセル１１−１〜１１−４の容量をＣｓとし、Ｃｂ＝２Ｃｓと仮定する。まず、メモリセルアレイ制御回路２２は、ワード線１５−３，１５−４を活性化して電荷を再分配し、その後、ワード線１５−３，１５−４を非活性化する。その後、メモリセルアレイ制御回路２２は、ワード線１５−１，１５−２を活性化して再び電荷を再分配する。このとき、センスアンプ１４に供給される差動電位差は「Ｖ／８」となり、図３の比較例と比べてより大きな電位差を生み出すことがわかる。センスアンプ１４はこの電位差を増幅し、メモリセル１１−１，１１−２の論理和演算の結果を得る。
【００６３】
また、メモリセル１１−３，１１−４が電圧「０」を格納することで論理積演算を指定し、メモリセル１１−１が電圧「０」を格納し、メモリセル１１−２が電圧「Ｖ」を格納している場合には、センスアンプ１４の差動電位差は「−Ｖ／８」となる。センスアンプ１４はこの電位差を増幅し、メモリセル１１−１，１１−２の論理積演算の結果を得る。
【００６４】
メモリセルアレイ１０の他の各カラム回路もまた、図４のカラム回路と同様に構成される。ワード線１５の活性又は非活性の状態に応じて、ワード線１５に沿って配列された各メモリセル１１は、各ビット線１３ａにそれぞれ接続又は切断される。メモリセルアレイ制御回路２２は、予め決められた個数の複数のビット線に沿って配列された複数のメモリセル１１に格納されたビット値に対して同時に演算を行う。これにより、図１のＤＲＡＭチップ１は、ロウアクセスされる単位で論理和演算及び論理積演算を行うことができる。
【００６５】
図５は、図１のメモリコントローラ２からＤＲＡＭチップ１に発行されるコマンドを示す表である。コマンドＡＣＴは、複数のワード線１５のうちの１つを活性化した後にセンスアンプ１４を活性化する第１のアクティブコマンドである。コマンドＡＣＴは、ＪＥＤＥＣによって規定されるＤＲＡＭに対するアクティブコマンドである。コマンドＡＣＴ２は、複数のワード線１５のうちの２つを活性化した後にセンスアンプ１４を活性化する第２のアクティブコマンドである。コマンドＷＬＡは、複数のワード線１５のうちの１つを活性化した後に自動的にセンスアンプ１４を活性化しない第３のアクティブコマンドである。コマンドＷＬＡ２は、複数のワード線１５のうちの２つを活性化した後に自動的にセンスアンプ１４を活性化しない第４のアクティブコマンドである。コマンドＰＣＧ及びＷＬＰは、ＪＥＤＥＣによって規定されるＤＲＡＭに対するプリチャージコマンドである。
【００６６】
メモリセルアレイ制御回路２２は、例えば、コマンドＡＣＴ及びＡＣＴ２の両方に応じて動作してもよい。メモリセルアレイ制御回路２２は、例えば、コマンドＷＬＡ及びＷＬＡ２の両方に応じて動作してもよい。
【００６７】
図６は、図４のカラム回路の動作を示すタイミングチャートである。図６の動作では、図５のコマンドＷＬＡ２、ＡＣＴ２、及びＰＣＧが使用されている。まず、コマンドＷＬＡ２によって、論理積演算又は論理和演算を指定するビット値を格納しているメモリセル１１−３，１１−４に対応する２つのワード線１５−３，１５−４を活性化する。次いで、コマンドＡＣＴ２によって、先に活性化されていた２つのワード線１５−３，１５−４を非活性化しながら、演算対象のビット値を格納しているメモリセル１１−１，１１−２に対応する他の２つのワード線１５−１，１５−２を活性化し、その後、センスアンプ１４を活性化する。このように、コマンドＷＬＡ２及びＡＣＴ２に応じて論理積演算又は論理和演算を実行し、コマンドＰＣＧでロウアクセスを完了する。
【００６８】
ワード線デコード回路が実施形態２の構成（図７）になっている場合には、先に活性化された２つのワード線１５は、後から活性化される２つのワード線１５の活性化と同時に非活性化される。
【００６９】
以上に説明したように、実施形態１に係るＤＲＡＭチップ１によれば、充分な差動電位差をセンスアンプ１４に供給し、ＤＲＡＭチップ１のワード線デコード回路１７に対して高い親和性を有し、余分な回路を必要とせず、格納したデータに対して論理積演算及び論理和演算などを実行することができる。
【００７０】
［実施形態２］
図７は、実施形態２に係るＤＲＡＭチップのワード線デコード回路１７を示す回路図である。図７は、２つのワード線を同時に活性化及び非活性化する機能を持ったワード線デコード回路１７の一部を示す。実施形態２に係るＤＲＡＭチップは、ワード線デコード回路１７を除いて、実施形態１に係るＤＲＡＭチップ１と同様に構成される。
【００７１】
メモリセルアレイ制御回路２２は、コマンド入力回路２１から、複数のワード線を個別に選択する複数ビットのロウアドレスを受信し、ワード線デコード回路１７に送る。
【００７２】
実施形態１では、論理積演算又は論理和演算を行うために、複数のワード線のうちの２つを同時に活性化及び非活性化した。一般に、２つのワード線をアドレス指定するためには、１つのワード線のみをアドレス指定する場合よりもアドレスのデータ量が増大する。実施形態２では、従来のワード線デコード回路から大幅に変更することなく、従来よりも少ないデータ量で複数のワード線をアドレス指定することができるワード線デコード回路１７の回路について説明する。
【００７３】
図７のワード線デコード回路１７は、８個のワード線１５−１〜１５−８に接続される。これらのワード線１５−１〜１５−８は、３ビットのロウアドレスによってアドレス指定される。
【００７４】
図８は、比較例に係るＤＲＡＭチップのワード線デコード回路１７Ａを示す回路図である。図８は、２つのワード線を同時に活性化及び非活性化する機能を持たないワード線デコード回路１７Ａの一部を示す。図７及び図８を比較すると、図７のワード線デコード回路１７は、ロウアドレスの最下位ビット＜０＞と、追加の通常動作ビットとの論理積演算を行うことを特徴とする。
【００７５】
図７のワード線デコード回路１７は、「通常動作ビット＝１」のとき、図８のワード線デコード回路１７Ａと同様に、３ビットのロウアドレスで８つのワード線１５−１〜１５−８を排他的に選択することができる。一方で、図７のワード線デコード回路１７では、「通常動作ビット＝０」の場合、ロウアドレスの最下位ビット＜０＞は無視され、２つのワード線が同時に活性化される。
【００７６】
図７及び図８を比較すると、ロウアドレスの１つのビットを無視することで、２つのワード線を同時に活性化することを、回路を大幅に変更することなく容易に実現可能であることがわかる。
【００７７】
図７のワード線デコード回路１７は、図３のように３つのワード線（すなわち、２のべき乗とは異なる個数のワード線）を同時に活性化する回路に比較して、一般的なＤＲＡＭのワード線デコード回路に容易に付加することができる。また、特殊なデコード回路を含むメモリセル領域を持つ必要がないので、チップサイズの増加も抑制可能である。
【００７８】
実施形態２では、無視されるロウアドレスのビットは、最下位ビットに限らず、他のビットであってもよい。
【００７９】
また、実施形態２では、ロウアドレスの複数ビットを無視してもよい。この場合、２のべき乗個のワード線を同時に活性化及び非活性化することができる。このため、図５のコマンドＡＣＴ２に代えて、複数のワード線１５のうちの２のべき乗個を活性化した後にセンスアンプ１４を活性化するアクティブコマンドを用いてもよく、図５のコマンドＷＬＡ２に代えて、複数のワード線１５のうちの２のべき乗個を活性化した後に自動的にセンスアンプ１４を活性化しないアクティブコマンドを用いてもよい。
【００８０】
また、実施形態２では、ワード線デコード回路に代えて、メモリセルアレイ制御回路がロウアドレスの少なくとも１つのビットを無視してもよい。メモリセルアレイ制御回路又はワード線デコード回路が、ロウアドレスの少なくとも１つのビットを無視することにより、予め決められた複数のワード線を同時に活性化又は非活性化することができる。
【００８１】
［実施形態３］
図９は、実施形態３に係るＤＲＡＭチップにおけるメモリセルアレイのカラム回路の動作を示すタイミングチャートである。実施形態３に係るＤＲＡＭチップは、実施形態１に係るＤＲＡＭチップ１と同様に構成される。
【００８２】
図４及び図９を参照すると、コマンドＡＣＴ２に応じて、２つのワード線１５−１，１５−２を活性化して二度目の電荷の再分配を行った後、センスアンプ１４を活性化する前に、活性化された２つのワード線１５−１，１５−２のうちの一方を非活性化する。その後、センスアンプ１４を活性化することで演算を実行し、演算結果は、非活性化されなかったワード線に対応するメモリセル１１に格納される。センスアンプ１４を活性化する前に２つのワード線１５−１，１５−２のうちの一方を非活性化することにより、ビット線１３ａ及び逆ビット線１３ｂの容量の不均衡を縮小することができる。
【００８３】
２つより多くのワード線を同時に活性化する場合も、図９に示す動作と同様である。メモリセルアレイ制御回路２２は、複数のワード線が同時に活性化された状態にあるとき、センスアンプを活性化する前に、活性化されている複数のワード線のうちの少なくとも１つを非活性化する。これにより、上述のように、ビット線１３ａ及び逆ビット線１３ｂの容量の不均衡を縮小することができる。
【００８４】
［実施形態４］
図１０は、実施形態４及び５に係るＤＲＡＭチップにおけるメモリセルアレイの１つのカラム回路を示す回路図である。実施形態４に係るＤＲＡＭチップは、メモリセルアレイを除いて、実施形態１に係るＤＲＡＭチップ１と同様に構成される。図１０は、メモリセルアレイのうち、１つの共通のセンスアンプ１４に接続されたビット線１３ａ及び逆ビット線１３ｂに沿って配列された複数のメモリセルに関連する部分を示す。
【００８５】
図１０のメモリセルアレイは、３つのメモリセル１１−１〜１１−３、３つのスイッチング素子１２−１〜１２−３、ビット線１３ａ、逆ビット線１３ｂ、センスアンプ１４、及び３つのワード線１５−１〜１５−３を備える。
【００８６】
図１０のメモリセルアレイは、図４のメモリセルアレイ１０と同様に、格納したデータに対して論理積演算及び論理和演算などを実行可能である。図１０を参照すると、１つの共通のセンスアンプ１４に接続されたビット線１３ａ及び逆ビット線１３ｂに沿って、第１〜第３のメモリセル１１−１〜１１−３を含む少なくとも３つのメモリセルが配列される。第１及び第２のメモリセル１１−１，１１−２は、第１及び第２のワード線１５−１，１５−２の活性又は非活性の状態に応じて、第１及び第２のスイッチング素子１２−１，１２−２によりビット線１３ａにそれぞれ接続又は切断される。第３のメモリセル１１−３は、第３のワード線１５−３の活性又は非活性の状態に応じて、第３のスイッチング素子１２−３により逆ビット線１３ｂに接続又は切断される。第１のメモリセル１１−１は第１のビット値を格納し、第２のメモリセル１１−２は第２のビット値を格納し、第３のメモリセル１１−３は第３のビット値を格納する。第１〜第３のビット値のうちの任意の２つが、論理積演算又は論理和演算されるデータであり、第１〜第３のビット値のうちの残りの１つが実行すべき演算（論理積演算又は論理和演算）を指定する。
【００８７】
メモリセルアレイ制御回路２２は、ワード線１５−１〜１５−３を活性化し、次いで、センスアンプ１４を活性化することにより、第１〜第３のビット値のうちの１つによって指定される論理積演算又は論理和演算を第１〜第３のビット値のうちの残りの２つに対して行う。
【００８８】
例として、メモリセル１１−３が電圧「Ｖ」を格納することで論理積演算を指定し、演算対象のビット値を格納するメモリセル１１−１，１１−２が電圧「Ｖ」を格納しているとする。図３の場合と同様に、各ビット線１３ａ，１３ｂの容量をＣｂとし、各メモリセル１１−１〜１１−３の容量をＣｓとし、Ｃｂ＝２Ｃｓと仮定する。まず、メモリセルアレイ制御回路２２は、ワード線１５−１を活性化し、電荷の再分配後に、ワード線１５−１を非活性化する。その後、メモリセルアレイ制御回路２２は、ワード線１５−２を活性化する。ワード線１５−３は任意の時点で活性化してもよい。ワード線１５−２，１５−３が活性化して再び電荷が再分配されると、センスアンプ１４に供給される差動電位差は「Ｖ／９」となり、図３の比較例と比べて大きな電位差となる。センスアンプ１４はこの電位差を増幅して、メモリセル１１−１，１１−２の論理積演算の結果を得る。
【００８９】
センスアンプ１４の差動電位差は、図３の比較例の場合より大きいながら、図４の場合に比較して僅かながら小さくなる。
【００９０】
図１１は、図１０のカラム回路の動作を示すタイミングチャートである。図１１の動作では、図５のコマンドＷＬＡ、ＡＣＴ、及びＰＣＧが使用されている。まず、コマンドＷＬＡによって、ワード線１５−１，１５−２を活性化する。コマンドＡＣＴによってワード線１５−３を活性化した後に、センスアンプ１４を活性化して論理和演算又は論理積演算を行う。最終的に、コマンドＰＣＧでロウアクセスを完了する。
【００９１】
メモリセル１１−３が電圧「０」を格納することで論理和演算を行う場合も、論理積演算を行う場合と同様に動作する。
【００９２】
ビット線１３ａ及び逆ビット線１３ｂの一方には、１つのみのワード線が設けられるので、この部分では、図７のワード線デコード回路１７ではなく、より簡単な構成を有する図８のワード線デコード回路１７Ａを使用可能である。
【００９３】
このように、図１０のメモリセルアレイでは、同一のビット線１３ａに接続された２つのメモリセル１１−１，１１−２と、ビット線１３ａとセンスアンプ１４を共有する逆ビット線１３ｂに接続された１つのメモリセル１１−３とを用いて、論理積演算又は論理和演算を行う。ビット線１３ａに１つのメモリセルを設け、逆ビット線１ｂに２つのメモリセルを設けても、図１０の場合と同様に動作する。
【００９４】
［実施形態５］
実施形態４において、３つのワード線は１つずつ、活性化、電荷再分配、及び非活性化を行い、３つ目のワード線の電荷再分配が終了した後に、センスアンプ１４は電荷を増幅し、そのワード線に対応するメモリセルに演算結果を格納してもよい。これにより、１つのカラム回路においてある時点で活性化されているワード線は常に１つのみとなり、図８のワード線デコード回路１７Ａを使用可能である。図７のワード線デコード回路１７を使用していても、通常動作ビットを「１」のままにすることができる。先に活性化されたワード線は、後から活性化されるワード線の活性化と同時に非活性化される。同時に非活性化されない場合は、コマンドＷＰＬによって非活性化されてもよい。
【００９５】
このように、メモリセルアレイ制御回路２２は、複数のワード線が同時に活性化された状態にあるとき、センスアンプ１４を活性化する前に、活性化されている複数のワード線のうちの少なくとも１つを非活性化する。これにより、実施形態３と同様に、ビット線１３ａ及び逆ビット線１３ｂの容量の不均衡を縮小することができる。
【００９６】
［実施形態６］
図１２は、実施形態６〜８に係るＤＲＡＭチップのセンスアンプ１４を示す回路図である。実施形態６では、格納したデータに対して否定演算（ＮＯＴ）を実行可能なセンスアンプ１４について説明する。実施形態６に係るＤＲＡＭチップは、センスアンプ１４を除いて、実施形態１に係るＤＲＡＭチップ１と同様に構成される。
【００９７】
図１２のセンスアンプ１４は、ビット線１３ａ及び逆ビット線１３ｂの両方に接続される。ビット線１３ａは、ビット線プリチャージ回路３１を介して、ビット線プリチャージ電圧Ｖｐｃｇの電圧源に接続される。逆ビット線１３ｂは、逆ビット線プリチャージ回路３２を介して、ビット線プリチャージ電圧Ｖｐｃｇの電圧源に接続される。センスアンプ１４は、ビット線１３ａ及び逆ビット線１３ｂの間に接続されたビット線イコライズ回路３３を備える。ビット線プリチャージ回路３１、逆ビット線プリチャージ回路３２、及びビット線イコライズ回路３３はそれぞれ、例えばトランジスタなどのスイッチング素子である。ビット線プリチャージ回路３１、逆ビット線プリチャージ回路３２、及びビット線イコライズ回路３３は、図１のメモリセルアレイ制御回路２２の制御下で動作する。
【００９８】
メモリセルアレイ制御回路２２は、センスアンプ１４が第１のビット値を生成した後にセンスアンプ１４を非活性化する。次いで、メモリセルアレイ制御回路２２は、ビット線１３ａ及び逆ビット線１３ｂを独立にプリチャージしてビット線１３ａ及び逆ビット線１３ｂの電位を変化させる。次いで、メモリセルアレイ制御回路２２は、センスアンプ１４を活性化して第１のビット値を反転したビット値を生成する。
【００９９】
図１３は、実施形態６に係るセンスアンプ１４の動作を示すシーケンス図である。ビット線プリチャージ回路３１、逆ビット線プリチャージ回路３２、及びビット線イコライズ回路３３が非活性化され、センスアンプ１４が活性化された状態で、ビット線１３ａに電圧「Ｖ」が設定され、逆ビット線１３ｂに電圧「０」が設定されていると仮定する。また、ビット線１３ａの側のワード線も、逆ビット線１３ｂの側のワード線も、非活性であると仮定する。まず、センスアンプ１４を非活性化する。次いで、逆ビット線プリチャージ回路３２を活性化して逆ビット線１３ｂを電圧「Ｖ／２」にプリチャージし、その後、逆ビット線プリチャージ回路３２を非活性化する。その後、ビット線イコライズ回路３３を活性化して、電荷を再分配した後、ビット線イコライズ回路３３を非活性化する。その後、ビット線プリチャージ回路３１を活性化してビット線１３ａを電圧「Ｖ／２」にプリチャージする。この過程を経て、ビット線１３ａは電圧「Ｖ／２」のプリチャージレベルになり、逆ビット線１３ｂは電圧「３Ｖ／４」になり、差動電位差は「Ｖ／４」である。センスアンプ１４を活性化すると、この差動電位差を増幅して、ビット線１３ａが電圧「０」になり、逆ビット線１３ｂが電圧「Ｖ」になる。これは初期状態で設定された電圧を反転した状態である。この後、あるワード線を活性化して、このワード線に対応するメモリセル１１に否定演算の結果を格納する。
【０１００】
図１のセンスアンプ列１４Ａの各センスアンプを、図１２のセンスアンプ１４と同様に構成してもよい。これにより、図１２のセンスアンプ１４を備えるＤＲＡＭチップは、ロウアクセスされる単位で否定演算を行うことができる。
【０１０１】
［実施形態７］
図１４は、実施形態７に係るセンスアンプ１４の動作を示すシーケンス図である。実施形態７では、図１２のセンスアンプ１４について、実施形態６とは異なる動作について説明する。
【０１０２】
ビット線プリチャージ回路３１、逆ビット線プリチャージ回路３２、及びビット線イコライズ回路３３が非活性化され、センスアンプ１４が活性化された状態で、ビット線１３ａに電圧「Ｖ」が設定され、逆ビット線１３ｂに電圧「０」が設定されていると仮定する。また、ビット線１３ａの側のワード線が活性化されていると仮定する。さらに、各ビット線１３ａ，１３ｂの容量をＣｂとし、各メモリセル１１の容量をＣｓとし、Ｃｂ＝２Ｃｓと仮定する。まず、センスアンプ１４を非活性化する。次いで、逆ビット線プリチャージ回路３２を活性化して逆ビット線１３ｂを「Ｖ／２」にプリチャージし、その後、逆ビット線プリチャージ回路３２を非活性化する。その後、ビット線イコライズ回路３３を活性化して、電荷を再分配した後、ビット線イコライズ回路３３を非活性化する。その後、ビット線プリチャージ回路３１を活性化してビット線１３ａを電圧「Ｖ／２」にプリチャージする。この過程を経て、ビット線１３ａは電圧「Ｖ／２」のプリチャージレベルになり、逆ビット線１３ｂは電圧「４Ｖ／５」になり、差動電位差は「３Ｖ／１０」である。センスアンプ１４を活性化すると、この差動電位差を増幅して、ビット線１３ａが電圧「０」になり、逆ビット線１３ｂが電圧「Ｖ」になる。これは初期状態で設定された電圧を反転した状態である。次いで、センスアンプ１４を活性化すると同時に、演算結果は、活性化されているワード線１５に対応するメモリセル１１に格納される。
【０１０３】
実施形態７によれば、実施形態６の場合に比較して、否定演算を行ったときのセンスアンプ１４の差動電位差が大きくなっている。
【０１０４】
実施形態７によれば、実施形態６に係るセンスアンプ１４と同様に、ロウアクセスされる単位で否定演算を行うことができる。
【０１０５】
［実施形態８］
図１５は、実施形態８に係るセンスアンプ１４の動作を示すシーケンス図である。実施形態８では、図１２のセンスアンプ１４について、実施形態６及び７とは異なる動作について説明する。
【０１０６】
ビット線プリチャージ回路３１、逆ビット線プリチャージ回路３２、及びビット線イコライズ回路３３が非活性化され、センスアンプ１４が活性化された状態で、ビット線１３ａに電圧「Ｖ」が設定され、逆ビット線１３ｂに電圧「０」が設定されていると仮定する。また、ビット線１３ａの側のワード線が活性化されていると仮定する。まず、センスアンプ１４を非活性化する。次いで、ビット線プリチャージ回路３１を活性化してビット線１３ａを電圧「Ｖ／２」にプリチャージし、その後、ビット線プリチャージ回路３１を非活性化する。その後、ビット線イコライズ回路３３を活性化して、電荷を再分配した後、ビット線イコライズ回路３３を非活性化する。その後、逆ビット線プリチャージ回路３２を活性化して逆ビット線１３ｂを電圧「Ｖ／２」にプリチャージする。この過程を経て、逆ビット線１３ｂは電圧「Ｖ／２」のプリチャージレベルになり、ビット線１３ａは電圧「３Ｖ／１０」となり、差動電位差は「２Ｖ／１０」である。センスアップ１４を活性化すると、この差動電位差を増幅して、ビット線１３ａが電圧「０」になり、逆ビット線１３ｂが電圧「Ｖ」になる。これは初期状態で設定された電圧を反転した状態である。次いで、センスアンプ１４を活性化すると同時に、演算結果は、活性化されているワード線１５に対応するメモリセル１１に格納される。
【０１０７】
実施形態７によれば、実施形態６の場合に比較して、否定演算を行ったときのセンスアンプ１４の差動電位差が小さくなっている。
【０１０８】
実施形態８によれば、実施形態６及び７に係るセンスアンプ１４と同様に、ロウアクセスされる単位で否定演算を行うことができる。
【０１０９】
［実施形態９］
図１６は、実施形態９及び１０に係るＤＲＡＭチップの複数のメモリセルアレイ１０−１〜１０−４の構成を示す概略図である。ＤＲＡＭチップは複数のメモリセルアレイを備えてもよく、各メモリセルアレイは、少なくとも１つの予備のワード線と、このワード線に沿って配列された複数の予備のメモリセル及び複数の予備のスイッチング素子とを含む冗長回路を備えてもよい。
【０１１０】
図１６のＤＲＡＭチップは、複数のメモリセルアレイ１０−１〜１０−４と、複数のセンスアンプ１４を配列した複数のセンスアンプ列１４Ａ−１〜１４Ａ−５とを備える。複数のメモリセルアレイ１０−１〜１０−４は、互いに隣接する任意の２つのメモリセルの間に複数のセンスアンプ列１４Ａ−１〜１４Ａ−５のうちの１つが位置するように配列される。図１６のＤＲＡＭチップは、各メモリセルアレイ１０−１〜１０−４の少なくとも１つの予備のワード線と、このワード線に沿って配列された複数の予備のメモリセル及び複数の予備のスイッチング素子とをそれぞれ含む、各メモリセルアレイ１０−１〜１０−４に少なくとも１つずつ設けられた冗長回路を備える。実施形態９に係るＤＲＡＭチップは、複数のメモリセルアレイ１０−１〜１０−４及び複数のセンスアンプ列１４Ａ−１〜１４Ａ−５を備えることを除いて、実施形態１に係るＤＲＡＭチップ１と同様に構成される。
【０１１１】
ここで、あるワード線と、そのワード線に沿って配列された複数のメモリセル及び複数のスイッチング素子を含むメモリセルアレイの回路部分を「ロウ回路」という。あるワード線、あるいはそのワード線に沿って配列されたメモリセルもしくはスイッチング素子に故障があった場合、その故障を含むロウ回路を冗長回路によって置換することによって、故障を救済することができる。図１６では、ワード線１５ａ−１，１５ａ−２を含むロウ回路が冗長回路であるとする。メモリセルアレイ１０−２のワード線１５を含むロウ回路に故障がある場合、同じメモリセルアレイ１０−２のワード線１５ａ−１を含む冗長回路で置換してもよく、他のメモリセルアレイ１０−４のワード線１５ａ−２を含む冗長回路で置換してもよい。
【０１１２】
メモリセルアレイ制御回路２２は、複数のメモリセルアレイ１０−１〜１０−４のうちの各１つのメモリセルアレイにおいて、当該１つのメモリセルアレイにおける故障を当該１つのメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイを演算回路として動作させることができる。故障を含むロウ回路と冗長回路とが同じメモリセルアレイに含まれる場合、冗長回路の各メモリセルは、故障を含むロウ回路が接続されるものと同じビット線及びセンスアンプに接続される。従って、ロウ回路を冗長回路で置換しても、メモリセルアレイは、前述の各実施形態で説明したように演算回路として動作可能である。
【０１１３】
上述したようなワード線に沿った冗長回路に代えて、又はそれに加えて、各メモリセルアレイ１０−１〜１０−４の少なくとも１つの予備のビット線又はカラム選択線と、このビット線又はカラム選択線に沿って配列された複数の予備のメモリセル及び複数の予備のスイッチング素子とをそれぞれ含む冗長回路を用いてもよい。
【０１１４】
［実施形態１０］
前述のように、図１６のＤＲＡＭチップにおいて、メモリセルアレイ１０−２のワード線１５を含むロウ回路に故障がある場合、他のメモリセルアレイ１０−４のワード線１５ａ−２を含む冗長回路で置換してもよい。
【０１１５】
メモリセルアレイ制御回路２２は、複数のメモリセルアレイ１０−１〜１０−４のうちの各１つのメモリセルアレイにおいて、当該１つのメモリセルアレイにおける故障を他のメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイの演算回路としての動作を中止する。故障を含むロウ回路と冗長回路とが異なるメモリセルアレイに含まれる場合、冗長回路の各メモリセルは、故障を含むロウ回路が接続されるものとは異なるビット線及びセンスアンプに接続される。従って、メモリセルアレイ１０−２のワード線１５を含むロウ回路をメモリセルアレイ１０−４のワード線１５ａ−２を含む冗長回路で置換すると、メモリセルアレイ１０−２は、前述の各実施形態で説明したように演算回路としては動作できないが、ＪＥＤＥＣのＤＲＡＭ製品の規格に従ってデータを格納することができる。
【０１１６】
メモリセルアレイ１０−１〜１０−４のうちの１つに故障を含むロウ回路があるが、どのメモリセルアレイ１０−１〜１０−４にも未使用の冗長回路が存在しない場合、メモリセルアレイ制御回路２２は、故障を含むメモリセルアレイを不良と判断してもよい。
【０１１７】
実施形態９及び１０に係るＤＲＡＭチップによれば、ＤＲＡＭチップの製造工程において故障を含むロウ回路を発見し、故障を含むロウ回路と同じメモリセルアレイ又は異なるメモリセルアレイの冗長回路によって、故障を含むロウ回路を置換してもよい。これにより、格納したデータに対して演算を行うＤＲＡＭチップの歩留まりを向上することができる。
【０１１８】
［実施形態１１］
実施形態１１〜１３では、ＪＥＤＥＣにおいて標準化される、Ｌｏｗ−Ｐｏｗｅｒ  ＤＤＲ４  ＳＤＲＡＭ（ＬＰＤＤＲ４）のアクティブコマンドを用いて、本発明の各実施形態に従ってデータを演算するために使用されるコマンドを組み込んだ例を示す。
【０１１９】
図１７は、ＬＰＤＤＲ４のコマンドの一部を示す表である。図１８は、実施形態１１に係るＤＲＡＭチップに発行されるコマンドを示す表である。図５のコマンドＡＣＴ、ＡＣＴ２、ＷＬＡ、及びＷＬＡ２を表すために、２つのビットＳ０，Ｓ１を使用し、これらのビットＳ０，Ｓ１を図１７のコマンドに以下のように組み込む。ビットＳ０を、コマンドＡＣＴ−１のチップセレクトラインＣＳ＝ＨのビットＣＡ５に割り当て、Ｓ１ビットを、コマンドＡＣＴ−１のチップセレクトラインＣＳ＝ＬのビットＣＡ３に割り当てる。例えば、Ｓ＜１：０＞＝００，０１，１０，１１をそれぞれ、図５のコマンドＡＣＴ、ＡＣＴ２、ＷＬＡ、及びＷＬＡ２に割り当てる。
【０１２０】
図１８のコマンドによれば、ＬＰＤＤＲ４に新たなコマンドを追加することなく、本発明の各実施形態に従ってデータを演算するために使用可能である。
【０１２１】
なお、図１８のコマンドによれば、図１７のビットＲＡ１５が使用できないので、１２ギガビット以上のデータを格納できない。
【０１２２】
［実施形態１２］
図１９は、実施形態１２に係るＤＲＡＭチップに発行されるコマンドを示す表である。図１９は、本発明の各実施形態に従ってデータを演算するために使用されるコマンドをＬＰＤＤＲ４のコマンドに組み込む他の例を示す。図１９によれば、ＪＥＤＥＣの規格においてＲＦＵ（Reserved for Future Use）とされているコマンドをアクティブセレクトコマンドＡＳＥＬとして使用する。このコマンドＡＳＥＬのチップセレクトラインＣＳ＝ＬのビットＣＡ０，ＣＡ１に、実施形態１１で説明したビットＳ０，Ｓ１をそれぞれ割り当てる。３つのコマンドＡＳＥＬ，ＡＣＴ−１，ＡＣＴ−２のシーケンスのうち、コマンドＡＳＥＬによりコマンドＡＣＴ、ＡＣＴ２、ＷＬＡ、及びＷＬＡ２のうちの１つを指定し、続くコマンドＡＣＴ−１，ＡＣＴ−２によりバンクアドレス及びロウアドレスを指定することが可能となる。
【０１２３】
［実施形態１３］
図２０は、実施形態１３に係るＤＲＡＭチップに発行されるコマンドを示す表である。図２０は、本発明の各実施形態に従ってデータを演算するために使用されるコマンドをＬＰＤＤＲ４のコマンドに組み込む他の例を示す。図２０によれば、ＪＥＤＥＣの規格においてＲＦＵとされている３つのコマンドをアクティブセレクトコマンドＡＳＥＬ−１〜ＡＳＥＬ−３として使用する。コマンドＡＳＥＬ−３のチップセレクトラインＣＳ＝ＬのビットＣＡ０，ＣＡ１に、実施形態１１で説明したビットＳ０，Ｓ１をそれぞれ割り当てる。３つのコマンドＡＳＥＬ−１〜ＡＳＥＬ−３のシーケンスのうち、コマンドＡＳＥＬ−１〜ＡＳＥＬ−３によりバンクアドレス及びロウアドレスを指定し、コマンドＡＳＥＬ−３によりコマンドＡＣＴ、ＡＣＴ２、ＷＬＡ、及びＷＬＡ２のうちの１つを指定することが可能となる。
【０１２４】
［実施形態１４］
図１６に示すようにＤＲＡＭチップが複数のメモリセルアレイを含む場合、本発明の各実施形態に従ってロウアクセスされる単位で演算を行うためには、複数のメモリセルが同一のビット線の側にあるか、それとも、センスアンプを共有する逆ビット線の側にあるが認識されている必要がある。すなわち、メモリコントローラは、メモリセルアレイ間の境界が、いかなるロウアドレス値で特定されるのかを認識していなければならない。
【０１２５】
図２１は、実施形態１４に係るＤＲＡＭチップの複数のメモリセルアレイ１０−１〜１０−４の構成を示す概略図である。図２０のＤＲＡＭチップは、複数のメモリセルアレイ１０−１〜１０−４と、複数のセンスアンプ１４を配列した複数のセンスアンプ列１４Ａ−１〜１４Ａ−５とを備える。複数のメモリセルアレイ１０−１〜１０−４は、互いに隣接する任意の２つのメモリセルの間に複数のセンスアンプ列１４Ａ−１〜１４Ａ−５のうちの１つが位置するように配列される。メモリセルアレイ制御回路２２Ａは、コマンド入力回路２１Ａを介して、ＤＲＡＭチップの外部のメモリコントローラ２Ａから読み出し可能なモードレジスタＭＲを備える。このモードレジスタＭＲは、メモリセルアレイ間の境界の位置を示す複数のビット、すなわち、複数のメモリセルアレイ１０−１〜１０−４のうち互いに隣接する任意の２つのメモリセルの間の１つのセンスアンプ列の位置を指定するロウアドレスを格納する複数のビットを含む。実施形態１４に係るＤＲＡＭチップは、複数のメモリセルアレイ１０−１〜１０−４及び複数のセンスアンプ列１４Ａ−１〜１４Ａ−５を備えることと、メモリセルアレイ制御回路２２ＡがモードレジスタＭＲを備えることと、メモリセルアレイ制御回路２２Ａがコマンド入力回路２１Ａを介してメモリコントローラ２Ａと双方向に通信可能であることとを除いて、実施形態１に係るＤＲＡＭチップ１と同様に構成される。
【０１２６】
図２２Ａは、実施形態１４に係るＤＲＡＭチップによって使用されるモードレジスタの第１の部分を示す表である。図２２Ｂは、実施形態１４に係るＤＲＡＭチップによって使用されるモードレジスタの第２の部分を示す表である。図２２Ａ及び図２２Ｂは、実施形態１４に従ってメモリセルアレイ間の境界の位置をメモリコントローラ２Ａから読み出し可能にするために使用される複数のビットをＬＰＤＤＲ４のモードレジスタに組み込んだ例を示す。メモリセルアレイ制御回路２２Ａは、ＪＥＤＥＣの規格でＲＦＵとされているモードレジスタＭＲ２６，ＭＲ２７に、メモリセルアレイ間の境界のロウアドレスを書き込む。例えば、１つのメモリセルアレイのブロック内に５１２個のワード線がある場合には、５１２＝２９であるから、モードレジスタＭＲ２６のオペランドＯＰ［７：０］に「００００００１０」が書き込まれ、モードレジスタＭＲ２７のオペランドＯＰ［７：０］に「００００００００」が書き込まれる。メモリコントローラ２Ａは、モードレジスタのリード動作でモードレジスタＭＲ２６，ＭＲ２７の内容を読み出し、メモリセルアレイの境界がロウアドレスＲＡ＜９＞であることを認識する。
【０１２７】
これにより、メモリコントローラ２Ａは、ＤＲＡＭチップが複数のメモリセルアレイを含む場合であっても、メモリセルアレイ間の境界を認識し、本発明の各実施形態に従ってロウアクセスされる単位で演算を行うことができる。
【０１２８】
［実施形態１５］
実施形態１５では、本発明の各実施形態に係る演算を行って、ビットマップインデックスのデータを高速に検索する処理について説明する。
【０１２９】
図２３は、実施形態１５に係るＤＲＡＭチップのメモリセルアレイに格納されるレコードの例を示す図である。各ビット線ごとに、少なくとも１つの属性を示す複数のビット値をそれぞれ含むレコードを、ビット線に沿って配列された複数のメモリセルに格納する。
図２３において、レコード名及びキー項目によって特定される各欄は、１つのメモリセルに格納されるビット値を示す。レコード名「Ａ」〜「Ｊ」は、例えば、氏名を示す。１０ビットのキー項目「０」〜「９」は、例えば、レコード名で特定される人物の性別、年齢等の属性を示す。レコード名をワード線方向に配列し、キー項目をビット線方向に配列する。
【０１３０】
図２４は、実施形態１５に係るＤＲＡＭチップのメモリセルアレイの構成を示す回路図である。図２４は、メモリセルアレイ上における図２３のデータの物理的な配置を示す。ビット線１３ａに沿って配列されたメモリセル１１の電圧が「Ｈ」のときはビット値「１」が格納され、電圧が「Ｌ」のときはビット値「０」が格納されている。一方で、逆ビット線１３ｂに沿って配列されたメモリセル１１の電圧が「Ｈ」のときはビット値「０」が格納され、電圧が「Ｌ」のときはビット値「１」が格納されている。
【０１３１】
メモリセルアレイ制御回路２２は、複数のビット値を含む検索キーＸが入力されたとき、検索キーのビット値「１」の位置に対応するメモリセルに格納されたビット値に対して論理積演算を行い、検索キーのビット値「０」の位置に対応するメモリセルに格納されたビット値に対して論理和演算を行う。これにより、メモリセルアレイ制御回路２２は、メモリセルアレイ１０に格納されたレコードから、検索キーに一致するレコードを検索する。
【０１３２】
図２５は、図２３のメモリセルアレイに格納されたレコードの検索を説明する図である。ここで、例えば、図２５の検索キーＸ「１０１０１０１１０１」の各ビットに一致するキー項目「０」〜「９」を有するレコードがあるかどうかを検索する。このとき、各レコードのキー項目「０」、「２」、「４」、「６」、「７」、及び「９」に対応するワード線を活性化及び非活性化することにより、これらのキー項目に対応する各メモリセルに格納されたビット値に対して論理積演算を行う。また、キー項目「１」、「３」、「５」、及び「８」に対応するワード線を活性化及び非活性化することにより、これらのキー項目に対応する各メモリセルに格納されたビット値に対して論理和演算を行う。
【０１３３】
図２５を参照すると、キー項目「０」及び「２」に対応する各メモリセルに格納されたビット値に対して論理積演算を行い、結果をキー項目「０」に対応するメモリセルに格納する。次いで、キー項目「４」及び「６」に対応する各メモリセルに格納されたビット値に対して論理積演算を行い、結果をキー項目「４」のメモリセルに格納する。次いで、キー項目「７」及び「９」に対応する各メモリセルに格納されたビット値に対して論理積演算を行い、結果をキー項目「７」に対応するメモリセルに格納する。さらに、キー項目「０」及び「４」に対応する各メモリセルに格納されたビット値に対して論理積演算を行い、結果をキー項目「０」に対応するメモリセルに格納する。最後に、キー項目「０」及び「７」に対応する各メモリセルに格納されたビット値に対して論理積演算を行い、結果をキー項目「０」に対応するメモリセルに格納する。これで、キー項目「０」、「２」、「４」、「６」、「７」、及び「９」にそれぞれ対応するすべてのメモリセルに格納されたビット値に対して論理積演算を行った結果が、キー項目「０」に対応するメモリセルに格納されている。このビット値が「１」であれば、検索キーのビット値「１」の位置に対応するすべてのメモリセルに格納されたビット値に対して論理積演算を行った結果のビット値が「１」であるということになる。
【０１３４】
同様に、キー項目「１」、「３」、「５」、及び「８」にそれぞれ対応するすべてのメモリセルに格納されたビット値に対して論理和演算を行った結果を、キー項目「１」に対応するワード線に格納する。このビット値が「０」であれば、検索キーのビット値「０」の位置に対応するすべてのメモリセルに格納されたビット値に対して論理積演算を行った結果のビット値が「０」であるということになる。
【０１３５】
検索キーのビット値「１」の位置に対応するすべてのメモリセルに格納されたビット値に対して論理積演算を行った結果のビット値が「１」であり、かつ、検索キーのビット値「０」の位置に対応するすべてのメモリセルに格納されたビット値に対して論理積演算を行った結果のビット値が「０」であるレコードが、検索キーＸに完全に一致するといえる。
【０１３６】
図２６は、図２３のメモリセルアレイに格納されたレコードの検索及びソートを説明する図である。図２６は、検索キーＸのキー項目のビット値「１」又は「０」に従って、検索キー及び各レコードのキー項目をソートした表を示す。検索キーと、検索キーに一致するレコードとにおいて、検索キーのビット値「１」の位置に対応するすべてのメモリセルに格納されたビット値に対して論理積演算を行った結果のビット値が「１」になり、また、検索キーのビット値「０」の位置に対応するすべてのメモリセルに格納されたビット値に対して論理積演算を行った結果のビット値が「０」になることが明らかである。このとき、レコード「Ｅ」及び「Ｉ」において、検索キーのビット値「１」の位置に対応するすべてのメモリセルに格納されたビット値に対して論理積演算を行った結果のビット値が「１」になる。また、レコード「Ｅ」において、検索キーのビット値「０」の位置に対応するすべてのメモリセルに格納されたビット値に対して論理積演算を行った結果のビット値が「０」になる。従って、レコード「Ｅ」が検索キーＸに一致することがわかる。
【０１３７】
このように、検索キーＸに従ってロウアクセスされる単位で論理積演算又は論理和演算を実行し、最後にすべての論理積演算又は論理和演算の結果が格納されたメモリセルに対応する２つのワード線のビット値を読み出すことにより、検索キーに一致するレコードを特定することができる。また、このとき、否定演算を必要とせず、ロウアクセスされる単位で論理積演算及び論理和演算のみを行うことで、検索キーとレコードとの一致及び不一致を判定することができる。また、レコードの全体ではなく、一致及び不一致を判定したい任意のキー項目だけを論理積演算又は論理和演算の対象として、そのキー項目に対する一致及び不一致を判定してもよい。
【０１３８】
［実施形態１６］
実施形態１６では、本発明の各実施形態に係る演算を行って、ビットマップインデックスのデータを高速に検索する他の処理について説明する。
【０１３９】
メモリセルアレイ制御回路２２は、複数のビット値を含む検索キーが入力されたとき、検索キーとメモリセルアレイに格納されたレコードとの排他的論理和演算又は否定排他的論理和演算を行い、これにより、メモリセルアレイに格納されたレコードから、検索キーに一致するレコードを検索する。
【０１４０】
図２７は、実施形態１６に係るＤＲＡＭチップのメモリセルアレイに格納されたレコードの検索を説明する図である。図２７において、レコード「Ａ」〜「Ｊ」及び対応する各キー項目「０」〜「９」のビット値と、検索キーＸとは、図２３のものに同じである。本実施形態では、キー項目「０」〜「９」の反転データ「／０」〜「／９」を同じメモリセルアレイ内に予め格納する。キー項目「０」〜「９」の反転データ「／０」〜「／９」を格納するために、ＤＲＡＭチップの外部のプロセッサ３及びメモリコントローラ２からキー項目「０」〜「９」の正のデータを書き込む際に、同時に、プロセッサ３又はメモリコントローラ２により反転データ「／０」〜「／９」を生成して書き込んでもよい。それに代わって、実施形態８の否定演算を用いて、メモリセルアレイ上でキー項目「０」〜「９」の正のデータから反転データ「／０」〜「／９」を生成してもよい。各キー項目に対応するワード線を活性化して、検索キーのビットとの排他的論理和（ＸＯＲ）演算を行う。ビット値「Ａ」及び「Ｂ」の排他的論理和演算は、論理積（ＡＮＤ）演算、論理和（ＯＲ）演算、及び否定（ＮＯＴ）演算を用いて、ＯＲ［ＡＮＤ［Ａ，ＮＯＴ［Ｂ］］，ＡＮＤ［ＮＯＴ［Ａ］，Ｂ］］により実施可能である。従って、ロウアクセスされる単位での論理積演算、論理和演算、及び否定演算によって、最終的に、ロウアクセスされる単位での排他的論理和演算の結果が得られる。キー項目のビット値が検索キーのビット値と一致していれば、排他的論理和演算の結果のビット値は「０」となり、不一致であれば「１」となる。
【０１４１】
図２８は、図２７のメモリセルアレイに格納されたレコードと検索キーとの排他的論理和演算の結果を示す図である。図２８は、各キー項目について、検索キーのビット値と、各レコードのビット値との排他的論理和演算を行った結果を示す。この後、ロウアクセスされる単位で全てのキー項目に対応するメモリセルに格納されたビット値の論理和演算を行うと、検索キーに完全一致しているレコードのものだけ、結果のビット値が「０」となる。結果のビット値は１つのメモリセルに格納されているので、対応するワード線を活性化してそのメモリセルのビット値を読み出せば、完全一致あるいは不一致の情報を外部に取り出すことができる。
【０１４２】
排他的論理和に代えて、否定排他的論理和（ＸＮＯＲ）演算を用いて、検索キーに完全一致しているレコードのものだけ、結果のビット値が「１」となるように演算しても、同じ効果が得られる。
【０１４３】
［実施形態１７］
実施形態１７では、本発明の各実施形態に係る演算を行って、ビットマップインデックスのデータを検索して、検索キーとレコードとの一致度を判定する処理について説明する。
【０１４４】
図２９は、実施形態１７に係るＤＲＡＭチップのメモリセルアレイに格納されたレコードと検索キーとの一致及び不一致を判定した結果を示す図である。図２９は、ロウアクセスされる単位で、検索キーに対して一致及び不一致を判定した結果の例である。図２９では、判定結果を、一致するキー項目をビット値「１」により示し、不一致のキー項目をビット値「０」により示す。すべてのビット値が「１」、すなわち、検索キーに完全一致するレコードはない。実施形態１７では、このような場合でも、なるべく検索キーに対する一致度が高いレコードを発見する処理について説明する。
【０１４５】
メモリセルアレイ制御回路２２は、複数のビット値を含む検索キーが入力されたとき、メモリセルアレイに格納された第１のレコードから、検索キーに一致するレコードを検索する。メモリセルアレイ制御回路２２は、各ビット線ごとに、第１のレコードの各ビットと検索キーの各ビットとの一致又は不一致を示す複数のビット値を含む第２のレコードを生成する。メモリセルアレイ制御回路２２は、第２のレコードの各ビットをソートして、第１のレコードと検索キーの一致度を判定する。
【０１４６】
図３０は、実施形態１７に係るＤＲＡＭチップのメモリセルアレイに格納されたレコードと検索キーとの一致度を判定する処理の初期状態を示す図である。ロウ「０」〜「９」の各メモリセルのビット値は、図２９の対応するキー項目「０」〜「９」の各メモリセルのビット値と同じである。ロウ「１０」のすべてのメモリセルにビット値「１」を入力する。ロウ「１１」〜「２０」のすべてのメモリセルにビット値「０」を入力する。ここで、ロウ「０」に対して、各ロウ「０」、「１０」、及び「１１」のビット値の多数決を演算して結果をロウ「１１」に格納する。次いで、ロウ「１」に対して、各ロウ「１」、「１１」、及び「１２」のビット値の多数決を演算して結果をロウ「１２」に格納し、さらに、各ロウ「１」、「１０」、及び「１１」のビット値の多数決を演算して結果をロウ「１１」に格納する。これを順次進めて、ロウ「Ｎ」（０≦Ｎ≦９）に対して、各ロウ「Ｎ」、「Ｎ＋１０」、及び「Ｎ＋１１」のビット値の多数決を演算して結果をロウ「Ｎ＋１１」に格納し、さらに、各ロウ「Ｎ」、「Ｎ＋９」、及び「Ｎ＋１０」の多数決を演算して結果をロウ「Ｎ＋１０」に格納し、最終的に、各ロウ「Ｎ」、「１０」、及び「１１」の多数決を演算して結果をロウ「１１」に格納して、ロウ「Ｎ」に対する演算が完了する。
【０１４７】
図３１は、実施形態１７に係るＤＲＡＭチップのメモリセルアレイに格納されたレコードと検索キーとの一致度を判定した結果を示す図である。図３１は、図３０を参照して説明した演算をロウ「０」〜「９」に対して順に実行した結果を示す。ロウ「１１」〜「２０」において、ロウ「０」〜「９」のビット値「１」をなるべく数値の小さなロウになるようにソートしたものとなる。この後、ロウ「２０」〜「１１」の順に、各レコードのメモリセルのビット値を読み出したとき、最初にビット値「１」が読み出されたレコードが、検索キーに対して最も一致度が高いと言える。
【０１４８】
図２９において、一致するキー項目をビット値「０」により示し、不一致のキー項目をビット値「１」により示す場合にも、同様に検索キーとレコードとの一致度を判定することができる。
【０１４９】
図３２は、実施形態１７に係るＤＲＡＭチップのメモリセルアレイに格納されたレコードと検索キーとの一致及び不一致を判定する処理を示すフローチャートである。
【０１５０】
ステップＳ１において、メモリセルアレイ制御回路２２は、ロウ０〜Ｎのメモリセル１１に一致及び不一致の判定結果を格納する。ステップＳ２において、メモリセルアレイ制御回路２２は、ロウＮ＋１の全メモリセル１１に「１」を格納する。ステップＳ３において、メモリセルアレイ制御回路２２は、ロウＮ＋２〜２Ｎ＋２の全メモリセル１１に「０」を格納する。ステップＳ４において、メモリセルアレイ制御回路２２は、変数Ｋを０に初期化する。ステップＳ５において、メモリセルアレイ制御回路２２は、変数Ｌに変数Ｋの値を設定する。ステップＳ６において、メモリセルアレイ制御回路２２は、ロウＬ、Ｌ＋Ｎ＋１、及びＬ＋Ｎ＋２のメモリセルに格納されたビット値を多数決した値をロウＬ＋Ｎ＋２のメモリセルに格納する。ステップＳ７において、メモリセルアレイ制御回路２２は、変数Ｌが０に等しいか否かを判断し、ＹＥＳのときはステップＳ９に進み、ＮＯのときはステップＳ８に進む。ステップＳ８において、メモリセルアレイ制御回路２２は、変数Ｌを１だけデクリメントし、ステップＳ６に戻る。ステップＳ９において、メモリセルアレイ制御回路２２は、変数Ｋがキー項目の個数Ｎに等しいか否かを判断し、ＹＥＳのときはステップＳ１１に進み、ＮＯのときはステップＳ１０に進む。ステップＳ１０において、メモリセルアレイ制御回路２２は、変数Ｋを１だけインクリメントし、ステップＳ５に戻る。ステップＳ１１において、メモリセルアレイ制御回路２２は、検索キーとレコードとの一致度を判定し、処理を終了する。
【０１５１】
メモリセルアレイ制御回路２２は、最も高い一致度を有するレコードを判定し、判定結果をメモリコントローラ２及びプロセッサ３に通知してもよい。
【０１５２】
図３２の処理でＮ＝９とした場合、図３０の例に対応する。
【産業上の利用可能性】
【０１５３】
本発明は、大量のデータを少ない電力で演算処理することを必要とする、例としてはビットマップデータでのマッチングを行うシステムにおける半導体記憶装置において有用である。
【符号の説明】
【０１５４】
１…ＤＲＡＭチップ、
２，２Ａ…メモリコントローラ、
３…プロセッサ、
１０，１０−１〜１０−４…メモリセルアレイ、
１１，１１−１〜１１−４…メモリセル、
１２，１２−１〜１２−４…スイッチング素子、
１３，１３ａ…ビット線、
１３ｂ…逆ビット線、
１４…センスアンプ、
１４Ａ，１４Ａ−１〜１４Ａ−５…センスアンプ列、
１５，１５−１〜１５−８，１５ａ−１，１５ａ−２…ワード線、
１６…カラム選択線、
１７，１７Ａ…ワード線デコード回路、
１８…カラム選択線デコード回路、
１９…セルプレート、
２１，２１…コマンド入力回路、
２２，２２Ａ…メモリセルアレイ制御回路、
２３…データ入出力回路、
２４…内部データバス、
２５…データ処理回路、
２６…内部データバス、
３１…ビット線プリチャージ回路、
３２…逆ビット線プリチャージ回路、
３３…ビット線イコライズ回路、
ＭＲ…モードレジスタ、
Ｖｐｃｇ…ビット線プリチャージ電圧。
【図１】
2018142478.tif 000003
【図２】
2018142478.tif 000004
【図３】
2018142478.tif 000005
【図４】
2018142478.tif 000006
【図５】
2018142478.tif 000007
【図６】
2018142478.tif 000008
【図７】
2018142478.tif 000009
【図８】
2018142478.tif 000010
【図９】
2018142478.tif 000011
【図１０】
2018142478.tif 000012
【図１１】
2018142478.tif 000013
【図１２】
2018142478.tif 000014
【図１３】
2018142478.tif 000015
【図１４】
2018142478.tif 000016
【図１５】
2018142478.tif 000017
【図１６】
2018142478.tif 000018
【図１７】
2018142478.tif 000019
【図１８】
2018142478.tif 000020
【図１９】
2018142478.tif 000021
【図２０】
2018142478.tif 000022
【図２１】
2018142478.tif 000023
【図２２Ａ】
2018142478.tif 000024
【図２２Ｂ】
2018142478.tif 000025
【図２３】
2018142478.tif 000026
【図２４】
2018142478.tif 000027
【図２５】
2018142478.tif 000028
【図２６】
2018142478.tif 000029
【図２７】
2018142478.tif 000030
【図２８】
2018142478.tif 000031
【図２９】
2018142478.tif 000032
【図３０】
2018142478.tif 000033
【図３１】
2018142478.tif 000034
【図３２】
2018142478.tif 000035
【手続補正書】
【提出日】平成29年4月12日(2017.4.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
互いに直交する複数のビット線及び複数のワード線に沿って配列された複数のメモリセルを含む少なくとも１つのメモリセルアレイを備える半導体記憶装置において、
前記半導体記憶装置は、
前記各ワード線の活性又は非活性の状態に応じて、前記各ワード線に沿って配列された各メモリセルを、前記各ビット線にそれぞれ接続又は切断する複数のスイッチング素子と、
前記複数のビット線にそれぞれ接続された複数のセンスアンプと、
前記各ワード線及び前記各センスアンプを活性化又は非活性化する制御回路とを備え、
前記各ビット線に沿って、前記複数のメモリセルのうちの第１〜第４のメモリセルを含む少なくとも４つずつのメモリセルが配列され、前記第１〜第４のメモリセルは、前記複数のワード線のうちの第１〜第４のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第１〜第４のスイッチング素子により１つのビット線にそれぞれ接続又は切断され、前記第１のメモリセルは第１のビット値を格納し、前記第２のメモリセルは第２のビット値を格納し、前記第３及び第４のメモリセルは第３のビット値をそれぞれ格納し、
前記制御回路は、前記第３及び第４のワード線を活性化した後に非活性化し、次いで、前記第１及び第２のワード線を活性化し、次いで、前記センスアンプを活性化することにより、前記第３のビット値によって指定される論理積演算又は論理和演算を前記第１及び第２のビット値に対して行う半導体記憶装置。
【請求項２】
互いに直交する複数のビット線及び複数のワード線に沿って配列された複数のメモリセルを含む少なくとも１つのメモリセルアレイを備える半導体記憶装置において、
前記複数のビット線は複数の第１のビット線及び複数の第２のビット線を含み、
前記半導体記憶装置は、
前記各ワード線の活性又は非活性の状態に応じて、前記各ワード線に沿って配列された各メモリセルを、前記各ワード線に沿って設けられた各第１のビット線又は各第２のビット線にそれぞれ接続又は切断する複数のスイッチング素子と、
前記複数の第１のビット線のうちの１つずつ及び前記複数の第２のビット線のうちの１つずつにそれぞれ接続された複数のセンスアンプと、
前記各ワード線及び前記各センスアンプを活性化又は非活性化する制御回路とを備え、
前記各ビット線及び前記各逆ビット線に沿って、前記複数のメモリセルのうちの第１〜第３のメモリセルを含む少なくとも３つずつのメモリセルが配列され、前記第１及び第２のメモリセルは、前記複数のワード線のうちの第１及び第２のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第１及び第２のスイッチング素子により前記第１のビット線にそれぞれ接続又は切断され、前記第３のメモリセルは、前記複数のワード線のうちの第３のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第３のスイッチング素子により前記第２のビット線に接続又は切断され、前記第１のメモリセルは第１のビット値を格納し、前記第２のメモリセルは第２のビット値を格納し、前記第３のメモリセルは第３のビット値を格納し、
前記制御回路は、前記第１〜第３のワード線を活性化し、次いで、前記センスアンプを活性化することにより、前記第１〜第３のビット値のうちの１つによって指定される論理積演算又は論理和演算を前記第１〜第３のビット値のうちの残りの２つに対して行い、
前記制御回路は、前記第１〜第３のワード線のうちの２つ以上が同時に活性化された状態にならないように、前記各ワード線を活性化又は非活性化する半導体記憶装置。
【請求項３】
前記制御回路は、
前記複数のワード線を個別に選択する複数ビットのロウアドレスを受信し、
前記ロウアドレスの少なくとも１つのビットを無視することにより、予め決められた複数のワード線を同時に活性化又は非活性化する請求項１記載の半導体記憶装置。
【請求項４】
前記制御回路は、複数のワード線が同時に活性化された状態にあるとき、前記センスアンプを活性化する前に、活性化されている前記複数のワード線のうちの少なくとも１つを非活性化する請求項１記載の半導体記憶装置。
【請求項５】
前記制御回路は、前記複数のワード線のうちの１つを活性化した後に前記センスアンプを活性化する第１のアクティブコマンドと、前記複数のワード線のうちの少なくとも２つを活性化した後に前記センスアンプを活性化する第２のアクティブコマンドとの両方に応じて動作する請求項１、３、及び４のうちの１つに記載の半導体記憶装置。
【請求項６】
前記制御回路は、前記複数のワード線のうちの１つを活性化した後に自動的に前記センスアンプを活性化しない第３のアクティブコマンドと、前記複数のワード線のうちの少なくとも２つを活性化した後に自動的に前記センスアンプを活性化しない第４のアクティブコマンドとの両方に応じて動作する請求項１、３〜５のうちの１つに記載の半導体記憶装置。
【請求項７】
前記制御回路は、予め決められた個数の複数のビット線に沿って配列された複数のメモリセルに格納されたビット値に対して同時に演算を行う請求項１〜６のうちの１つに記載の半導体記憶装置。
【請求項８】
前記複数のビット線は、複数の第１のビット線及び複数の第２のビット線を含み、
前記複数のセンスアンプのうちの各１つのセンスアンプは、前記複数の第１のビット線のうちの１つ及び前記複数の第２のビット線のうちの１つにそれぞれ接続され、
前記制御回路は、前記センスアンプが第１のビット値を生成した後に前記センスアンプを非活性化し、次いで、前記第１及び第２のビット線を独立にプリチャージして前記第１及び第２のビット線の電位を変化させ、次いで、前記センスアンプを活性化して前記第１のビット値を反転したビット値を生成する請求項１〜７のうちの１つに記載の半導体記憶装置。
【請求項９】
前記半導体記憶装置は、
複数のメモリセルアレイと、
複数のセンスアンプを配列した少なくとも１つのセンスアンプ列とを備え、
前記複数のメモリセルアレイは、互いに隣接する任意の２つのメモリセルの間に１つのセンスアンプ列が位置するように配列され、
前記各メモリセルアレイの少なくとも１つのワード線と、前記少なくとも１つのワード線に沿って配列された複数のメモリセル及び複数のスイッチング素子とをそれぞれ含む、前記各メモリセルアレイに少なくとも１つずつ設けられた冗長回路とを備える請求項１〜８のうちの１つに記載の半導体記憶装置。
【請求項１０】
前記制御回路は、前記複数のメモリセルアレイのうちの各１つのメモリセルアレイにおいて、
当該１つのメモリセルアレイにおける故障を当該１つのメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイを演算回路として動作させ、
当該１つのメモリセルアレイにおける故障を他のメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイの演算回路としての動作を中止する請求項９記載の半導体記憶装置。
【請求項１１】
前記半導体記憶装置の外部から読み出し可能なレジスタであって、前記複数のメモリセルアレイのうち互いに隣接する任意の２つのメモリセルの間の１つのセンスアンプ列の位置を指定するロウアドレスを格納するレジスタを備える請求項９又は１０記載の半導体記憶装置。
【請求項１２】
前記各ビット線ごとに、少なくとも１つの属性を示す複数のビット値をそれぞれ含むレコードを、前記ビット線に沿って配列された複数のメモリセルに格納する請求項１〜１１のうちの１つに記載の半導体記憶装置。
【請求項１３】
前記制御回路は、複数のビット値を含む検索キーが入力されたとき、
前記検索キーのビット値「１」の位置に対応するメモリセルに格納されたビット値に対して論理積演算を行い、
前記検索キーのビット値「０」の位置に対応するメモリセルに格納されたビット値に対して論理和演算を行い、
これにより、前記半導体記憶装置に格納されたレコードから、前記検索キーに一致するレコードを検索する請求項１２記載の半導体記憶装置。
【請求項１４】
前記制御回路は、複数のビット値を含む検索キーが入力されたとき、前記検索キーと前記半導体記憶装置に格納されたレコードとの排他的論理和演算又は否定排他的論理和演算を行い、これにより、前記半導体記憶装置に格納されたレコードから、前記検索キーに一致するレコードを検索する請求項１２記載の半導体記憶装置。
【請求項１５】
前記制御回路は、複数のビット値を含む検索キーが入力されたとき、
前記半導体記憶装置に格納された第１のレコードから、前記検索キーに一致するレコードを検索し、
前記各ビット線ごとに、前記第１のレコードの各ビットと前記検索キーの各ビットとの一致又は不一致を示す複数のビット値を含む第２のレコードを生成し、
前記第２のレコードの各ビットをソートして、前記第１のレコードと前記検索キーの一致度を判定する請求項１２記載の半導体記憶装置。
【請求項１６】
互いに直交する複数のビット線及び複数のワード線に沿って配列された複数のメモリセルを含む少なくとも１つのメモリセルアレイを備える半導体記憶装置の製造方法において、
前記製造方法は、
前記複数のビット線を形成するステップと、
前記複数のワード線を形成するステップと、
前記複数のメモリセルを形成するステップと、
前記各ワード線の活性又は非活性の状態に応じて、前記各ワード線に沿って配列された各メモリセルを、前記各ビット線にそれぞれ接続又は切断する複数のスイッチング素子を形成するステップと、
前記複数のビット線にそれぞれ接続された複数のセンスアンプを形成するステップと、
前記各ワード線及び前記各センスアンプを活性化又は非活性化する制御回路を形成するステップとを含み、
前記各ビット線に沿って、前記複数のメモリセルのうちの第１〜第４のメモリセルを含む少なくとも４つずつのメモリセルが配列され、前記第１〜第４のメモリセルは、前記複数のワード線のうちの第１〜第４のワード線の活性又は非活性の状態に応じて、前記複数のスイッチング素子のうちの第１〜第４のスイッチング素子により１つのビット線にそれぞれ接続又は切断され、前記第１のメモリセルは第１のビット値を格納し、前記第２のメモリセルは第２のビット値を格納し、前記第３及び第４のメモリセルは第３のビット値をそれぞれ格納し、
前記制御回路は、前記第３及び第４のワード線を活性化した後に非活性化し、次いで、前記第１及び第２のワード線を活性化し、次いで、前記センスアンプを活性化することにより、前記第３のビット値によって指定される論理積演算又は論理和演算を前記第１及び第２のビット値に対して行う半導体記憶装置の製造方法。
【請求項１７】
前記半導体記憶装置の製造方法は、
互いに隣接する任意の２つのメモリセルの間に１つのセンスアンプ列が位置するように、複数のメモリセルアレイと、複数のセンスアンプを配列した少なくとも１つのセンスアンプ列とを形成するステップと、
前記各メモリセルアレイの少なくとも１つのワード線と、前記少なくとも１つのワード線に沿って配列された複数のメモリセル及び複数のスイッチング素子とをそれぞれ含む、前記各メモリセルアレイに少なくとも１つずつ設けられた冗長回路を形成するステップと、
前記複数のメモリセルアレイのうちの各１つのメモリセルアレイにおいて、当該１つのメモリセルアレイにおける故障を当該１つのメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイを演算回路として動作させるステップと、
前記複数のメモリセルアレイのうちの各１つのメモリセルアレイにおいて、当該１つのメモリセルアレイにおける故障を他のメモリセルアレイの冗長回路によって救済したとき、当該１つのメモリセルアレイの演算回路としての動作を中止するステップとを含む請求項１６記載の半導体記憶装置の製造方法。
【請求項１８】
請求項１〜１５のうちの１つに記載の半導体記憶装置を用いたデータ処理方法であって、前記各ビット線ごとに、少なくとも１つの属性を示す複数のビット値をそれぞれ含むレコードを、前記ビット線に沿って配列された複数のメモリセルに格納するステップを含むデータ処理方法。
【請求項１９】
複数のビット値を含む検索キーを受信するステップと、
前記検索キーのビット値「１」の位置に対応するメモリセルに格納されたビット値に対して論理積演算を行うステップと、
前記検索キーのビット値「０」の位置に対応するメモリセルに格納されたビット値に対して論理和演算を行うステップとを含む請求項１８記載のデータ処理方法。
【請求項２０】
複数のビット値を含む検索キーを受信するステップと、
前記検索キーと前記半導体記憶装置に格納されたレコードとの排他的論理和演算又は否定排他的論理和演算を行うステップとを含む請求項１８記載のデータ処理方法。
【請求項２１】
複数のビット値を含む検索キーを受信するステップと、
前記半導体記憶装置に格納された第１のレコードから、前記検索キーに一致するレコードを検索するステップと、
前記各ビット線ごとに、前記第１のレコードの各ビットと前記検索キーの各ビットとの一致又は不一致を示す複数のビット値を含む第２のレコードを生成するステップと、
前記第２のレコードの各ビットをソートして、前記第１のレコードと前記検索キーの一致度を判定するステップとを含む請求項１８記載のデータ処理方法。
【国際調査報告】
2018142478.tif 000036
2018142478.tif 000037
2018142478.tif 000038
2018142478.tif 000039