(58)【調査した分野】(Int.Cl.,DB名)
前記検出回路網が、前記計算構成要素及び前記センス増幅器の内の少なくとも1つに印加される特定の制御信号に応えてAND演算、NAND演算、及び反転演算の内の少なくとも1つを実行するように構成される、請求項4に記載の装置。
【発明を実施するための形態】
【0007】
本開示は、検出回路網を使用して論理演算を実行することに関係する装置及び方法を含む。例示の装置は、メモリセルのアレイ、及び該アレイに結合された検出回路網を含む。検出回路網は、第1の入力としてセンスラインに結合された第1のメモリセルに記憶されたデータ値、及び第2の入力として該センスラインに結合された第2のメモリセルに記憶されたデータ値を使用して論理演算を実行するように構成される。検出回路網は、センスラインアドレスアクセスを介してデータを転送することなく論理演算を実行するように構成される。
【0008】
本開示のいくつかの実施形態は、以前のPIMシステム及び外部プロセッサ(例えば、別個の集積回路チップ上で等、メモリアレイから外部に位置する処理リソース)を有するシステム等の以前のシステムと比較して、計算機能を実行することと関連して改善された並行処理及び/または電力消費の削減を実現できる。例えば、いくつかの実施形態は、例えば、バス(例えば、データバス、アドレスバス、制御バス)を介してメモリアレイ及び検出回路網の中からデータを転送することなく、整数の加算、減算、乗算、除算等の十分に完全な計算機能及びCAM(連想メモリ)機能を実行することを提供できる。係る計算機能は、いくつかの論理演算(例えば、AND、NOT、NOR、NAND、XOR等)を実行することを含むことがある。ただし、実施形態はこれらの例に制限されていない。例えば、論理演算を実行することは、コピー、比較、破壊等のいくつかの非ブール論理演算を実行することを含むことがある。
【0009】
以前の手法では、データは(例えば、入出力(I/O)ラインを含むバスを介して)アレイ及び検出回路網から、プロセッサ、マイクロプロセッサ、及び/または計算エンジン等の、ALU回路網及び/または適切な論理演算を実行するように構成された他の機能ユニット回路網を含んでよい処理リソースに転送されてよい。ただし、メモリアレイ及び検出回路網から係る処理リソース(複数の場合がある)へデータを転送することは、かなりの電力消費を伴うことがある。処理リソースがメモリアレイと同じチップ上に位置するとしても、センスラインからI/Oライン上にデータを転送するためにセンスラインアドレスアクセスを実行すること(例えば、列復号信号を発すること)、アレイ周辺にデータを移動すること、及び計算機能にデータを提供することを伴うことがある、アレイの中から計算回路網にデータを移動する際にかなりの電力が消費されることがある。
【0010】
さらに、処理リソース(複数可)(例えば、計算エンジン)の回路網は、メモリアレイと関連付けられたピッチ規則に準拠しないことがある。例えば、メモリアレイのセルは、4F
2または6F
2のセルサイズを有してよく、「F」はセルに対応する形状である。したがって、以前のPIMシステムのALU回路網と関連付けられたデバイス(例えば、論理ゲート)はメモリセルとともにピッチ上に形成できないことがあり、例えばチップサイズ及び/またはメモリ密度に影響を及ぼすことがある。
【0011】
以下の本開示の詳細な説明では、本明細書の一部を形成し、本開示の1つまたは複数の実施形態がどのようにして実施され得るのかが実例として示される添付図面が参照される。これらの実施形態は、当業者が本開示の実施形態を実践できるほど十分に詳しく説明され、他の実施形態が活用されてよいこと、並びにプロセスの変更、電気的な変更、及び/構造上の変更が本開示の範囲から逸脱することなく実施され得ることが理解されるべきである。本明細書に使用されるように、指示子「N」は、特に図面中の参照番号に関して、そのように示されたいくつかの特定の特徴が含まれることがあることを示す。本明細書に使用されるように、「いくつかの」特定の事柄は係る事柄の内の1つまたは複数を参照することがある(例えば、いくつかのメモリアレイは1つまたは複数のメモリアレイを指すことがある)。
【0012】
本明細書の図は、最初の1つまたは複数の数字が図面の図番号に相当し、残りの数字が図面中の要素または構成要素を識別する番号付け慣例に従う。異なる図の間の類似した要素または構成要素は、類似した数字を使用することによって識別されてよい。例えば、130は
図1では要素「30」を参照してよく、類似する要素は
図2では230として参照されてよい。理解されるように、本明細書の多様な実施形態に示される要素は、本開示の多くの追加の実施形態を提供するために追加できる、交換できる、及び/または排除できる。さらに、理解されるように、図中に提供される要素の割合及び相対的な尺度は、本発明の特定の実施形態を示すことを目的とし、制限的な意味で解釈されるべきではない。
【0013】
図1は、本開示のいくつかの実施形態に係るメモリデバイス120を含んだコンピューティングシステム100の形をした装置のブロック図である。本明細書で使用されるように、メモリデバイス120、メモリアレイ130、及び/または検出回路網150は別々に「装置」と見なされる可能性もある。
【0014】
システム100は、メモリアレイ130を含むメモリデバイス120に結合されたホスト110を含む。ホスト110は、多様な他のタイプのホストの中で、パーソナルラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、携帯電話、またはメモリカードリーダ等のホストシステムであることがある。ホスト102は、システムマザーボード及び/またはバックプレーンを含むことがあり、いくつかの処理リソース(例えば、1台または複数のプロセッサ、マイクロプロセッサ、またはなんらかの他のタイプの制御回路網)を含むことがある。システム100が別々の集積回路を含むことがある、またはホスト110とメモリデバイス120の両方が同じ集積回路上にあることもある。システム100は、例えばサーバシステム及び/または高性能コンピューティング(HPC)システム及び/またはその一部であることがある。
図1に示される例はフォンノイマンアーキテクチャを有するシステムを示しているが、本開示の実施形態は、多くの場合はフォンノイマンアーキテクチャと関連付けられた1つまたは複数の構成要素(例えば、CPU、ALU等)を含まないことがある非フォンノイマンアーキテクチャ(例えば、チューリングマシン)に実装できる。
【0015】
明確にするために、システム100は、本開示に特定の関連性のある特徴に集中するために簡略化されている。メモリアレイ130は、例えばDRAMアレイ、SRAMアレイ、STT RAMアレイ、PCRAMアレイ、TRAMアレイ、RRAMアレイ、NANDフラッシュアレイ、及び/またはNORフラッシュアレイであることがある。アレイ130は、(本明細書では、ワードラインまたは選択ラインと呼ばれることがある)アクセスラインによって結合された行、及び(本明細書では、デジットラインまたはデータラインと呼ばれることがある)センスラインによって結合された列で配列されたメモリセルを含むことがある。単一のアレイ130が
図1に示されているが、実施形態はそのように制限されていない。例えば、メモリデバイス120はいくつかのアレイ130(例えば、DRAMセルのいくつかのバンク)を含んでよい。DRAMアレイの例は、
図2に関連して説明される。
【0016】
メモリデバイス120は、I/O回路網144を通してI/Oバス156(例えば、データバス)上で提供されるアドレス信号をラッチするためにアドレス回路網142を含む。アドレス信号は、メモリアレイ130にアクセスするために行デコーダ146及び列デコーダ152によって受信され、復号される。データは、検出回路網150を使用してセンスライン上で電圧及び/または電流の変化を検出することによってメモリアレイ130から読み取ることができる。検出回路網150は、メモリアレイ130からデータのページ(例えば、行)を読み取り、ラッチできる。I/O回路網144は、I/Oバス156を介してホスト110との双方向データ通信に使用できる。書込み回路網148は、メモリアレイ130にデータを書き込むために使用される。
【0017】
制御回路網140は、ホスト110から制御バス154によって提供される信号を復号する。これらの信号は、データ読取り動作、データ書込み動作、及びデータ消去動作を含んだ、メモリアレイ130上で実行される動作を制御するために使用されるチップイネーブル信号、書込みイネーブル信号、及びアドレスラッチ信号を含むことがある。多様な実施形態では、制御回路網140はホスト110からの命令を実行する責任がある。制御回路網140は、状態機械、シーケンサ、またはなんらかの他のタイプのコントローラであることがある。
【0018】
検出回路網150の例は、
図2及び
図3に関連してさらに以下に説明される。例えば、いくつかの実施形態では、検出回路網150は、いくつかのセンス増幅器(例えば、
図2に示されるセンス増幅器206または
図3に示されるセンス増幅器306)、及びアキュムレータ(例えば、
図2に示される計算構成要素231)を含み、(例えば、相補的なセンスラインと関連付けられたデータに対して)論理演算を実行するために使用できるいくつかの計算構成要素を含むことがある。いくつかの実施形態では、検出回路網(例えば、150)は、入力としてアレイ130に記憶されたデータを使用して論理演算を実行し、センスラインアドレスアクセスを介して転送することなく(例えば、列復号信号を発することなく)アレイ130に論理演算の結果を記憶し直すために使用できる。したがって、多様な計算機能は、検出回路網の外部の処理リソースによって(例えば、ホスト110と関連付けられたプロセッサ、及び/またはALU回路網等の、デバイス120上に(例えば、制御回路網140または他の場所に)位置する他の処理回路網によって)実行されるよりむしろ、検出回路網150を使用する範囲内で実行できる。多様な以前の手法では、例えばオペランドと関連付けられたデータは、検出回路網を介してメモリから読み取られ、ローカルI/Oラインを介して外部ALU回路網に提供されるだろう。外部ALU回路網はオペランドを使用して計算機能を実行し、結果はローカルI/Oラインを介してアレイに転送し直されるだろう。対照的に、本開示のいくつかの実施形態では、検出回路網(例えば150)は、メモリ(例えば、アレイ130)に記憶されたデータに対して論理演算を実行し、検出回路網に結合されたローカルI/Oラインを有効にすることなく、メモリに結果を記憶するように構成される。
【0019】
したがって、いくつかの実施形態では、検出回路網150が外部処理リソースを使用しなくても係る計算機能を実行するために適切な論理演算を実行できるので、計算機能を実行するためにアレイ130及び検出回路網150にとって外部の回路網は必要とされない。したがって、検出回路網150は、少なくともある程度まで係る外部処理リソース(または係る外部処理リソースの少なくとも帯域幅)を誉める、及び/または置換するために使用されてよい。ただし、多くの実施形態では、検出回路網150は、外部処理リソース(例えば、ホスト110)によって実行される論理演算に加えて(例えば命令を実行するための)論理演算を実行するために使用されてよい。例えば、ホスト110及び/または検出回路網150は、特定の論理演算及び/または特定数の論理演算だけを実行することに制限されてよい。
【0020】
図2は、本開示のいくつかの実施形態に係る検出回路網に結合されたメモリアレイ230の一部の概略図を示す。この例では、メモリアレイ230は、それぞれがアクセスデバイス202(例えば、トランジスタ)及び記憶要素203(例えば、コンデンサ)から構成された1T1C(ワントランジスタワンコンデンサ)メモリセルのDRAMアレイである。いくつかの実施形態では、メモリセルは破壊読出しメモリセルである(例えば、セル内に記憶されたデータを読み出すとデータが破壊されるため、セルに最初に記憶されたデータは読み出された後にリフレッシュされる)。アレイ230のセルは、ワードライン204−0(Row0)、204−1(Row1)、204−2、(Row2)204−3(Row3)、...、204−N(RowN)によって結合された行、及びセンスライン(例えば、デジットライン)205−1(D)及び205−2(D_)によって結合された列で配列される。この例では、セルの各列は1組の相補的なセンスライン205−1(D)及び205−2(D_)と関連付けられる。メモリセルの単一の列だけが
図2Aに示されるが、実施形態はこのように制限されていない。例えば、特定のアレイは、メモリセル及び/またはセンスラインのいくつかの列を有してよい(例えば、4,096、8,192、16,384等)。特定のメモリセルトランジスタ202のゲートは、その対応するワードライン204−0、204−1、204−2、204−3、...、204−Nに結合され、第1のソース/ドレイン領域はその対応するセンスライン205−1に結合され、特定のメモリセルトランジスタの第2のソース/ドレイン領域は対応するコンデンサ203に結合される。
図2Aに示されていないが、センスライン205−2はメモリセルの列に結合されてもよい。
【0021】
アレイ230は本開示のいくつかの実施形態に係る検出回路網に結合される。この例では、検出回路網はセンス増幅器206及び計算構成要素231を含む。検出回路網は、
図1に示される検出回路網150であることがある。センス増幅器206は、メモリセルの特定の列に対応する相補的なセンスラインD、D_に結合される。センス増幅器206は、
図3に関連して以下に説明されるセンス増幅器306等のセンス増幅器であることがある。したがって、センス増幅器206は、選択されたセルに記憶された状態(例えば、論理データ値)を決定するために操作できる。実施形態は例のセンス増幅器206に制限されない。例えば、本明細書に説明されるいくつかの実施形態に係る検出回路網は、カレントモードセンス増幅器及び/またはシングルエンドセンス増幅器(例えば、1本のセンスラインに結合されたセンス増幅器)を含むことがある。
【0022】
いくつかの実施形態では、計算構成要素(例えば、231)は、センス増幅器(例えば、206)及び/又は特定の形状(例えば、4F
2、6F
2等)に適合してよいアレイ(例えば、230)のメモリセルのトランジスタとピッチ上に形成されたいくつかのトランジスタを含むことがある。以下にさらに説明されるように、計算構成要素231は、センス増幅器206と連動して、入力としてのアレイ230からのデータを使用して多様な論理演算を実行し、センスラインアドレスアクセスを介してデータを転送することなく(例えば、ローカルI/Oラインを介してアレイ及び検出回路網から外部の回路網にデータが転送されるように列復号信号を発することなく)アレイ230に結果を記憶し直すために動作できる。したがって、本開示のいくつかの実施形態は、論理演算、及び論理演算に関連付けられた計算機能を、多様な以前の手法より少ない電力を使用して実行することを可能にできる。さらに、いくつかの実施形態は、計算機能を実行するためにローカルI/Oラインに渡ってデータを転送する必要性を排除するので、いくつかの実施形態は、以前の手法と比較して拡大された並列処理機能を可能にできる。
【0023】
図2に示されている例では、計算構成要素231に対応する回路網はセンスラインD及びD_のそれぞれに結合された5つのトランジスタを含む。ただし、実施形態はこの例に制限されない。トランジスタ207−1及び207−2は、それぞれセンスラインD及びD_に結合された第1のソース/ドレイン領域、及び交差結合ラッチに結合された(例えば、交差結合NMOSトランジスタ208−1及び208−2、並びに交差結合PMOSトランジスタ209−1及び209−2等の1組の交差結合トランジスタに結合された第2のソース/ドレイン領域を有する。本明細書にさらに説明されるように、トランジスタ208−1、208−2、209−1、及び209−2を含む交差結合ラッチは、二次ラッチと呼ばれることもある(センス増幅器206に対応する交差結合ラッチは、本明細書では一次ラッチと呼ばれることがある)。
【0024】
トランジスタ207−1及び207−2は、それぞれのセンスラインD及びD_上の電圧または電流を、トランジスタ208−1、208−2、209−1、及び209−2を含む交差結合ラッチの入力(例えば、二次ラッチの入力)に渡すために、それぞれの信号211−1(Passd)及び211−2(Passdb)を介して有効化できるパストランジスタと呼ばれることもある。この例では、トランジスタ207−1の第2のソース/ドレイン領域は、トランジスタ208−2及び209−2のゲートにだけではなく、トランジスタ208−1及び209−1の第1のソース/ドレイン領域にも結合される。同様に、トランジスタ207−2の第2のソース/ドレイン領域は、トランジスタ208−1及び209−1のゲートにだけではなく、トランジスタ208−2及び209−2の第1のソース/ドレイン領域にも結合される。
【0025】
トランジスタ208−1及び208−2の第2のソース/ドレイン領域は、負の制御信号212−1(Accumb)に共通で結合される。トランジスタ209−1及び209−2の第2のソース/ドレイン領域は、正の制御信号212−2(Accum)に共通で結合される。Accum信号212−2は供給電圧(例えば、Vcc)であることがあり、Accumb信号は基準電圧(例えば、接地)である場合がある。有効化信号212−1及び212−2は、二次ラッチに対応するトランジスタ208−1、208−2、209−1、及び209−2を含む交差結合ラッチを活性化する。活性化されたセンス増幅器の組は、ノード217−1がAccum信号電圧及びAccumb信号電圧の内の一方に(例えば、Vcc及び接地の内の1つに)駆動され、ノード217−2がAccum信号電圧及びAccumb信号電圧の他方に駆動されるように、共通ノード217−1と共通ノード217−2の間の差動電圧を増幅するために動作する。以下にさらに説明されるように、二次ラッチは論理演算を実行するために使用される一方でアキュムレータとしての機能を果たすことができるので、信号212−1及び212−2は「Accum」及び「Accumb」と名付けられる。いくつかの実施形態では、アキュムレータは、パストランジスタ207−1及び208−2だけではなく二次ラッチを形成する交差結合トランジスタ208−1、208−2、209−1、及び209−2も含む。本明細書にさらに説明されるように、多くの実施形態では、センス増幅器に結合されたアキュムレータを含む計算構成要素は、1組の相補的なセンスラインの少なくとも一方での信号(例えば、電圧または電流)によって表されるデータ値に対して蓄積動作を実行することを含む論理演算を実行するように構成できる。
【0026】
また、計算構成要素231は、それぞれのデジットラインD及びD_に結合された第1のソース/ドレイン領域を有するトランジスタ214−1及び214−2を逆転することも含む。トランジスタ214−1及び214−2の第2のソース/ドレイン領域は、それぞれトランジスタ216−1及び216−2の第1のソース/ドレイン領域に結合される。トランジスタ214−1及び214−2のゲートは、信号213(InvD)に結合される。トランジスタ216−1のゲートは、トランジスタ208−2のゲート、トランジスタ209−2のゲート、及びトランジスタ208−1の第1のソース/ドレイン領域も結合される共通ノード217−1に結合される。相補的なやり方で、トランジスタ216−2のゲートは、トランジスタ208−1のゲート、トランジスタ209−1のゲート、及びトランジスタ208−2の第1のソース/ドレイン領域も結合される共通ノード217−2に結合される。したがって、有効化信号InvDは、二次ラッチに記憶されるデータ値を反転するために働き、反転した値をセンスライン205−1及び205−2上に駆動する。
【0027】
図2では、計算構成要素231は、AND演算、NAND演算、及び/またはNOT(例えば、反転)演算を実行するように構成される。以下の例は、3入力NAND演算が入力としてアレイ230に記憶されたデータを使用してどのように実行できるのか、及びNAND演算の結果が検出回路網(例えば、センス増幅器206及び計算構成要素231)の演算を介してアレイにどのように記憶できるのかを例証する。例は、ワードライン204−0、204−1、及び204−2に結合され、NAND演算のそれぞれの入力としてセンスライン205−1に共通で結合されたメモリセルに記憶されたデータ値(例えば、論理1または論理0)を使用することを含む。NAND演算の結果は、(例えば、セルに記憶された以前のデータ値を上書きすることによって)ワードライン204−3に、及びセンスライン205−1に結合されたメモリセルに記憶される。
【0028】
3入力NAND演算の第1の演算フェーズは、センス増幅器206を使用してRow0メモリセルに対して検出動作を実行して、NAND演算の第1の入力としての機能を果たすその記憶されているデータ値を決定することを含む。センス増幅器206は、
図3に関連して以下に説明されるセンス増幅器306と同様に動作できる。検出動作はRow0を有効化する(例えば、アクセストランジスタ202を活性化する)ことを含み、論理1に対応する電圧(例えば、Vcc)または論理0に対応する電圧(例えば、接地)がセンスラインD上となり(他の電圧が相補的なセンスラインD_上となり)、したがって検出されたデータ値はセンス増幅器206に対応する一次ラッチに記憶される。Row0メモリセルが検出された後、Passd信号及びPassdb信号211−1/211−2が有効化され、Accumb信号及びAccum信号212-1/212−2が有効化され、Row0メモリセルに記憶されている検出されたデータ値が、計算構成要素231に対応する二次ラッチにコピーされることになる。Passd信号及びPassdb信号が次いで無効化される。しかしながら、Accum信号及びAccumb信号は(後述されるように、第2の演算フェーズ、第3の演算フェーズ、及び第4の演算フェーズの間)有効化されたままである。Row0は次いで無効化され、平衡が発生する。
図3に関連して以下に説明されるように、平衡は、例えばVcc/2であることがある平衡電圧で相補的なセンスラインD及びD_をともに短絡させることを含むことがある。平衡は、例えば、メモリセル検出動作の前に発生することがある。
【0029】
3入力NAND演算の第2のフェーズは、センス増幅器206を使用してRow1メモリセルに対して検出演算を実行して、NAND演算の第2の入力としての機能を果たすその記憶されたデータ値を決定することを含む。したがって、Row1は有効化され、センスラインD及びD_はそれぞれVcc及び接地の内の異なる1つに駆動される。この例では、センスラインD上のVcc電圧はメモリセルに記憶された論理1に対応し、センスラインD上の接地電圧は論理0に対応する。ただし、実施形態はこの例に制限されていない。Row1メモリセルが検出された後、Passd信号211−1が有効化される。一方、Passdb信号211−2は無効化されたままである(例えば、Passdだけが有効化される)。Accumb信号及びAccum信号212−1/212−2は有効化されたままであることを思い出すこと。Row1メモリセルに記憶されたデータ値が論理0である場合、次いで二次ラッチと関連付けられた蓄積された値は、二次ラッチが論理0を記憶するように低(low)にアサートされる。Row1メモリセルに記憶されたデータ値が論理0ではない場合、次いで二次ラッチはその記憶されたRow0データ値(例えば、論理1又は論理0)を保持する。したがって、この例では、二次ラッチはゼロ(0)アキュムレータとしての機能を果たしている。Passd信号は次いで無効化され、Row1は無効化され、平衡が発生する。
【0030】
3入力NAND演算の第3のフェーズは、センス増幅器206を使用してRow2メモリセルに対して検出動作を実行して、NAND演算の第3の入力としての機能を果たすその記憶されたデータ値を決定することを含む。したがって、Row2は有効化され、センスラインD及びD_はそれぞれVcc及び接地の異なる1つに駆動される。Row2メモリセルが検出されると、Passd信号211−1が有効化される。一方、Passdb信号211−2は無効化されたままである(例えば、Passdだけが有効化される)。Accumb信号及びAccum信号212−1/212−2が有効化されたままとなることを思い出すこと。Row2メモリセルに記憶されたデータ値が論理0である場合には、二次ラッチと関連付けられた蓄積された値が、二次ラッチが論理0を記憶するように低にアサートされる。Row2メモリセルに記憶されているデータ値が論理0ではない場合、次いで二次ラッチはその以前に記憶された値(例えば、その記憶された値)を保持する。したがって、二次ラッチに記憶された値(例えば、アキュムレータの出力)は、それぞれのRow0メモリセル、Row1メモリセル、及びRow2メモリセルに記憶されたデータ値のANDである。Passd信号は次いで無効化され、Row2は無効化され、平衡が発生する。
【0031】
3入力NAND演算の第4のフェーズは、センスラインD及びD_が浮動であるように平衡を無効化することを含む。InvD信号213が次いで有効化され、その結果二次ラッチに記憶されたデータ値が反転する(例えば、蓄積された出力を反転する)。したがって、Row0からRow2のメモリセルのいずれかが論理0を記憶していた場合(例えば、NAND演算の3つの入力の内のいずれかが論理0であった場合)、次いでセンスラインD_は論理0に対応する電圧(例えば、接地電圧)を通し、センスラインDは論理1に対応する電圧(例えば、Vcc)を通す。Row0からRow2のメモリセルのすべてが論理1を記憶していた(例えば、NAND演算の3つの入力のすべてが論理1であった)場合、次いでセンスラインD_は論理1に対応する電圧を通し、センスラインDは論理0に対応する電圧を通す。センス増幅器206の一次ラッチは、次いで有効化され、センスラインDはここでRow0メモリセルからRow2メモリセルからそれぞれの入力データ値のNANDされた結果を含む。したがって、センスラインDは、Row0からRow2のメモリセルのいずれかが論理0を記憶していた場合Vccとなり、Row0からRow2メモリセルのすべてが論理1を記憶していた場合接地となる。NAND演算の結果は、次いでアレイ230のメモリセルに記憶し直される。この例では、NAND演算の結果はRow3メモリセルに記憶できる。NAND演算の結果をRow3メモリセルに記憶することは、Row3を有効化することによってRow3アクセストランジスタ202を活性化することを含むにすぎない。Row3メモリセルのコンデンサ203は、センスラインDでのデータ値(例えば、論理1または論理0)に対応する電圧に駆動され、そのことにより、基本的には以前にRow3メモリセルに記憶されていたどのようなデータ値も上書きされる。実施形態はこのように制限されていない。例えば、いくつかの実施形態では、論理演算の結果はRow3のメモリセル以外のメモリセルに書き込まれてよい。例えば、結果は演算の入力として使用されたデータを最初に記憶したメモリセルの内の1つに(例えば、Row0、Row1、及びRow2のセルの内の1つに)記憶し直すことができる。いくつかの実施形態では、論理演算の結果はアレイに記憶し直されない場合がある。例えば、論理演算を実行した後、結果はアキュムレータ(例えば、計算構成要素231のアキュムレータ)から(センス増幅器に結合されたローカルI/Oラインを介して)外部デバイスに転送されてよい。
【0032】
上記の例は3入力NAND演算を含んでいたが、実施形態はこのように制限されない。例えば、いくつかの実施形態では、入力の数は、特定のアレイと関連付けられた行の数(例えば、N)に等しいことがある。すなわち、
図2に説明されている同じ検出回路網は、N入力NAND機能を実行するために使用できる。また、
図2に説明されている検出回路網等の検出回路網も並列での多数の論理演算の実行を可能にできる。例えば、16K列を有するアレイでは、バスを介してアレイ及び検出回路網からデータを転送することなく、及び/またはローカルI/Oラインを介してアレイ及び検出回路網からデータを転送することなく16K論理演算を並列で実行できる。
【0033】
また、当業者は、NAND論理演算を実行する能力が、他の主要な数学機能及び/またはパターン比較機能の中で、加算、減算、及び乗算等のより複雑な計算機能の実行を可能にできることを理解する。例えば、一連のNAND演算は全加算器機能を実行するために結合できる。一例として、全加算器が、12のNANDゲートがキャリーイン及びキャリアアウトともに2つのデータ値を加算することを必要とする場合、合計384のNAND演算(12x32)が2つの32ビットの数を加算するために実行できるだろう。また、本開示の実施形態は非ブール(例えば、コピー、比較等)であってよい論理演算を実行するために使用することができ、事実上NAND演算より複雑であってもなくてもよい。
【0034】
さらに、いくつかの実施形態では、実行された論理演算に対する入力は、検出回路網(例えば、150)が結合されるメモリアレイに記憶されたデータ値でないことがある。例えば、論理演算に対するいくつかの入力は、アレイ(例えば、230)の行を活性化することなくセンス増幅器(例えば、206)によって検出できる。一例として、いくつかの入力は、センス増幅器に結合されたI/Oライン(例えば、
図3に示されるI/Oライン334−1及び334−2)を介してセンス増幅器206によって受け取られることがある。係る入力は、ホストプロセッサ(例えば、ホスト110)及び/または例えば、外部コントローラから等、アレイ230にとって外部のソースからセンス増幅器206に(例えば、適切なI/Oラインを介して)提供されてよい。別の例として、論理演算を実行することに関連して、特定のセンス増幅器(例えば、206)及びその対応する計算構成要素(例えば、231)に対する入力は、異なるセンス増幅器/計算構成要素の組から受け取られてよい。例えば、セルの第1の列に結合された第1のアキュムレータに記憶されていたデータ値(例えば、論理結果)は、第1の列と同じアレイに位置していることもあれば、位置していないこともあるセルの異なる列と関連付けられた異なる(例えば、近傍の)センス増幅器/計算構成要素の組に転送されてよい。
【0035】
本開示の実施形態は、
図2に示される特定の検出回路網の構成に制限されない。例えば、異なる計算構成要素回路網が、本書に説明されるいくつかの実施形態に従って論理演算を実行するために使用できる。
図2に示されていないが、いくつかの実施形態では、制御回路網は、アレイ230、センス増幅器206、及び/または計算構成要素231に結合できる。係る制御回路網はアレイ及び検出回路網と同じチップ上に及び/または例えば外部プロセッサ等の外部処理リソース上に実装されてよく、本明細書に説明されるように論理演算を実行するためにアレイ及び検出回路網に対応する多様な信号を有効化する/無効化することを制御できる。
【0036】
図2Bは、本開示の多くの実施形態に係る検出回路網を使用して論理演算を実行することに関連付けられたタイミング
図285を示す。例として、タイミング
図285は、上述されたフェーズ等の3入力NAND演算のフェーズを示すことがある。タイミング
図285は、論理演算の第1のフェーズを実行することと関連付けられた電圧信号を示す。以下にさらに説明されるように、
図2Bに示される論理演算フェーズを実行することは、電圧レール間(例えば、供給電圧と接地の間)で完全な振幅を提供して計算機能を実行することを含んでよい、以前の処理手法よりもはるかに少ないエネルギー(例えば、約半分)を消費することを含むことがある。
【0037】
図2Bに示されている例では、相補的な論理値(例えば、「1」及び「0」)に対応する電圧レールは、供給電圧274(VDD)及び接地電圧272(Gnd)である。論理演算を実行する前に、相補的なセンスラインD及びD_が平衡電圧225(VDD/2)でともに短絡するように平衡が発生することがある。平衡は、
図3と関連してさらに以下に説明される。
【0038】
時刻t
1で、平衡信号226が不活性化され、次いで行が活性化される(例えば、データ値が検出されることになるメモリセルに対応する行)。信号204は、選択された行に印加される電圧信号を表す。行信号204が選択されたセルに対応するアクセストランジスタ(例えば、202)の閾値電圧(Vt)に到達すると、アクセストランジスタはオンになり、センスラインDを選択されたメモリセルに(例えば、セルが1T1C DRAMセルである場合、コンデンサ203に)結合し、時刻t
2とt
3との間で(例えば、それぞれ信号205−1及び205−2によって示されるような)センスラインDとD_の間の差動電圧信号を生じさせる。選択されたセルの電圧は、信号203によって表される。行信号204を活性化する/不活性化することに関連付けられたエネルギーは、該行に結合された複数のメモリセル上で償却できる(amortize)ので、省エネルギー策によって、(例えば、Dにセルを結合することによって)DとD_の間の差分信号を生じさせてもエネルギーは消費されない。
【0039】
時刻t
3で、センス増幅器が発し(例えば、正の制御信号231(例えば、
図3に示されるPSA331)が高(high)になり、負の制御信号228(例えば、RNL_328)が低になる)、そのことが差分信号を増幅する。一次エネルギー消費は、VDD/2からVDDにセンスラインD205−1を充電する際に発生する。
【0040】
時刻t
4で、パストランジスタ207−1及び/または207−2が、特定の論理演算に応じて活性化される。タイミング
図285は、NAND演算の第1のフェーズを説明しているので、パストランジスタ207−1と207−2の両方ともが活性化される(上述されたように、NAND演算の以後のフェーズでは、パストランジスタの内の1台(例えば、207−1)だけが蓄積演算中に活性化される)。時刻t
5で、アキュムレータ制御信号212−1(Accumb)及び212−2(Accum)が活性化される。上述されたように、NAND演算の以後のフェーズでは、アキュムレータ制御信号212−1及び212−2はすでに活性化されているだろう。したがって、この例では、制御信号212−1及び212−2を活性化すると、アキュムレータが活性化される。アキュムレータが以前に活性化されていた場合、次いでpassd211を活性化すると、電圧信号205−1に対応するデータ値が蓄積される。
【0041】
時刻t
6で、パストランジスタ207−1及び207−2が不活性化される。しかしながら、アキュムレータ制御信号212−1及び212−2は活性化されたままであるので、蓄積された結果はアキュムレータに記憶される(例えば、ラッチされる)。時刻t
7で、行信号204は不活性化され、アレイセンス増幅器は時刻t
8で不活性化される(例えば、センス増幅器制御信号228及び231が不活性化される)。
【0042】
時刻t
9で、センスラインD及びD_が、センスライン電圧信号205−1及び205−2がそのそれぞれのレール値から平衡電圧225(VDD/2)に移動することによって示されるように平衡化する(例えば、平衡信号226が活性化される)。平衡は、エネルギー保存則のため、ほとんどエネルギーを消費しない。
【0043】
図2に関連する例の論理演算フェーズは、データ値(例えば、メモリセルから検出されたデータ値、及び/またはセンスラインの電圧または電流に対応するデータ値)を蓄積することを含む。省エネルギー策によって、論理演算フェーズを実行する際に消費されるエネルギーは、時刻t
3で(例えば、センス増幅器が発せられるときに)始まるセンスラインDまたはD_のキャパシタンスをVDD/2からVDDに充電する間に消費されるエネルギーにほぼ等しい。したがって、センスライン(例えば、デジットライン)をVDD/2からVDDに充電するために使用されるエネルギーをほぼ消費する論理演算が実行される。対照的に、多様な以前の処理手法は、少なくともレールからレールへ(例えば、接地からVDDにセンスラインを充電するために使用されるエネルギーの量を消費する。
【0044】
図3は、本開示のいくつかの実施形態に係る検出回路網の一部の概略図を示す。この例では、検出回路網の部分は、センス増幅器306を含む。いくつかの実施形態では、1台のセンス増幅器306(例えば、「センス増幅器」)が、アレイ(例えば、アレイ130)内のメモリセルの列ごとに提供される。センス増幅器306は、例えばDRAMアレイのセンス増幅器である場合がある。この例では、センス増幅器306は、1組の相補的なセンスライン305−1(「D」)及び305−2(「D_」)に結合される。したがって、センス増幅器306は、センスラインD及びD_を通してそれぞれの列のメモリセルのすべてに結合される。
【0045】
センス増幅器306は、負の制御信号328(RNL_)に結合されたそのそれぞれのソース、及びそれぞれセンスラインD及びD_に結合されたそのドレインを有する1組の交差結合nチャネルトランジスタ(例えば、NMOSトランジスタ)327−1及び327−2を含む。また、センス増幅器306は、正の制御信号331(PSA)に結合されたそのそれぞれのソース、及びそれぞれセンスラインD及びD_に結合されたそのドレインを有する1組の交差結合p−チャネルトランジスタ(例えば、PMOSトランジスタ)329−1及び329−2も含む。
【0046】
センス増幅器306は、それぞれセンスラインD及びD_に結合された1組の分離トランジスタ321−1及び321−2を含む。分離トランジスタ321−1及び321−2は、有効化時、トランジスタ321−1及び321−2を活性化して(例えば、オンにして)センス増幅器306をメモリセルの列に接続する制御信号322(ISO)に結合される。
図3には示されていないが、センス増幅器306は第1のメモリアレイ及び第2のメモリアレイに結合されてよく、センス増幅器306が第2のアレイに結合されるとセンス増幅器306が第1のアレイから分離され、逆の場合も同じとなるようにISOが有効化されると、無効化される、相補的な制御信号(例えば、ISO_)に結合された別の組の分離トランジスタを含むことがある。
【0047】
また、センス増幅器306はセンスラインD及びD_を平衡化するように構成された回路網も含む。この例では、平衡回路網は、Vcc/2に等しいことがある平衡電圧325(dvc2)に結合された第1のソース/ドレイン領域を有するトランジスタ324を含み、Vccはアレイと関連付けられた供給電圧である。トランジスタ324の第2のソース/ドレイン領域は、1組のトランジスタ323−1及び323−2の共通の第1のソース/ドレイン領域に結合される。トランジスタ323−1及び323−2の第2のソースドレイン領域は、それぞれセンスラインD及びD_に結合される。トランジスタ324、323−1、及び323−2のゲートは制御信号326(EQ)に結合される。したがって、EQを有効化すると、トランジスタ324、323−1、及び323−2が活性化され、そのことが、センスラインD及びD_が平衡電圧dvc2に平衡化されるように、実際上センスラインDをセンスラインD_に短絡させる。
【0048】
また、センス増幅器306は、ゲートが信号333(COLDEC)に結合されるトランジスタ332−1及び332−2も含む。信号333は、列復号信号または列選択信号と呼ばれることがある。センスラインD及びD_は、(例えば、読取り動作と関連してセンスラインアクセス等の動作を実行するために)有効化信号333に応えて、それぞれのローカルI/Oライン334−1(IO)及び334−2(IO_)に接続される。したがって、信号333はI/Oライン334−1及び334−2上のアレイの中からアクセスされるメモリセルの状態(例えば、論理0または論理1等の論理データ値)に対応する信号を転送するために有効化できる。
【0049】
動作中、メモリセルが検出されている(例えば、読み取られている)とき、センスラインD、D_の内の一方での電圧は、センスラインD、D_の内の他方のセンスラインでの電圧よりもわずかに大きくなる。PSA信号は、次いで高に駆動され、RNL_信号は低に駆動され、センス増幅器306を有効化する。より低い電圧を有するセンスラインD、D_は、PMOSトランジスタ329−1、329−2の内の一方をPMOSトランジスタ329−1、329−2の内の他方よりもより大きな範囲までオンにし、それによってより高い電圧を有するセンスラインD、D_を、他方のセンスラインD、D_が高に駆動されるよりも大きな範囲まで高に駆動する。同様に、より高い電圧を有するセンスラインD、D_はNMOSトランジスタ327−1、327−2の内の一方をNMOSトランジスタ327−1、327−2の他方よりもより大きな範囲までオンにし、それによってより低い電圧を有するセンスラインD、D_を、他方のセンスラインD、D_が低に駆動されるよりも大きな範囲まで低に駆動する。結果として、短い遅延後、わずかに大きな電圧を有するセンスラインD、D_は(供給電圧Vccであることがある)PSA信号の電圧に駆動され、他方のセンスラインD、D_は(接地電位等の基準電位であることがある)RNL_信号の電圧に駆動される。したがって、交差結合されたNMOSトランジスタ327−1、327−2、及びPMOSトランジスタ329−1、329−2は、センスラインD及びD_で差動電圧を増幅し、選択されたメモリセルから検出されたデータ値をラッチするのに役立つセンス増幅器の組としての機能を果たす。本明細書に説明されるように、センス増幅器306の交差結合ラッチは、一次ラッチと呼ばれてよい。対照的に、及び
図2との関連で上述されたように、計算構成要素(例えば、
図2に示される計算構成要素231)と関連付けられた交差結合ラッチは二次ラッチと呼ばれてよい。
結論
【0050】
本開示は、検出回路網を使用して論理演算を実行することに関係する装置及び方法を含む。例示の装置は、メモリセルのアレイ、及び該アレイに結合された検出回路網を含む。検出回路網は、第1の入力としてセンスラインに結合された第1のメモリセルに記憶されたデータ値、及び第2の入力としてセンスラインに結合された第2のメモリセルに記憶されたデータ値を使用して論理演算を実行するように構成される。検出回路網は、センスラインアドレスアクセスを介してデータを転送することなく論理演算を実行するように構成される。
【0051】
特定の実施形態が本明細書に示され、説明されてきたが、当業者は、同じ結果を達成するために計算された構成が、示されている特定の実施形態の代わりになることができることを理解するだろう。本開示は、本開示の1つまたは複数の実施形態の適応形態または変形形態を取り扱うことを目的とする。上述の説明が、制限的ではなく、例示的に行われてきたことが理解されるべきである。上記実施形態、及び本明細書で明確に説明されていない他の実施形態の組合せは、上記説明を検討すると当業者に明らかになる。本開示の1つまたは複数の実施形態の範囲は、上述の構造及び方法が使用される他の用途を含む。したがって、本開示の1つまたは複数の実施形態の範囲は、係る請求項が権限がある同等物の完全な範囲とともに、特許請求項の範囲を参照して決定されるべきである。
【0052】
上記の発明を実施するための形態では、本開示の合理化を目的として単一の実施形態にいくつかの特徴がグループ化されている。本開示のこの方法は、本開示の開示された実施形態が、各請求項に明示的に記載されるよりも多くの特徴を使用しなければならないという意図を反映するとして解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、本発明の主題は、単一の開示された実施形態のすべてに満たない特徴にある。したがって、以下の特許請求の範囲は、本明細書によって発明を実施するための形態に組み込まれ、各請求項は別個の実施形態として自立している。