(57)【特許請求の範囲】
【請求項１】
複数の共有入力／出力（Ｉ／Ｏ）線であって、
メモリセルのアレイの行の第１のサブ行をデータパスの第１の計算コンポーネントに検出回路を介して選択可能に結合して、前記第１のサブ行から前記第１の計算コンポーネントに第１のデータ値を移動するように、且つ、
前記行の第２のサブ行を前記データパスの第２の計算コンポーネントに前記検出回路を介して選択的に結合して、前記第２のサブ行から前記第２の計算コンポーネントに第２のデータ値を移動するように、
構成された前記複数の共有入力／出力（Ｉ／Ｏ）線と、
前記第２のデータ値の前記第２のサブ行から前記第２の計算コンポーネントへの移動とほぼ同時に、前記第１のサブ行から移動された前記第１のデータ値に対して計算動作を行うように前記第１の計算コンポーネントに指示するように構成されたコントローラと、
を含む、装置。
【請求項２】
前記データパスは、前記第１のサブ行の複数のメモリセルのある数に対応する複数の第１の計算コンポーネントのある数を含む第１の論理ストライプと、
前記第２のサブ行の複数のメモリセルのある数に対応する複数の第２の計算コンポーネントのある数を含む第２の論理ストライプと、
をさらに含む、請求項１に記載の装置。
【請求項３】
前記データパスは、複数の論理ストライプであって、それぞれ、複数の計算コンポーネントを含む前記複数の論理ストライプを含む計算ユニットをさらに含み、
前記複数の計算コンポーネントは、それぞれ、前記アレイにローカルな前記複数の共有Ｉ／Ｏ線の少なくとも１つに関連付けられる、
請求項１に記載の装置。
【請求項４】
前記データパスは、前記行の複数のサブ行のある数に対応する複数の論理ストライプのある数をさらに含む、請求項１〜３のいずれか１項に記載の装置。
【請求項５】
前記データパスは、前記行のサブ行の複数のメモリセルのある数に対応する前記複数の共有Ｉ／Ｏ線のある数をさらに含み、
論理ストライプは、前記論理ストライプに結合された前記サブ行の前記複数のメモリセルの前記数に対応する複数の計算コンポーネントのある数を含む、
請求項１〜３のいずれか１項に記載の装置。
【請求項６】
命令を生成するように構成されたホストと、
前記ホストに結合されたメモリデバイスであって、
オペランドを記憶するように構成されたメモリセルアレイと、
前記アレイの行の第１のサブ行の複数のメモリセルのある数に対応する複数の第１の計算コンポーネントのある数を含む第１の論理ストライプを含む、データパス計算動作のためのデータパスの複数の論理ストライプと、
を含む前記メモリデバイスと、
制御回路であって、
前記アレイの第１の行の第１のサブ行からの、データパスとして共有される入力／出力（Ｉ／Ｏ）線を介した、前記データパスの前記第１の論理ストライプの第１の計算コンポーネントへの第１のデータ値の移動と、
前記第１の計算コンポーネントを用いた、前記第１のサブ行からの前記第１のデータ値に対する第１の演算の実行と、
前記第１の演算の実行により生じる第２のデータ値の、接続回路を介した前記第１の論理ストライプから前記データパスの第２の論理ストライプの第２の計算コンポーネントへの移動と、
を指示する前記ホストからの命令を実行するように構成された前記制御回路と、
を含む、システム。
【請求項７】
前記制御回路は、前記メモリデバイスにローカルで、前記ホストの外部にある、請求項６に記載のシステム。
【請求項８】
前記制御回路は、前記第２の論理ストライプの前記第２の計算コンポーネントを用いて、前記第２のデータ値に対する第２の演算の実行を指示する前記ホストからの命令を実行するようにさらに構成される、請求項６に記載のシステム。
【請求項９】
前記制御回路は、前記第２の演算の実行により生じる第３のデータ値の、前記接続回路を介した前記第２の論理ストライプから第３の論理ストライプの第３の計算コンポーネントへの移動を指示する前記ホストからの命令を実行するようにさらに構成される、請求項６〜８のいずれか１項に記載のシステム。
【請求項１０】
前記制御回路は、複数の論理ストライプの対応する数を通して論理演算結果のシストリック移動による複数の論理演算シーケンスのある数の実行を指示する前記ホストからの命令を実行するようにさらに構成され、
複数の前記論理演算結果のうちのある数は、前記複数の論理ストライプの前記対応する数の複数の計算コンポーネントの対応する数を用いて計算される、
請求項６〜８のいずれか１項に記載のシステム。
【請求項１１】
前記複数の論理ストライプは、複数の論理演算シーケンスのある数に対応する複数の領域のある数を含み、
前記制御回路は、前記複数の論理演算シーケンスの開始をほぼ同時に指示する前記ホストからの命令を実行するようにさらに構成され、
前記複数の論理演算シーケンスは、それぞれ、前記複数の領域の異なる領域で行われるように指示される、
請求項６〜８のいずれか１項に記載のシステム。 
【請求項１２】
メモリデバイスを動作させる方法であって、
メモリセルアレイの第１の行の第１のサブ行のメモリセルからインデータパス計算動作のためにデータパスの第１の計算コンポーネントに移動されたデータ値に対して第１の演算を行うことと、
前記第１の計算コンポーネントと第２の計算コンポーネントとを選択可能に結合する接続回路を介して、前記第１の行の第２のサブ行のメモリセルから前記データパスの選択された前記第２の計算コンポーネントに、第２の演算の実行を可能にするために、第２のデータ値を前記第１の演算の実行と同時に移動することと、
を含み、
複数の共有入力／出力（Ｉ／Ｏ）線は、
前記第１のサブ行を前記第１の計算コンポーネントに、および
前記第２のサブ行を前記第２の計算コンポーネントに
検出回路を介して選択的に結合されるように構成される、
前記方法。
【請求項１３】
前記方法は、
第１の論理ストライプの前記第１の計算コンポーネントを用いて前記第１の演算を行うことと、
第２の論理ストライプの前記第２の計算コンポーネントを用いて前記第２の演算を行うことと、
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記方法は、
前記第１の演算及び前記第２の演算を、複数の論理ストライプのある数に対応する複数の論理演算のある数の最初の２つの演算として行うことをさらに含み、
前記複数の論理演算は、前記第１のサブ行の前記メモリセルから移動された前記データ値と、ある数の出力されたデータ値とに対して行われて、結果であるデータ値を生む連続した複数の論理演算である、
請求項１２または１３に記載の方法。
【請求項１５】
前記方法は、前記連続した複数の論理演算の最後の演算の完了の結果を、最後の論理ストライプから前記アレイの行の選択されたメモリセルに移動することをさらに含み、
前記最後の論理ストライプは、前記最後の演算が行われる論理ストライプである、
請求項１２または１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、半導体メモリ及び方法に関し、より詳細には、インデータパス計算動作のための装置及び方法に関する。
【背景技術】
【０００２】
メモリデバイスは、典型的に、コンピュータまたは他の電子システムの内部半導体集積回路として提供される。揮発性及び不揮発性メモリを含む多くの異なる種類のメモリがある。揮発性メモリは、データ（例えば、ホストデータ、エラーデータ等）を維持するために電力を必要とし得る、揮発性メモリは、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、及び、サイリスタランダムアクセスメモリ（ＴＲＡＭ）等を含む。不揮発性メモリは、電源が入っていない時、記憶されたデータを保持することによって永続的データを提供でき、特に、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、及び、相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、抵抗ランダムアクセスメモリ（ＲＲＡＭ）等の可変抵抗メモリ、及び、スピントルクトランスファーランダムアクセスメモリ（ＳＴＴ  ＲＡＭ）等の磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）等を含み得る。
【０００３】
電子システムは、ある数の処理リソース（例えば、１つまたは複数のプロセッサ）を含むことが多く、ある数の処理リソースが、命令を読み出し、及び、実行してよく、実行された命令の結果を適切な位置に記憶してよい。プロセッサは、算術論理演算ユニット（ＡＬＵ）回路、浮動小数点演算ユニット（ＦＰＵ）回路、及び、例えば、データ（例えば、１つまたは複数のオペランド）に対して演算を行うことによって命令を実行するために使用できる組み合わせ論理ブロック等、ある数の機能ユニットを含み得る。本明細書で使用される場合、演算は、例えば、ＡＮＤ、ＯＲ、ＮＯＴ、ＮＡＮＤ、ＮＯＲ、及び、ＸＯＲ等、ブール演算、及び／または、他の演算（例えば、反転、シフト、算術、統計、及び、多くの他の可能な演算）であってよい。例えば、機能ユニット回路を使用して、ある数の演算を介して、加算、減算、乗算、及び、除算等の算術演算をオペランドに対して行ってよい。
【０００４】
電子システムのある数のコンポーネントが、機能ユニット回路に実行のための命令を提供することに関与してよい。命令は、例えば、コントローラ及び／またはホストプロセッサ等の処理リソースによって、実行されてよい。データ（例えば、命令を実行する対象のオペランド）は、機能ユニット回路によってアクセス可能なメモリアレイに記憶されてよい。命令及び／またはデータは、メモリアレイから読み出されてよく、機能ユニット回路がデータに対して命令の実行を開始する前に、順序付け及び／またはバッファリングされてよい。さらに、異なる種類の演算が機能ユニット回路を通して１つまたは複数のクロックサイクルで行われる場合があるので、命令及び／またはデータの中間結果も順序付け及び／またはバッファリングされてよい。１つまたは複数のクロックサイクルで演算を完了するシーケンスは、演算サイクルと呼ばれてよい。演算サイクルの完了に使われる時間は、コンピューティング装置及び／またはシステムの処理及び計算性能、並びに、消費電力という点で費用計算される。
【０００５】
多くの例において、処理リソース（例えば、プロセッサ及び関連する機能ユニット回路）は、メモリアレイの外部にあってよく、データは、処理リソースとメモリアレイとの間のバスを介してアクセスされて、命令セットを実行する。処理性能は、インメモリ処理（ＰＩＭ：ｐｒｏｃｅｓｓｉｎｇ−ｉｎ−ｍｅｍｏｒｙ）デバイスで向上されてよく、イン
メモリ処理デバイスにおいては、処理及び／または論理リソースは、メモリの内部及び／または近くで（例えば、メモリアレイと同じチップ上で直接）実施されてよい。インメモリ処理（ＰＩＭ）デバイスは、外部との通信を低減または除くことによって、時間を節約し、電力も節約し得る。
【図面の簡単な説明】
【０００６】
【図１Ａ】本開示の幾つかの実施形態による、メモリデバイスを含むコンピューティングシステムの形態の装置のブロック図である。
【図１Ｂ】本開示の幾つかの実施形態による、アレイのバンク区分にローカルなデータパスに共有入力／出力（Ｉ／Ｏ）線を有するメモリデバイスを含むコンピューティングシステムの形態の装置の別のブロック図である。
【図２】本開示の幾つかの実施形態による、メモリデバイスの回路を含む概略図で、回路は、センスアンプ及び計算コンポーネントを含み、センスアンプ及び計算コンポーネントは、検出回路及び／または論理ストライプに含まれてよい。
【図３】本開示の幾つかの実施形態による、アレイのデータパスの複数の共有Ｉ／Ｏ線の回路を示す概略図である。
【図４】本開示の幾つかの実施形態による、アレイにローカルのデータパスの複数の共有Ｉ／Ｏ線によって、複数の論理ストライプを有する計算ユニットに結合されたアレイの複数の部分を示すブロック図である。
【図５】本開示の幾つかの実施形態による、メモリデバイスのコントローラの例を示すブロック図である。
【図６】本開示の幾つかの実施形態による、メモリデバイスのコントローラの別の例を示すブロック図で、コントローラは、共有Ｉ／Ｏ線を用いて、複数の論理ストライプを有する計算ユニットへのデータ値の移動を制御する。
【図７】本開示の幾つかの実施形態による、論理ストライプの計算コンポーネントを示す概略図である。
【図８】本開示の幾つかの実施形態による、図７に示す計算コンポーネントによって実施される選択可能な論理演算結果を示す論理表である。
【図９Ａ】本開示の実施形態による、メモリデバイスのデータ値に対する演算を実行するための幾つかのスケジュールポリシーの実施を示す概略図である。
【図９Ｂ】本開示の実施形態による、メモリデバイスのデータ値に対する演算を実行するための幾つかのスケジュールポリシーの実施を示す概略図である。
【図９Ｃ】本開示の実施形態による、メモリデバイスのデータ値に対する演算を実行するための幾つかのスケジュールポリシーの実施を示す概略図である。
【発明を実施するための形態】
【０００７】
本開示は、インデータパス計算動作のための装置及び方法を含む。少なくとも１つの実施形態において、装置は、メモリセルアレイとメモリセルアレイに選択可能に結合された検出回路とを有するメモリデバイスを含む。様々な実施形態において、メモリデバイスは、インメモリ処理（ＰＩＭ）デバイスであってよく、検出回路は、センスアンプを含んでよい。複数の入力／出力（Ｉ／Ｏ）線が、アレイに関連付けられたインデータパス計算動作のためのデータパスとして共有される（例えば、検出回路は、メモリセルの列及び／または共有Ｉ／Ｏ線に選択可能に結合されてよい）。
【０００８】
複数の共有Ｉ／Ｏ線は、アレイの行の第１のサブ行をデータパスの第１の計算コンポーネントに検出回路を介して選択可能に結合して、第１のデータ値を第１のサブ行から第１の計算コンポーネントに移動する。本明細書で使用される場合、「サブ行」は、所定の数のデータ値を記憶するアレイの行のメモリセルの所定のサブセットを意味する。例えば、行の１つのサブ行は、１６，３８４（１６Ｋ）のメモリセルを有する行の所定の１０２４（ＩＫ）のメモリセルであってよく、その結果、行は１６のサブ行（例えば、４２８−１
、４２８−２、...、４２８−１６で示され、図４、及び、本明細書の他の箇所に関連し
て記載される）からなってよい。複数の共有Ｉ／Ｏ線は、各行の第２のサブ行をデータパスの第２の計算コンポーネントに検出回路を介して選択可能に結合して、第２のデータ値を第２のサブ行から第２の計算コンポーネントに移動する。第２のサブ行から第２の計算コンポーネントに第２のデータ値を移動するのとほぼ同時に、（例えば、コントローラに指示されて）第１の計算コンポーネントを用いて、第１のサブ行からの第１のデータ値に対して演算が行われてよい。
【０００９】
第１及び第２等の序数は、本明細書では、類似の及び／または選択可能に結合されたコンポーネント間（例えば、メモリセルのサブアレイ、データ値及び関連付けられた計算コンポーネント、メモリセルのサブ行及び関連付けられた計算コンポーネント、論理ストライプ及び関連付けられた計算コンポーネント、接続回路及び関連付けられた計算コンポーネント、及び／または、論理ストライプ等）の相関及び／または区別を助けるために使用されており、（例えば、隣の等の語を使用することによって）文脈より明らかに別段の場合を除き、コンポーネント間の特定の順序及び／または関係を示して使用されてはいない。
【００１０】
例えば、メモリアレイの第１の行の第１のサブ行から共有Ｉ／Ｏ線を介して第１の論理ストライプの第１の計算コンポーネントに第１のデータ値を移動することは、特定の行の特定のサブ行（サブ行のシーケンスの一番目のサブ行であってよいが、必ずしもそうではない）からの特定のデータ値が特定の論理ストライプの特定の計算コンポーネント（それぞれ、計算コンポーネント及び／または論理ストライプのシーケンスの一番目であってよいが、必ずしもそうではない）に移動してよいことを示す意図がある。同様に、第１の行の第２のサブ行（上述の第１のサブ行の隣の次のサブ行であってよいが、必ずしも、サブ行のシーケンスの２番目のサブ行でなくてもよい）からの第２のデータ値の移動は、同じ行の第２のサブ行から特定の値が異なる論理ストライプの特定の計算コンポーネントに移動されてよいことを示す。例えば、第２のデータ値が第２の論理ストライプの第２の計算コンポーネントに移動されるという言及は、このようなコンポーネントの第１として以前言及したものと異なる計算コンポーネント及び／または論理ストライプに第２のデータ値を関連付けるために使用される。従って、第２の計算コンポーネントは、第２の論理ストライプの計算コンポーネントのシーケンスの第１の計算コンポーネントであってよいが、必ずしもそうではなく、及び／または、第２の論理ストライプは、論理ストライプのシーケンスの２番目の論理ストライプであってよいが、必ずしもそうではない。
【００１１】
同様に、本明細書に記載される場合、コントローラが、第１の演算サイクルにおいて、第１のサブ行の複数のデータ値のある数の、第１の論理ストライプの複数の第１の計算コンポーネントの対応する数への（例えば、共有Ｉ／Ｏ線を介した）第１の並行移動を指示するように構成されることは、コントローラが第１のサブ行の複数のデータ値に対応する特定の数の、第１の論理ストライプの同じ数の計算コンポーネントへの移動を特定の演算サイクルで（例えば、約２〜６０ナノ秒（ｎｓ）のタイムフレームで）の実行を指示してよいと示すことを意図している。コントローラが、第２の演算サイクルで、第２のサブ行の複数のデータ値のある数の、第２の論理ストライプの複数の第２の計算コンポーネントの対応する数への第２の並行移動を指示するように構成されることは、第２の演算サイクル（次の、例えば、隣の２〜６０ｎｓタイムフレームであってよいが、必ずしもそうではない）において、コントローラが、第２のサブ行の複数のデータ値に対応する特定の数の、第２の論理ストライプの同じ数の計算コンポーネントへの移動の実行を指示してよいと示すことを意図している。第２のサブ行の複数のデータ値、及び／または、第２の論理ストライプの第２の計算コンポーネントの特定の数は、第１のサブ行のデータ値、及び／または、第１の論理ストライプの第１の計算コンポーネントの数と同じ数であってよいが、必ずしも同じではない。
【００１２】
（例えば、１５５で示され、図１Ｂ及び本明細書の他の箇所に関連して記載される）共有Ｉ／Ｏ線は、（例えば、１３０で示され、図１Ａ及び本明細書の他の箇所に関連して記載される）メモリアレイに関連付けられたデータパスとして働く。共有Ｉ／Ｏ線は、（例えば、１５０で示され、図１Ａ及び本明細書の他の箇所に関連して記載される）検出回路を共有Ｉ／Ｏ線のデータパスの（例えば、２３１で示され、図２及び本明細書の他の箇所に関連して記載される）計算コンポーネントに結合する。共有Ｉ／Ｏ線のデータパスに関連付けられた計算コンポーネントは、データパスのピッチに等しく、メモリセルアレイに対する（例えば、２０５で示され、図２及び本明細書の他の箇所に関連して記載される）デジット線のピッチの関数であるピッチを有する。例えば、計算コンポーネントは、メモリセルアレイに対するデジット線のピッチの整数倍であるピッチを有する。
【００１３】
本明細書で使用される場合、「共有Ｉ／Ｏ線」は、メモリセルアレイのピッチの関数であるピッチを有するデータパスのアレイにローカルなＩ／Ｏ線を意味することを意図している。共有Ｉ／Ｏは、メモリアレイの（例えば、１２１−１で示され、図１Ｂ及び本明細書の他の箇所に関連して記載される）バンクに位置してよく、アレイの複数の列に多重化されてよい（例えば、ＤＲＡＭアレイへの相補デジット線）。共有Ｉ／Ｏは、アレイと関連付けられたＩ／Ｏ回路とは異なっており、別である。アレイと関連付けられたＩ／Ｏ回路は、ＤＤＲ４等のアレイプロトコルに従って、アレイに及びアレイからデータを移動すること、及び／または、（例えば、１１０で示され、図１Ａ及び本明細書の他の箇所に関連して記載される）ホストと接続して（例えば、１２０で示され、図１Ａ及び本明細書の他の箇所に関連して記載される）メモリデバイスに及びメモリデバイスからデータを移動することを意図している。
【００１４】
ある実施形態においては、計算コンポーネントは、データの共有Ｉ／Ｏ線に関連付けられた（例えば、１２４−１、１２４−２、．．．、１２４−Ｎで示され、図１Ｂ及び本明細書の他の箇所に関連して記載される）論理ストライプにあってよい。アレイは、アレイにローカルなデータパスに対して複数の共有Ｉ／Ｏ線を有してよく、各論理ストライプは、（例えば、４３１−１、４３１−２、...、４３１−Ｚで示され、図４及び本明細書の
他の箇所に関連して記載されるように）複数の計算コンポーネントを有してよい。複数の計算コンポーネントは、それぞれ、データパスの複数の共有Ｉ／Ｏ線の少なくとも１つに関連付けられる。ある実施形態においては、複数の計算コンポーネントのそれぞれのうちの１つが、データパスの複数の共有Ｉ／Ｏ線の特定の１つに関連付けられてよい。
【００１５】
様々な実施形態において、複数の計算コンポーネントは、それぞれ、データパスの複数の共有Ｉ／Ｏ線の別の１つにシフトされてよい。例えば、（例えば、３１９で示され、図３及び本明細書の他の箇所に関連して記載される）行の列及び／またはメモリセルの数（他の可能な構成のうち、例えば、１６，３８４の列及び／またはメモリセル）は、多重化されてよく、それによって、例えば、１６のサブ行が、複数の共有Ｉ／Ｏ線（例えば、１０２４の個々の共有Ｉ／Ｏ線）に結合するために、及び、複数の共有Ｉ／Ｏ線を介して行の連続した複数の列及び／またはメモリセル（図４に示すように、１６のサブ行は、それぞれ、１０２４の隣接した列及び／またはメモリセルを有する）のデータ値の並行移動のために選択することによって取得され、その結果、連続したメモリセルからのデータ値（例えば、１０２４のデータ値）が、並行に移動されてよい。あるいは、または、さらに、行の列及び／またはメモリセルの数は、例えば、行の１６番目の列及び／またはメモリセル毎に、共有Ｉ／Ｏ線に結合、及び、共有Ｉ／Ｏ線を介してデータ値を並行移動するために１６のサブ行が選択することによって取得されるように、多重化されてよく、その結果、１６番目のメモリセル毎からデータ値（例えば、１０２４のデータ値）が並行に移動されてよい。ある実施形態においては、アレイは、ＤＲＡＭアレイであってよく、選択されたメモリセルのデータ値を検出及び／または増幅するのに使用される検出回路は、センス
アンプ及び／または計算コンポーネントを含んでよい。
【００１６】
メモリデバイス１２０は、（例えば、１４０で示され、図１Ａ及び本明細書の他の箇所に関連して記載される）コントローラを含む。他の機能のうちで、コントローラ１４０は、アレイのメモリセルの行（例えば、行の選択されたサブ行）からデータパスの複数の共有Ｉ／Ｏ線の１つに関連付けられた計算コンポーネントへのデータ値の移動を（例えば、コントローラに関連付けられた移動コンポーネント１７１を介して）指示するように構成されてよい。
【００１７】
以下により詳細に記載するように、実施形態は、ホストシステムが、１つまたは複数のＤＲＡＭバンクのある数の位置（例えば、アレイ、サブアレイ、及び／または、サブアレイの行及びサブ行等、サブアレイの一部）をデータの保持（例えば、記憶）及び／または処理に割り当てるのを可能にし得る。ホストシステム及びコントローラは、プログラム命令（例えば、ＰＩＭコマンド命令）及びデータの全ブロックに対してアドレス決定を行ってよく、宛先（例えば、標的）バンク内の割り当て位置（例えば、サブアレイ、及び、サブアレイの一部）へのデータ及びコマンドの割り当て、記憶、及び／または、移動（例えば、フロー）を指示（例えば、制御）してよい。ＤＲＡＭアレイへのデータの書き込み及び／または読み出し、及び／または、コマンドの実行（例えば、本明細書に記載のように、論理ストライプによる演算を行うためのデータ値の移動）は、ＤＲＡＭデバイスへの通常のＤＲＡＭ読み出し／書き込みパスを利用してよい。読者は理解されるように、ＰＩＭデバイスのＤＲＡＭ型メモリアレイは、本明細書に提示されたインデータパス計算動作の例に関して論じるが、実施形態は、ＰＩＭ  ＤＲＡＭの実施態様に制限されない。
【００１８】
本明細書に記載のメモリデバイスは、サブアレイのバンクに対してある数のコントローラ、個々のサブアレイに対してある数のコントローラ、及び／または、ラッチコンポーネントに対してある数のコントローラを使用して（例えば、各コントローラは、シーケンス制御装置、状態機械、マイクロコントローラ、サブプロセッサ、ＡＬＵ回路、または、何らかの他の種類のコントローラである）、データ（例えば、１つまたは複数のオペランド）に対する演算を行う命令セットを実行してよい。本明細書で使用される場合、演算は、例えば、ＡＮＤ、ＯＲ、ＮＯＴ、ＮＡＮＤ、ＮＯＲ、及び、ＸＯＲのブール論理演算、及び／または、他の演算（多くの他の可能な演算のうち、例えば、反転、シフト、算術、統計）であってよい。例えば、機能ユニット回路を使用して、ある数の論理演算を介して、加算、減算、乗算、及び、除算等の算術演算をオペランドに対して行ってよい。
【００１９】
本開示は、（例えば、他の種類のメモリアレイのうちＤＲＡＭアレイの）同じバンク、同じバンクの同じサブアレイ、及び／または、同じサブアレイの同じ行からのデータ値に対する、例えば、読み出し及び／または書き込み動作の実行とほぼ同時に、（例えば、本明細書に記載のように、計算コンポーネントに移動された時）、インデータパス計算動作（例えば、ＡＮＤ、ＯＲ、リフレッシュ、行コピー、シフト、加算、乗算等のＰＩＭ演算）をメモリセルに記憶されたデータ値に対して行うことを有効にすることを記載する。例えば、本明細書に記載のように、コントローラ及び／またはホストによって指示されるように、データパスの計算コンポーネントに（例えば、選択された論理ストライプに）前もって移動された同じデータ値に対して、例えば、論理演算を実行するのとほぼ同時に、サブアレイの行のメモリセルのサブ行に記憶されたデータ値に対して移動動作を行ってよい。
【００２０】
従って、アレイで検出されるようにサブ行をアクティブにすると、サブ行のメモリセルに記憶された複数のデータ値（例えば、サブ行全体のデータ値）は、アレイに関連付けられたデータパスの（例えば、４６０で示され、図４及び本明細書の他の箇所に記載されるように、それぞれが、計算ユニットの論理ストライプ４２４の少なくとも一部を形成する
）対応する複数の計算コンポーネントに移動（例えば、コピー、転送、及び／または、トランスポート）されてよい。複数の共有Ｉ／Ｏ線は、データ値をデータパスの複数の計算コンポーネントに結合する。ある実施形態においては、計算ユニットのある数の論理ストライプの複数の計算コンポーネントは、アレイのバンクの各バンク区分に関連付けられてよい。共有Ｉ／Ｏに関連付けられた計算コンポーネントは、アレイにローカルな共有Ｉ／Ｏのデータパスに結合（本明細書に記載のように、例えば、直接または間接に接続）するように構成されてよい。ある実施形態においては、計算コンポーネント４３１、論理ストライプ４２４、及び／または、計算ユニット４６０は、メモリデバイスから離れたホスト１１０に接続されたデータバスに、及び／または、メモリデバイス上のアレイのあるバンクをアレイの別のバンクに接続するデータバスにさらに結合されてよい。
【００２１】
本開示は、ある実施形態においては、行が検出されると、行のデータ値（例えば、行の１６，３８４（１６Ｋ）のメモリセル全てからのデータ値）が、移動されて、ラッチコンポーネント（例えば、センスアンプ）に記憶（例えば、キャッシュ）され、さらに、アレイにローカルな共有Ｉ／Ｏのデータパスの計算ユニットの論理ストライプに共有Ｉ／Ｏ線上を移動されてよいことを記載する。ある実施形態においては、２０４８（２Ｋ）の共有Ｉ／Ｏ線が、２Ｋビット幅の共有Ｉ／Ｏ線として構成されてよい。ある実施形態によると、ソース位置の第１の行から宛先位置の第２の行にデータを移動するサイクルの数は、アレイのメモリセルの行が交差するアレイの列の数を、２Ｋビット幅の複数の共有Ｉ／Ｏ線によって割ることによって決定されてよい。例えば、アレイ（例えば、アレイのバンク、バンク区分、または、サブアレイ）は、１６Ｋの列を有してよく、１６Ｋの列は、行の１６Ｋのデータ値に対応してよく、行と交差する２Ｋビット幅の複数の共有Ｉ／Ｏ線で割ると、８つのサイクルとなり、各個別のサイクルは、行のデータの各２Ｋビットの部分の移動に対してほぼ同じ時点（例えば、並行）であって、それによって、８つのサイクルが完了すると、行の１６Ｋのデータビットの全てが移動されている。例えば、ソース位置の検出回路３５０の複数のセンスアンプ３０６または複数の計算コンポーネント３３１（例えば、図３に示す８つのサブセット）のうちの１つのみが、一度に、各共有Ｉ／Ｏ線３５５に結合されてよい。１６Ｋの共有Ｉ／Ｏ線を有する実施形態においては、１６Ｋのデータビットの全てが、並行に移動されてよい。
【００２２】
一例においては、２Ｋのデータ値は、１６Ｋの列（例えば、デジット線の対）の２Ｋのセンスアンプから８ウェイ・マルチプレクサによって２Ｋの共有Ｉ／Ｏ線を通って一度に（例えば、並行に）計算ユニットの各論理ストライプ（例えば、２Ｋの計算コンポーネントを有する各論理ストライプ）で（例えば、全体で２Ｋビットを記憶及び／または処理するために）２Ｋの計算コンポーネントに多重送信されてよい。ある実施形態においては、計算ユニットは、各論理ストライプに２Ｋのデータ値を記憶する８つの論理ストライプを有してよく、それによって、２Ｋの共有Ｉ／Ｏ線によって８サイクルで移動された１６Ｋのデータ値を各ユニットに記憶できる。別の例においては、１Ｋのデータ値は、６Ｋの列の１Ｋのセンスアンプから１６ウェイ・マルチプレクサによって１Ｋの共有Ｉ／Ｏ線を通って一度に、計算ユニットの（例えば、各論理ストライプは１Ｋの計算コンポーネントを有する）論理ストライプで（例えば、全体で１Ｋビットを記憶及び／または処理するために）１Ｋの計算コンポーネントに多重送信されてよい。ある実施形態においては、（例えば、４６０で示され、図４に関連して記載される）計算ユニットは、論理ストライプ毎に１Ｋのデータ値を記憶する１６の論理ストライプを有してよく、それによって、１Ｋの共有Ｉ／Ｏ線によって１６サイクルで移動された１６Ｋのデータ値を各論理ストライプに記憶できる。例えば、（例えば、４２４−１、４２４−２、...、４２４−Ｎで示され、図
４に関連して記載される）１６の各論理ストライプと、各論理ストライプの（例えば、４３１−１、４３２−２、...、４３２−Ｚで示され、図４に関連して記載される）ＩＫの
計算コンポーネントとは、（例えば、４２８−１、４２８−２、...、４２４−１６で示
され、図４に関連して記載される）サブ行に対応してよく、サブ行から、ＩＫのデータ値
が、各ＩＫの共有Ｉ／Ｏ線を通って移動（例えば、多重送信）される。
【００２３】
従って、（例えば、アレイにローカルな共有Ｉ／Ｏのデータパスの計算ユニットの論理ストライプに元のデータ値を移動させることによって）データ値を移動させたバンク、サブアレイ、行、及び／または、サブ行のメモリセルは、そこに記憶される他のデータ値に対して演算を行うために利用可能となり得る。様々な実施形態において、各論理ストライプは、別のバンク、サブアレイ、行、及び／または、サブ行から移動された複数のデータ値を記憶するために、計算コンポーネントの数に対応する（例えば、と同じ、または、の整数倍の）数のラッチを含んで、計算コンポーネントに関連付けられたラッチによって記憶されたデータ値に対してある数の演算（例えば、論理演算）の実行を可能にしてよい。
【００２４】
本明細書で使用される場合、データ移動は、例えば、ソース位置から宛先位置へのデータ値のコピー、転送、及び／または、トランスポートを含む包括的な用語である。データは、例えば、サブアレイの検出回路のセンスアンプからアレイにローカルな共有Ｉ／Ｏ線のデータパスの論理ストライプの計算コンポーネントに移動されてよい。データ値のコピーは、センスアンプに記憶（キャッシュ）されたデータ値が、アレイにローカルな共有Ｉ／Ｏ線のデータパスの論理ストライプの計算コンポーネントにコピー及び移動され、且つ、行のサブ行に記憶された元のデータ値は変わらないままであってよいことを示してよい。データ値の転送は、センスアンプに記憶（キャッシュ）されたデータ値が、アレイにローカルな共有Ｉ／Ｏ線のデータパスの論理ストライプの計算コンポーネントにコピー及び移動され、且つ、行のサブ行に記憶された元のデータ値の少なくとも１つが、（本明細書に記載のように、例えば、消去、及び／または、次の書き込み動作によって）変更され得ることを示してよい。データ値のトランスポートは、コピー及び／または転送されたデータ値を（例えば、データ値をソース位置から共有Ｉ／Ｏ線に置いて、宛先位置にトランスポートすることによって）移動するプロセスを示すように使用されてよい。
【００２５】
インデータパス計算動作のＤＲＡＭアーキテクチャの実施態様は、センスアンプ及び計算コンポーネントレベル（例えば、論理ストライプ）での処理を行ってよい。インデータパス計算動作のＤＲＡＭアーキテクチャの実施態様は、有限個のメモリセルのみ（例えば、上記の一例で与えられた１Ｋのメモリセル）を共有Ｉ／Ｏ線のデータパスの論理ストライプの計算コンポーネントに接続するのを可能にし得る。アレイは、約８Ｋ〜約１６Ｋの列（デジット線の対）と、関連付けられたセンスアンプとを含んでよい。ある実施形態においては、例えば、図４に示すように、アレイのバンク区分４２３は、４つのクワドラントに分割されてよく、各クワドラントは、複数のサブアレイ（例えば、３２のサブアレイ）を有してよい。各サブアレイは、複数の行（例えば、５１２行）を有してよく、１６Ｋの列に結合されてよい。各行は、本明細書に記載のように、１６のサブ行を含んでよく、各サブ行は、１Ｋのメモリセルを有する（例えば、検出回路を介して特定の共有Ｉ／Ｏ線に結合される１Ｋをどのメモリセルが構成するかの選択は、多重化によって決定される）。しかしながら、実施形態は、この説明例に限定されない。
【００２６】
ある実施形態においては、計算ユニットの一部としての複数の論理ストライプは、各クワドラントに関連付けられてよい。例えば、共有Ｉ／Ｏ線のデータパスの計算ユニットの各論理ストライプは、バンクの各クワドラントのサブアレイに関連付けられてよい。従って、上記例においては、アレイにローカルな共有Ｉ／Ｏ線のデータパスの計算ユニットは、１２８の論理ストライプ（４クワドラント、クワドラント毎に３２のサブアレイのそれぞれに対して１つの論理ストライプ）を有してよい。しかしながら、実施形態は、この説明例に限定されない。（例えば、ＤＲＡＭアレイのメモリセルの）メモリのバンクは、ある実施形態においては、約１ギガビットのメモリを提供する６４Ｋの行Ｘ１６Ｋの列のＤＲＡＭを含んでよい。
【００２７】
本開示は、アレイに関連付けられた検出回路から移動（例えば、コピー、転送、及び／または、トランスポート）されたデータ値を記憶（キャッシュ）するセンスアンプとして機能する複数のラッチを含み得る、アレイにローカルな共有Ｉ／Ｏ線のデータパスの計算コンポーネントを記載する。計算コンポーネントは、アレイにローカルな複数の共有Ｉ／Ｏ線のデータパスの計算ユニットの複数の論理ストライプにあってよく、複数の論理ストライプのそれぞれが、計算コンポーネントの総数のサブセットを含む。（例えば、図４に関連して示し、記載する）論理ストライプ４２４−１、...、４２４−Ｎの計算コンポー
ネント４３１−１、．．．、４３１−Ｚは、アレイのバンク１２１−１にローカルな複数の共有Ｉ／Ｏ線４５５のデータパスのピッチに等しいピッチを有してよい。ある実施形態においては、複数の共有Ｉ／Ｏ線４５５のデータパスのピッチは、（例えば、図２の２０５−１及び２０５−２と、図３の３０５−１及び３０５−２で示すような）メモリセルアレイのデジット線のピッチの関数であってよい。計算コンポーネント４３１−１、．．．、４３１−Ｚ、及び／または、論理ストライプ４２４−１、...、４２４−Ｎは、図１Ａ
に示す検出回路１５０（例えば、検出回路のセンスアンプ２０６）、及び／または、追加ラッチ１７０によって、複数の共有Ｉ／Ｏ線４５５のデータパスに結合されてよい。
【００２８】
従って、インデータパス計算動作のアーキテクチャは、アレイの行のサブ行に記憶されたデータ値の、アレイにローカルな複数の共有Ｉ／Ｏ線のデータパスの計算コンポーネント４３１−１、．．．、４３１−Ｚ、及び／または、論理ストライプ４２４−１、...、
４２４−Ｎへの移動（例えば、コピー、転送、及び／または、トランスポート）を容易にし得る。センスアンプを有する検出回路１５０は、ある実施形態においては、図２に示す計算コンポーネントも含んでよく、アレイのメモリセルの多重化された列から、メモリセルを複数の共有Ｉ／Ｏ線４５５のデータパスの計算ユニットの計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ４２４−１、...、４２４−Ｎに
結合してよい。このようにして、計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ４２４−１、...、４２４−Ｎは、（例えば、３５８で示し、
図３に関連して記載する）マルチプレクサとして動作する列選択回路と、（図３〜図７に関連して論じる）関連付けられた選択論理回路とを介して、複数の共有Ｉ／Ｏ線４５５を通して、列のメモリセルに間接的に結合されてよい。
【００２９】
本明細書に記載されるメモリアレイアーキテクチャは、前述した利点に加えて多くの幾つかの利点を提供し得る。他の動作の実行（例えば、ＤＤＲ４Ｉ／Ｏ動作の実行）と並行して、メモリセルに記憶されたデータに対して、例えば、ＰＩＭ演算を行うことを可能にすることによって、全体としての処理速度を向上させてよい。例えば、ＰＩＭ演算は、アレイにローカルな共有Ｉ／Ｏ線４５５のデータパスの複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ４２４−１、...、４２４−Ｎを有
する計算ユニットで行われてよい。制限ではなく、例として、計算ユニットの複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ４２４−１、...、４２４−Ｎにアレイのサブ行からデータ値がロードされると、アレイの行を開始
（ｆｉｒｅ）するのに必要とされる６０ｎｓの時間の例と比較して、データ値を行に戻す必要が無く、計算動作は、２ｎｓの速さで、計算ユニットで制御され得る。このように、計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ、４２４-１、...、４２４−Ｎは、（関連付けられたラッチと共に）、一定の関数（例えば、ＡＮＤ、ＯＲ、ＮＯＲ、ＸＯＲ、加算、減算、乗算、除算等）を行うために移動されたデータ値を記憶してよく、サブ行の元のデータ値は、行に戻されて保存されてよい、他の箇所に保存されてよい、及び／または、上書きされてよい。図５及び図６に関連してさらに論じると、複数の共有Ｉ／Ｏ線のデータパスの計算ユニットの計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ４２４−１、...、４２４−Ｎの動
作は、バンク１２１のコントローラ１４０によって指示されてよい。
【００３０】
本開示の以下の詳細な記載において、詳細な記載の一部をなす添付図面を参照し、記載において、開示の１つまたは複数の実施形態をどのように実践し得るのかを例を挙げて示す。これらの実施形態は、当業者が本開示の実施形態を実践するのを可能にするように十分に詳細に記載される、また、本開示の範囲を逸脱せずに、他の実施形態が利用されてよいこと、また、プロセス、電気的、及び、構造的な変更が行われてよいことは理解されたい。
【００３１】
本明細書で使用される場合、特に、図面における参照番号に関する「Ｘ」「Ｙ」「Ｚ」「Ｎ」「Ｍ」等の指定子は、このように指定された特定のある数の特徴が含まれてよいことを示す。本明細書で使用される専門用語は、特定の実施形態を記載することのみを目的としており、制限を意図してはいないことも理解されたい。本明細書で使用される場合、単数形「ａ」「ａｎ」及び「ｔｈｅ」は、文脈から明らかにそうでない場合を除き、単数形及び複数形の両方の指示対象を含むことができる。さらに、「ある数の、幾つかの（ａ
ｎｕｍｂｅｒ  ｏｆ）」、「少なくとも１つ」、及び「１つまたは複数」（例えば、ある数のメモリアレイ）は、１つまたは複数のメモリアレイを指してよく、一方、「複数の」は、このような物が１を超えることを意味する。さらに、「ｃａｎ」及び「ｍａｙ」という単語は、本出願書を通して、許容の意味（すなわち、本明細書に記載の少なくとも一部の実施形態において、可能性がある、及び／または、〜できる）で使用されており、義務的な意味（すなわち、ｍｕｓｔ）ではない。「含む（ｉｎｃｌｕｄｅ）」という語、及び、その派生語は、「含むが、限定されない」を意味する。「結合（ｃｏｕｐｌｅ）」「結合された（ｃｏｕｐｌｅｄ）」、及び、「結合する（ｃｏｕｐｌｉｎｇ）」という語は、文脈に応じて、コマンド及び／またはデータへのアクセス、コマンド及び／またはデータの移動（送信）のために、直接または間接に、物理的に接続されることを意味する。「データ」及び「データ値」という語は、本明細書では、交換可能に使用され、文脈に応じて、同じ意味を有してよい。
【００３２】
本明細書に記載するように、複数の共有Ｉ／Ｏ線４５５は、各アレイに結合された選択論理回路を介して、複数のサブアレイ、バンク区分、クワドラント、行、サブ行、及び／または、メモリセルの特定の列によって選択可能に共有されてよい。例えば、ある数の列の選択可能な数のサブセット（例えば、列の総数の８、１６等の列のサブセット）のそれぞれを多重化するためのセンスアンプ及び選択論理回路を含む、検出回路１５０及び／または追加ラッチ１７０は、複数の共有Ｉ／Ｏ線４５５のデータパスの計算ユニット４６０の複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ４２４−１、...、４２４−Ｎにデータ値を移動させるために、複数の共有Ｉ／Ｏ線４
５５のそれぞれに選択可能に結合されてよい。ある実施形態においては、複数の共有Ｉ／Ｏ線４５５のそれぞれに選択可能に結合された複数の計算コンポーネント４３１−１、．．．、４３１−Ｚは、複数の共有Ｉ／Ｏ線に選択可能に結合された列の数（例えば、ＩＫ、２Ｋ等）に対応してよい。単数形「ａ」「ａｎ」及び「ｔｈｅ」は、本明細書では単数及び複数の指示対象の両方を含み得るので、「共有Ｉ／Ｏ線（ａ  ｓｈａｒｅｄ  Ｉ／Ｏ
ｌｉｎｅ）」は、文脈より明らかに別段の場合を除き、「相補共有Ｉ／Ｏ線対（ａ  ｐａｉｒ  ｏｆ  ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｓｈａｒｅｄ  Ｉ／Ｏ  ｌｉｎｅｓ）」を指して使用できる。さらに、「共有Ｉ／Ｏ線（ｓｈａｒｅｄ  Ｉ／Ｏ  ｌｉｎｅｓ）」は、「複数の共有Ｉ／Ｏ線」の省略形である。
【００３３】
本明細書の図は、最初の数字（単数または複数）が、図面の番号に対応し、残りの数字が、図の要素またはコンポーネントを特定するという番号付け規則に従う。異なる図面間の類似の要素またはコンポーネントは、類似の数字を用いて特定されてよい。例えば、１０８は、図１Ａの要素「０８」を指してよく、類似の要素は、図２では２０８とされてよい。理解されるように、本明細書の様々な実施形態に示す要素は、本開示の幾つかの追加の実施形態を提供するように、追加、交換、及び／または、除かれてよい。さらに、図に
表される要素の釣り合い及び／または相対的縮尺は、本開示の一定の実施形態を示すことを意図しており、限定の意味で捉えるべきではない。
【００３４】
図１Ａは、本開示の幾つかの実施形態による、メモリアレイ１３０を含むメモリデバイス１２０を含むコンピューティングシステム１００の形態の装置のブロック図である。本明細書で使用される場合、メモリデバイス１２０、コントローラ１４０、メモリアレイ１３０、検出回路１５０、及び／または、ある数の追加ラッチ１７０も個別に「装置」とみなされてよい。
【００３５】
本明細書で使用される場合、追加ラッチは、アレイのメモリセルのデータ値を検出、結合、及び／または、移動（例えば、読み出し、記憶、キャッシュ）する追加の機能（例えば、アンプ、選択論理回路）であって、図３、図４、及び、図６、図７に示す複数の共有Ｉ／Ｏ線４５５のデータパスの計算ユニット４６０の複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ４２４−１、...、４２４−Ｎとは
異なる追加の機能を意味する。アレイにローカルな複数の共有Ｉ／Ｏ線１５５のデータパスの論理ストライプ１２４−１、...、１２４−Ｎは、図１Ｂに示すように、バンク１２
１−１のメモリセルの様々なバンク区分１２３−１、．．．、１２３−Ｎに関連付けられてよい。バンク１２１−１は、メモリデバイス１２０上の複数のバンクの１つであってよい。
【００３６】
図１Ａのシステム１００は、メモリデバイス１２０に結合された（例えば、接続された）ホスト１１０を含む。ホスト１１０は、様々な他の種類のホストのうち、パーソナルラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、スマートフォン、または、メモリカードリーダ等のホストシステムであってよい。ホスト１１０は、システムマザーボード及び／またはバックプレーンを含んでよく、ある数の処理リソース（例えば、１つまたは複数のプロセッサ、マイクロプロセッサ、または、何らかの他の種類の制御回路）を含んでよい。システム１００は、別個の集積回路を含んでよく、または、ホスト１１０及びメモリデバイス１２０の両方が、同じ集積回路上にあってもよい。システム１００は、例えば、サーバシステム、及び／または、高性能コンピューティング（ＨＰＣ）システム、及び／または、それらの一部であってよい。図１Ａに示す例は、ノイマン型アーキテクチャを有するシステムを示すが、本開示の実施形態は、ノイマン型でないアーキテクチャで実施されてもよく、これは、ノイマン型アーキテクチャと関連付けられることが多い１つまたは複数のコンポーネント（例えば、ＣＰＵ、ＡＬＵ等）を含まなくてよい。
【００３７】
明瞭にするために、システム１００は、本開示に特に関連する特徴に焦点を当てるために単純化を行った。メモリアレイ１３０は、他の種類のアレイのうち、ＤＲＡＭアレイ、ＳＲＡＭアレイ、ＳＴＴ  ＲＡＭアレイ、ＰＣＲＡＭアレイ、ＴＲＡＭアレイ、ＲＲＡＭアレイ、ＮＡＮＤフラッシュアレイ、及び／または、ＮＯＲフラッシュアレイであってよい。アレイ１３０は、アクセス線（本明細書ではワード線または選択線とも呼ばれてよい）によって結合された行と、センス線（本明細書では、データ線またはデジット線とも呼ばれてよい）によって結合された列とで配置されたメモリセルを含んでよい。１つのアレイ１３０を図１Ａに示すが、実施形態は、これに限定されない。例えば、メモリデバイス１２０は、ある数のアレイ１３０（例えば、ＤＲＡＭセル、ＮＡＮＤフラッシュセル等のある数のバンク）を含んでよい。
【００３８】
メモリデバイス１２０は、（例えば、ローカルのＩ／Ｏ線及びグローバルなＩ／Ｏ線を介して外部ＡＬＵ回路に、及び／または、ＤＲＡＭ  ＤＱに提供された）Ｉ／Ｏ回路１４４によってデータバス１５６（例えば、ホスト１１０に接続されたＩ／Ｏバス）を通って提供されたアドレス信号をラッチするアドレス回路１４２を含んでよい。本明細書で使用
される場合、ＤＲＡＭ  ＤＱは、（例えば、コントローラ１４０及び／またはホスト１１０から、及び／または、コントローラ１４０及び／またはホスト１１０に）バス（例えば、データバス１５６）を介してバンクへのデータの入力、及び／または、バンクからのデータの出力を可能にし得る。書き込み動作中、電圧（高＝ｌ、低＝０）が、ＤＱ（例えば、ピン）に印加されてよい。この電圧は、適切な信号に翻訳されて、選択されたメモリセルによって記憶されてよい。読み出し動作中、選択されたメモリセルから読み出されたデータ値は、アクセスが完了して、出力が有効にされると（例えば、出力イネーブル信号が低いことによって）ＤＱに現れてよい。他の時には、ＤＱは、高インピーダンス状態にあってよく、その結果、ＤＱは、電流をソースもシンクもせず、信号をシステムに提示しない。これは、２つ以上のデバイス（例えば、バンク）が、本明細書に記載するように、統合されたデータバスを共有している時、ＤＱコンテンションも減らし得る。このようなＤＱは、アレイ１３０にローカルなデータパスの（図１Ｂの）複数の共有Ｉ／Ｏ線１５５とは別個であり、区別される。
【００３９】
ステータス及び例外情報が、メモリデバイス１２０のコントローラ１４０から、例えば、帯域外（ＯＯＢ）バス１５７（例えば、高速インタフェース（ＨＳＩ））を通してチャネルコントローラ１４３に提供されてよく、次に、チャネルコントローラ１４３からホスト１１０に提供されてよい。チャネルコントローラ１４３は、各バンクのアレイの複数の位置（例えば、サブアレイ用コントローラ）を、バンクコマンド、（例えば、動作シーケンスのための）アプリケーション命令、及び、複数のメモリデバイス１２０のそれぞれの動作に関連付けられた様々なバンクのための引数（ＰＩＭコマンド）の記憶に割り当てる論理コンポーネントを含んでよい。チャネルコントローラ１４３は、コマンド（例えば、ＰＩＭコマンド）を複数のメモリデバイス１２０にディスパッチして、これらのプログラム命令をメモリデバイス１２０の所与のバンク１２１（例えば、図１Ｂの１２１-１）に
記憶してよい。
【００４０】
アドレス信号は、アドレス回路１４２を通して受信され、行デコーダ１４６及び列デコーダ１５２によってデコードされて、メモリアレイ１３０にアクセスする。データは、本明細書に記載のように、検出回路１５０のある数のセンスアンプを用いて、センス線（デジット線）上の電圧及び／または電流の変化を検出することによって、メモリアレイ１３０から検出されて（読み出されて）よい。センスアンプは、メモリアレイ１３０からデータのページ（例えば、行）を読み出し、ラッチしてよい。追加の計算回路は、本明細書に記載のように、検出回路１５０に結合されてよく、センスアンプと組み合わせて使用されて、計算機能（例えば、演算）を検出、記憶（例えば、キャッシュ、及び／または、バッファリング）、実行してよく、及び／または、データを移動してよい。Ｉ／Ｏ回路１４４は、データバス１５６（例えば、６４ビット幅のデータバス）を介したホスト１１０との双方向データ通信に使用されてよい。書き込み回路１４８を使用して、メモリアレイ１３０にデータを書き込んでよい。
【００４１】
コントローラ１４０（例えば、図５に示すバンク制御論理回路、シーケンス制御装置、及び、タイミング回路）は、ホスト１１０から制御バス１５４によって提供された信号（例えば、コマンド）をデコードしてよい。これらの信号は、他の動作のうち、データ検出、データ記憶、データ移動（例えば、データ値のコピー、転送、及び／または、トランスポート）、データ書き込み、及び／または、データ消去の動作を含む、メモリアレイ１３０上で行われる動作の制御に使用され得るチップイネーブル信号、書き込みイネーブル信号、及び／または、アドレスラッチ信号を含んでよい。様々な実施形態において、コントローラ１４０は、ホスト１１０からの命令の実行、及び／または、メモリアレイ１３０へのアクセスを担当してよい。コントローラ１４０は、状態機械、シーケンス制御装置、または、他の何らかの種類のコントローラであってよい。コントローラ１４０は、アレイ（例えば、メモリアレイ１３０）の行のデータの（例えば、右または左への）シフトを制御
してよく、マイクロコード命令を実行して、計算動作等の演算（例えば、ＡＮＤ、ＯＲ、ＮＯＲ、ＸＯＲ、加算、減算、乗算、除算等）を行ってよい。
【００４２】
検出回路１５０の例を以下にさらに記載する（例えば、図２及び図３）。例えば、ある実施形態においては、検出回路１５０は、ある数のセンスアンプを含んでよい。ある実施形態においては、検出回路１５０は、ある数のセンスアンプと、それに対応する数の計算コンポーネントとを含んでよく、計算コンポーネントは、アキュムレータとして働いてよく、本明細書に記載のインデータパス計算動作に加えて、各サブアレイで（例えば、相補センス線に関連付けられたデータに対して）演算を行うのに使用されてよい。
【００４３】
ある実施形態においては、検出回路１５０は、メモリアレイ１３０に記憶されたデータを入力として用いて演算を行うのに使用されてよく、センス線のアドレスアクセスを介してデータを転送すること無しに（例えば、列デコード信号を発すること無しに）、コピー、転送、トランスポート、書き込み、論理、及び／または、記憶の動作のために、メモリアレイ１３０及び／または論理ストライプ１２４の異なる位置へのデータ移動に参加してよい。従って、ある実施形態においては、様々な計算機能が、（例えば、コントローラ１４０上または他の箇所等、デバイス１２０に位置する、ホスト１１０、及び／または、ＡＬＵ回路等の他の処理回路に関連付けられたプロセッサによって）検出回路１５０の外部の処理リソースによって行われる（または、関連付けられる）のではなく、検出回路１５０を用いて、検出回路１５０内で行われてよい。しかしながら、さらに、本明細書に記載の実施形態は、アレイの行から計算ユニットの複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ１２４−１、...、１２４−Ｎに移動され
たデータ値に対して、インデータパス計算機能及び／または演算を行ってよい。そして、例として、ある実施形態によると、アレイの行の開始（ｆｉｒｅ）に必要な６０ｎｓの時間の例に比較して、計算動作は、データ値を行に戻す必要が無く、２ｎｓの速さで、計算ユニットで制御されてよい。
【００４４】
様々な以前の手法においては、例えば、オペランドに関連付けられたデータは、検出回路を介してメモリから読み取られ、Ｉ／Ｏ線を介して（例えば、ローカルのＩ／Ｏ線及び／またはグローバルなＩ／Ｏ線を介して）外部ＡＬＵ回路に提供される。外部ＡＬＵ回路は、ある数のレジスタを含んでよく、オペランドを用いて計算機能を行って、結果が、Ｉ／Ｏ回路１４４を介してアレイに返信される。
【００４５】
対照的に、本明細書の実施形態は、アレイにローカルなデータパスの計算ユニットにおいて、アレイの行及び／またはサブ行から複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ１２４−１、...、１２４−Ｎに複数の共有Ｉ／
Ｏ線１５５を介して移動されたデータ値に対して計算機能を行う。さらに、検出回路１５０は、メモリアレイ１３０によって記憶されたデータに対して演算を行うように、また、検出回路１５０に結合されたＩ／Ｏ線（例えば、ローカルＩ／Ｏ線）を有効にすること無しに、その結果をメモリアレイ１３０に戻して記憶するように構成されてよい。しかしながら、計算動作が一旦ロードされると、アレイの行を開始（ｆｉｒｅ）するのに必要な時間の例（例えば、６０ｎｓ）と比較して、行及び／またはサブ行にデータ値を戻す必要が無く、ずっと速く（例えば、２ｎｓの速さで）計算動作が制御されてよい。検出回路１５０は、アレイのメモリセルのピッチ上に形成されてよい。複数の共有Ｉ／Ｏ線１５５のデータパスに関連付けられた複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ１２４−１、...、１２４−Ｎは、データパスのピッチと等し
いピッチを有してよく、これは、メモリセルアレイに対するデジット線のピッチの関数である。
【００４６】
例えば、本明細書に記載の検出回路１５０は、相補センス線（例えば、デジット線）の
対と同じピッチで形成されてよい。例として、相補メモリセルの対は、６Ｆ２ピッチ（例えば、３Ｆ  ｘ  ２Ｆ）のセルサイズを有してよく、ここで、Ｆは、最小加工寸法（ｆｅａｔｕｒｅ  ｓｉｚｅ）である。相補メモリセルの相補センス線対のピッチが３Ｆの場合、検出回路がピッチ上にあることは、検出回路（例えば、相補センス線の各対のセンスアンプ及び／または対応する計算コンポーネント）が、相補センス線の３Ｆピッチ内に収まるように形成されることを示す。同様に、複数の共有Ｉ／Ｏ線１５５のデータパスに関連付けられた論理ストライプ１２４−１、...、１２４−Ｎの計算コンポーネント４３１−
１、．．．、４３１−Ｚは、相補センス線の３Ｆピッチの関数であるピッチを有する。例えば、論理ストライプ１２４−１、...、１２４−Ｎの計算コンポーネント４３１−１、
．．．、４３１−Ｚは、デジット線のメモリセルアレイに対する３Ｆピッチの整数倍のピッチを有してよく、これは、複数の共有Ｉ／Ｏ線１５５のピッチにも対応してよい。
【００４７】
一方、様々な以前のシステムの処理リソース（複数可）の回路（例えば、ＡＬＵ等の計算エンジン）は、メモリアレイに関連付けられたピッチ規則に従わない場合がある。例えば、メモリアレイのメモリセルは、４Ｆ２または６Ｆ２のセルサイズを有し得る。従って、以前のシステムのＡＬＵ回路に関連付けられたデバイス（例えば、論理ゲート）は、メモリセルのピッチで（例えば、センス線と同じピッチで）形成することができない場合があり、これは、例えば、チップサイズ及び／またはメモリ密度に影響を与え得る。あるコンピューティングシステム及びサブシステム（例えば、中央処理装置（ＣＰＵ））の文脈においては、データは、本明細書に記載のように、ピッチ上、及び／または、メモリ（例えば、アレイのメモリセル）を有するチップ上ではない位置で処理されてよい。例えば、データは、メモリを有するピッチ上ではなく、例えば、ホストに関連付けられた処理リソースによって処理されてよい。
【００４８】
従って、幾つかの実施形態においては、検出回路１５０が、外部の処理リソースを使用することなく、適切な演算を行って、このような計算機能を実行し得るので、または、アレイにローカルな複数の共有Ｉ／Ｏ線のデータパスで、このような演算を行い得るので、アレイ１３０及び検出回路１５０の外部の回路は、計算機能を行う必要が無い。よって、検出回路１５０、及び／または、複数の共有Ｉ／Ｏ線１５５のデータパスの計算ユニットの複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ１２４−１、...、１２４−Ｎを使用して、少なくともある程度まで、このような外部
処理リソース（または、このような外部処理リソースの少なくとも帯域幅消費）を補ってよい、または、置き換えてよい。ある実施形態においては、検出回路１５０、及び／または、複数の共有Ｉ／Ｏ線１５５のデータパスの計算ユニットの複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ１２４−１、...、１２４
−Ｎは、外部処理リソース（例えば、ホスト１１０）によって行われる動作に加えて、動作の実行（例えば、命令の実行）に使用されてよい。例えば、ホスト１１０及び／または検出回路１５０は、一定の動作のみ、及び／または、一定の数の動作を行うように限定されてよい。
【００４９】
本明細書に記載の動作は、ＰＩＭ対応デバイスに関連付けられた演算を含んでよい。ＰＩＭ対応デバイスの演算は、ビットベクトルベースの演算を使用してよい。本明細書で使用される場合、「ビットベクトル」という語は、メモリセルアレイの行に物理的に連続または非連続で記憶された、ビットベクトルメモリデバイス（例えば、ＰＩＭデバイス）上のある数のビットを意味する。従って、本明細書で使用される場合、「ビットベクトル演算」は、（例えば、ＰＩＭデバイスによって使用される）仮想アドレス空間の連続または非連続の部分であるビットベクトルに対して行われる演算を意味する。例えば、ＰＩＭデバイスの仮想アドレス空間の行は、（例えば、ＤＲＡＭ構成の１６Ｋの相補メモリセル対に対応する）１６Ｋビットのビット長を有してよい。このような１６Ｋビット行に対して、本明細書に記載の検出回路１５０は、１６ビットの行の対応するメモリセルに選択可能
に結合されたセンス線のピッチに形成された、対応する１６Ｋセンスアンプ２０６及び／または処理要素（例えば、計算コンポーネント２３１）を含んでよい。検出回路の計算コンポーネント、及び／または、ＰＩＭデバイスの論理ストライプは、検出回路１５０によって検出された（例えば、本明細書に記載のように、センスアンプによって検出及び／または記憶された）メモリセルの行またはサブ行のビットベクトルの１ビット上の１ビットの処理要素（ＰＥ）として動作してよい。同様に、複数の共有Ｉ／Ｏ線１５５のデータパスの計算ユニットの論理ストライプ１２４−１、...、１２４−Ｎの複数の計算コンポー
ネント４３１−１、．．．、４３１−Ｚは、それぞれ、アレイで検出されたメモリセルの行及び／またはサブ行のビットベクトルの１ビット上で１ビットのＰＥとして動作してよい。
【００５０】
Ｉ／Ｏ線を有効にすることは、デコード信号（例えば、列デコード信号）に結合されたゲートとＩ／Ｏ線に結合されたソース／ドレインとを有するトランジスタを有効にする（例えば、オンにする、アクティブにする）ことを含んでよい。しかしながら、実施形態は、Ｉ／Ｏ線を有効にすることに限定されない。例えば、幾つかの実施形態においてはアレイの列デコード線を有効にすることなしに、検出回路（例えば、１５０）を使用して動作を行ってよい。
【００５１】
しかしながら、複数の共有Ｉ／Ｏ線１５５は、複数の共有Ｉ／Ｏ線１５５のデータパスの計算ユニットの複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ１２４−１、...、１２４−Ｎにデータ値をロードするために有効にさ
れてよく、その場合、計算動作は、ずっと速く制御され得る。例えば、計算ユニットの複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ１２４−１、...、１２４−Ｎにおいて、計算動作は、２ｎｓの速さで行われてよい。この
速さの向上は、アレイの行を開始（ｆｉｒｅ）するのに使用される関連する時間（例えば、６０ｎｓ）を伴うデータ値を行及び／またはサブ行に戻す必要が無いことに起因する。
【００５２】
図１Ｂは、本開示の複数の実施形態による、アレイのバンク区分１２３−１、１２３−２、...、１２３−ＮにローカルなデータパスのＩ／Ｏ線１５５を有するメモリデバイス
を含むコンピューティングシステムの形態の装置の別のブロック図である。例えば、バンク１２１−１は、メモリデバイス１２０のバンクの例を表してよい。図１Ｂに示すように、バンク１２１−１は、（Ｘとして水平方向に示される）（例えば、例示のＤＲＡＭバンクの１６，３８４列）を含んでよい。さらに、バンク１２１−１は、バンク区分（例えば、３２のサブアレイのクワドラント）１２３−１、１２３−２、...、１２３−Ｎに分割
されてよい。各バンク区分は、複数の共有Ｉ／Ｏ線１５５のデータパスの計算ユニットの論理ストライプ１２４−１、...、１２４−Ｎの複数の計算コンポーネント４３１−１、
．．．、４３１−Ｚに関連付けられてよい。バンク区分１２３−１、．．．、１２３−Ｎは、それぞれ、（Ｙとして垂直方向に示される）複数の行を含んでよい（例えば、ＤＲＡＭバンクの例においては、各区分は、３２のサブアレイを含むクワドラントであってよく、各サブアレイは、５１２の行と、各行に１６のサブ行を含んでよい）。実施形態の例は、ここに記載する列及び行及びサブ行の水平方向及び／または垂直方向の向きの例、または、それらの例示の数に限定されない。
【００５３】
ある実施形態においては、各バンク区分は、各バンク区分に関連付けられた複数の共有Ｉ／Ｏ線１５５のデータパスの計算ユニットに複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び論理ストライプ１２４−１、...、１２４−Ｎを有してよい。バン
ク１２１−１は、コントローラ１４０、及び／または、各バンク区分及び／またはサブアレイに関連付けられたある数のコントローラを含んでよく、コントローラ１４０、及び／または、ある数のコントローラは、複数の共有Ｉ／Ｏ線１５５のデータパスの計算ユニットの論理ストライプ１２４−１、...、１２４−Ｎの複数の計算コンポーネント４３１−
１、．．．、４３１−Ｚにロードされたデータ値に対して（例えば、移動コンポーネント１７１を介した）移動、及び／または、演算を指示する。
【００５４】
図２は、本開示の幾つかの実施形態による、メモリデバイス１２０の回路を示す概略図である。回路は、センスアンプ２０６及び計算コンポーネント２３１を含み、それぞれ、様々な実施形態において、検出回路２５０、及び／または、論理ストライプ１２４に含まれてよい。検出回路２５０は、図１Ａに示す検出回路１５０に対応してよい。
【００５５】
図２の実施形態例に示すように、メモリセルは、記憶要素（例えば、コンデンサ）及びアクセスデバイス（例えば、トランジスタ）を含んでよい。例えば、第１のメモリセルは、トランジスタ２０２−１及びコンデンサ２０３−１を含んでよく、第２のメモリセルは、トランジスタ２０２−２及びコンデンサ２０３−２等を含んでよい。この実施形態においては、メモリアレイ２３０は、１Ｔ１Ｂ（１トランジスタ１コンデンサ）メモリセルのＤＲＡＭアレイであるが、他の構成の実施形態を使用してもよい（例えば、メモリセル毎に２トランジスタと２コンデンサを有する２Ｔ２Ｃ）。ある数の実施形態においては、メモリセルは、破壊読み出しメモリセルであってよい（例えば、セルによって記憶されたデータを読み出すと、読み出し後、セルによって元々記憶されていたデータがリフレッシュされるように、データを破壊する）。
【００５６】
メモリアレイ２３０のセルは、アクセス（ワード）線２０４−Ｘ（行Ｘ）、２０４−Ｙ（行Ｙ）等によって結合された行と相補センス線対（例えば、図２に示すデジット線ＤＩＧＩＴ（Ｄ）及びＤＩＧＩＴ（Ｄ）_）によって結合された列とで配置されてよい。相補
センス線対のそれぞれに対応する個々のセンス線は、それぞれ、ＤＩＧＩＴ（Ｄ）はデジット線２０５−１、ＤＩＧＩＴ（Ｄ）_は、デジット線２０５−２と呼ばれてもよく、ま
たは、図３の対応する参照番号で呼ばれてもよい。図２には、１対の相補デジット線のみを示すが、本開示の実施形態は、それに限定されず、メモリセルアレイは、メモリセルの追加の列及びデジット線（例えば、４０９６、８１９２、１６３８４等）を含んでよい。
【００５７】
行及び列は、平面で直交する向きに示されるが、実施形態はこれに限定されない。例えば、行及び列は、任意の実行可能な三次元構成で互いに対して直交であってよい。例えば、行及び列は、他の可能な三次元構成のうち、互いに対して任意の角度をなした向きであってよい、ほぼ水平な面またはほぼ垂直な面の向きであってよい、及び／または、折り畳まれたトポロジの向きであってよい。
【００５８】
メモリセルは、異なるデジット線及びワード線に結合されてよい。例えば、トランジスタ２０２−１の第１のソース／ドレイン領域は、デジット線２０５−１（Ｄ）に結合されてよく、トランジスタ２０２−１の第２のソース／ドレイン領域は、コンデンサ２０３−１に結合されてよく、トランジスタ２０２−１のゲートは、ワード線２０４−Ｙに結合されてよい。トランジスタ２０２−２の第１のソース／ドレイン領域は、デジット線２０５−２（Ｄ）_に結合されてよく、トランジスタ２０２−２の第２のソース／ドレイン領域
は、コンデンサ２０３−２に結合されてよく、トランジスタ２０２−２のゲートは、ワード線２０４−Ｘに結合されてよい。セルプレートは、図２に示すように、コンデンサ２０３−１及び２０３−２に結合されてよい。セルプレートは、様々なメモリアレイ構成で、基準電圧（例えば、接地）を印加し得る共通ノードであってよい。
【００５９】
本開示の幾つかの実施形態によると、メモリアレイ２３０は、検出回路２５０に結合されるように構成される。この実施形態においては、検出回路２５０は、（例えば、相補デジット線の各対に結合された）メモリセルの各列に対応するセンスアンプ２０６と計算コンポーネント２３１とを含む。しかしながら、ある実施形態においては、論理ストライプの計算コンポーネントによって行われるインデータパス計算動作に使用される検出回路２
５０は、検出回路２５０に計算コンポーネントを含まなくてよい。センスアンプ２０６は、相補デジット線の対２０５−１及び２０５−２に結合されてよい。計算コンポーネント２３１は、存在する場合、パスゲート２０７−１及び２０７−２を介してセンスアンプ２０６に結合されてよい。パスゲート２０７−１及び２０７−２のゲートは、演算選択論理回路２１３に結合されてよい。
【００６０】
演算選択論理回路２１３は、センスアンプ２０６と計算コンポーネント２３１との間で相補デジット線の対を置き換えずに結合するパスゲートを制御するパスゲート論理回路と、センスアンプ２０６と計算コンポーネント２３１の間で相補デジット線の対を置き換えるように結合する交換ゲートを制御する交換ゲート論理回路とを含むように構成されてよい。演算選択論理回路２１３は、相補デジット線２０５−１及び２０５−２の対に結合されてもよい。演算選択論理回路２１３は、選択された演算に基づいて、パスゲート２０７−１及び２０７−２の連続性を制御するように構成されてよい。
【００６１】
センスアンプ２０６は、選択されたメモリセルに記憶されたデータ値（例えば、論理状態）を決定するように動作されてよい。センスアンプ２０６は、クロスカップルラッチを含んでよく、クロスカップルラッチは、本明細書では、一次ラッチと呼ばれてよい。図２に示す例においては、センスアンプ２０６に対応する回路は、相補デジット線の対Ｄ２０５−１及び（Ｄ）_２０５−２に結合された４つのトランジスタを含むラッチ２１５を備
える。しかしながら、実施形態は、この例に限定されない。ラッチ２１５は、ｎチャネルトランジスタ（例えば、ＮＭＯＳトランジスタ）２２７−１及び２２７−２等の（例えば、トランジスタ対のゲート）が、ｐチャネルトランジスタ（例えば、ＰＭＯＳトランジスタ）２２９−１及び２２９−２等、他方のトランジスタ対のゲートとクロスカップルされるクロスカップルラッチであってよい。トランジスタ２２７−１、２２７−２、２２９−１及び２２９−２を含むクロスカップルラッチ２１５は、一次ラッチと呼ばれてよい。
【００６２】
動作中、メモリセルが検出されている（例えば、読み出されている）時、デジット線２０５−１（Ｄ）または２０５−２（Ｄ）_の一方の電圧は、デジット線２０５−１（Ｄ）
または２０５−２（Ｄ）_の他方の電圧よりわずかに高くなる。ＡＣＴ信号及びＲＮＬ＊
信号は、低く駆動されて、センスアンプ２０６を有効に（例えば、ｆｉｒｅ）してよい。低い方の電圧を有するデジット線２０５−１（Ｄ）または２０５−２（Ｄ）_は、ＰＭＯ
Ｓトランジスタ２２９−１または２２９−２の一方をＰＭＯＳトランジスタ２２９−１または２２９−２の他方より高くオンにして、それによって、高い方の電圧を有するデジット線２０５−１（Ｄ）または２０５−２（Ｄ）_を他方のデジット線２０５−１（Ｄ）ま
たは２０５−２（Ｄ）_を高く駆動するよりも高く駆動する。
【００６３】
同様に、高い方の電圧を有するデジット線２０５−１（Ｄ）または２０５−２（Ｄ）_
が、ＮＭＯＳトランジスタ２２７−１または２２７−２の一方をＮＭＯＳトランジスタ２２７−１または２２７−２の他方より高くオンにし、それによって、低い方の電圧を有するデジット線２０５−１（Ｄ）または２０５−２（Ｄ）_を他方のデジット線２０５−１
（Ｄ）または２０５−２（Ｄ）_を低く駆動するよりも低く駆動する。結果として、少し
遅れて、僅かに高い方の電圧を有するデジット線２０５−１（Ｄ）または２０５−２（Ｄ）_が、ソーストランジスタを通して供給電圧Ｖｃｃの電圧に駆動され、他方のデジット
線２０５−１（Ｄ）または２０５−２（Ｄ）_は、基準電圧（例えば、接地）の電圧にシ
ンクトランジスタを通して駆動される。よって、クロスカップルされたＮＭＯＳトランジスタ２２７−１及び２２７−２とＰＭＯＳトランジスタ２２９−１及び２２９−２は、センスアンプ対として働き、デジット線２０５−１（Ｄ）及び２０５−２（Ｄ）_上の差動
電圧を増幅し、選択されたメモリセルから検出されたデータ値をラッチするように動作する。
【００６４】
実施形態は、図２に示すセンスアンプ２０６の構成に限定されない。例として、センスアンプ２０６は、電流モードセンスアンプ及びシングルエンドセンスアンプ（例えば、１つのデジット線に結合されたセンスアンプ）であってよい。また、本開示の実施形態は、図２に示すアーキテクチャ等の折り畳みデジット線アーキテクチャに限定されない。
【００６５】
センスアンプ２０６は、計算コンポーネント２３１と共に、アレイからのデータを入力として使用して、様々な演算を行うように動作されてよい。幾つかの実施形態においては、演算の結果は、デジット線アドレスアクセスを介してデータを転送すること無しに（例えば、データをアレイ及び検出回路から外部の回路にローカルＩ／Ｏ線を介して転送する列デコード信号を発すること無しに）アレイに戻して記憶されてよい。従って、本開示の幾つかの実施形態は、様々な既存の手法より少ない電力で、動作と、動作に関連付けられた計算機能とを行うことを可能にし得る。さらに、幾つかの実施形態は、（例えば、メモリと別個のプロセッサとの間の）計算機能を行うために、ローカル及びグローバルなＩ／Ｏ線を通してデータを転送する必要を無くすので、幾つかの実施形態は、既存の手法と比較して、より向上した（例えば、より速い）処理能力を可能にし得る。
【００６６】
センスアンプ２０６は、平衡回路２１４をさらに含んでよく、平衡回路２１４は、デジット線２０５−１（Ｄ）と２０５−２（Ｄ）_を平衡にするように構成されてよい。この
例においては、平衡回路２１４は、デジット線２０５−１（Ｄ）と２０５−２（Ｄ）_の
間に結合されたトランジスタ２２４を含む。平衡回路２１４は、トランジスタ２２５−１及び２２５−２も含み、各トランジスタは、平衡電圧（例えば、ＶＤＤ／２）に結合された第１のソース／ドレイン領域を有し、ここで、ＶＤＤは、アレイに関連付けられた供給電圧である。トランジスタ２２５−１の第２のソース／ドレイン領域は、結合されたデジット線２０５−１（Ｄ）であってよく、トランジスタ２２５−２の第２のソース／ドレイン領域は、結合されたデジット線２０５−２（Ｄ）_であってよい。トランジスタ２２４
、２２５−１、及び、２２５−２のゲートは、互いに結合されてよく、平衡（ＥＱ）制御信号線２２６に結合されてよい。従って、ＥＱをアクティブにすることは、トランジスタ２２４、２２５−１、及び、２２５−２を有効にし、これは、デジット線２０５−１（Ｄ）及び２０５−２（Ｄ）_を一緒に、また、平衡電圧（例えば、Ｖｃｃ／２）に有効に短
絡する。
【００６７】
図２は、平衡回路２１４を含むセンスアンプ２０６を示すが、実施形態はこれに限定されず、平衡回路２１４は、センスアンプ２０６とは別に実施されてよく、図２に示す構成とは異なる構成で実施されてよく、全く実施されなくてもよい。
【００６８】
以下にさらに記載するように、幾つかの実施形態において、検出回路２５０（例えば、センスアンプ２０６及び計算コンポーネント２３１）は、選択された動作を行うように、また、その結果を、検出回路からデータをローカルまたはグローバルなＩ／Ｏ線を介して転送すること無しに（例えば、列デコード信号のアクティブ化を介して、センス線アドレスアクセスを行うこと無しに）センスアンプ２０６または計算コンポーネント２３１のうちの１つに、最初に記憶するように動作されてよい。
【００６９】
しかしながら、本明細書に記載の実施形態に加えて、センスアンプ２０６を有する検出回路２５０は、ある実施形態においては、図２に示す計算コンポーネント２３１も含んでよく、図４に関連して論じるように、、アレイのメモリセルの多重化された列からのメモリセルを、アレイにローカルの複数の共有Ｉ／Ｏ線４５５のデータパスの計算ユニット４６０の計算コンポーネント４３１−１、．．．、４３１−Ｚ及び／または論理ストライプ４２４−１、...、４２４−Ｎに結合してもよい。このように、計算コンポーネント４３
１−１、．．．、４３１−Ｚ及び／または論理ストライプ４２４−１、...、４２４−Ｎ
は、（図３〜図７に関連して論じる）選択論理回路を介して複数の共有Ｉ／Ｏ線４５５を
通して列のメモリセルに間接的に結合されてよい。
【００７０】
演算（例えば、データ値を伴うブール論理演算）の実行が、基本であり、一般的に用いられる。ブール論理演算は、多くのより高次のレベルの演算で使用される。結果として、演算の向上で実現し得る速さ及び／または電力効率は、より高いオーダーの機能の速さ及び／または電力効率につながり得る。
【００７１】
図２に示すように、計算コンポーネント２３１は、ラッチも含んでよく、ラッチは、本明細書では、二次ラッチ２６４と呼ばれてよい。二次ラッチ２６４は、一次ラッチ２１５に関して前述したのと同様に、構成され、動作されてよいが、二次ラッチに含まれるクロスカップルされたｐチャネルトランジスタ（例えば、ＰＭＯＳトランジスタ）の対は、その各ソースが供給電圧（例えば、ＶＤＤ）に結合されてよく、二次ラッチのクロスカップルされたｎチャネルトランジスタ（例えば、ＮＭＯＳトランジスタ）の対は、その各ソースが基準電圧（例えば、接地）に選択的に結合されてよく、その結果、二次ラッチは、連続的に有効にされる。計算コンポーネント２３１の構成は、図２に示す構成に限定されず、例えば、図４の論理ストライプ４２４−１、...、４２４−Ｎとの関連で記載した計算
コンポーネント４３１−１、．．．、４３１−Ｚとして使用するために様々な他の実施形態が実行可能である。
【００７２】
本明細書に記載のように、メモリデバイス（例えば、図１Ａの１２０）は、ホスト（例えば、１１０）にデータバス（例えば、１５６）及び制御バス（例えば、１５４）を介して結合されるように構成されてよい。メモリデバイス１２０のバンク１２１は、メモリセルの複数のバンク区分（図１Ｂの１２３−１、．．．、１２３−Ｎ）を含んでよい。バンク１２１は、メモリセルの複数の列（図１Ｂ）を介して複数のアレイに結合された検出回路（例えば、図１Ａの１５０、及び、図２及び図３の対応する参照番号）を含んでよい。検出回路は、列のそれぞれに結合されたセンスアンプ及び／または計算コンポーネント（例えば、それぞれ図２の２０６、２３１）を含んでよい。
【００７３】
各バンク区分１２３は、アレイ２３０にローカルな複数の共有Ｉ／Ｏ線（図１Ｂの１５５）のデータパスの計算ユニットの複数の論理ストライプ（例えば、図１Ｂの１２４−０、１２４−１、...、１２４Ｎ−１）に関連付けられてよい。バンクに結合されたコント
ローラ（例えば、図１Ａ及び図１Ｂの１４０）は、本明細書に記載のように、アレイ２３０にローカルな共有Ｉ／Ｏ線３５５／４５５（図３及び図４）のデータパスの計算ユニット３６０／４６０（図３及び図４）の論理ストライプ４２４（図４）の計算コンポーネント４３１（図４）へのデータ値の移動を指示するように構成されてよい。
【００７４】
メモリデバイスは、複数の計算コンポーネント（例えば、図４の４３１−１、．．．、４３１−Ｚ）を有する論理ストライプ（例えば、図１Ｂの１２４、及び、図４の４２４）を含んでよく、計算コンポーネントは、それぞれ、サブ行のメモリセル（例えば、図４の４２８−１、...、４２８−１６）の複数の列のうちのある数（図１Ｂ）に対応してよい
。図３に関連してさらに論じるように、検出回路２５０のある数のセンスアンプ２０６及び／または計算コンポーネント２３１は、複数の共有Ｉ／Ｏ線３５５（図３）に選択可能に結合されて（例えば、図３の列選択回路３５８−１及び３５８−２を介して多重化されて）よい。列選択回路は、複数（例えば、他の可能性のうちで、４、８、１６）のセンスアンプ及び／または計算コンポーネントに選択可能に結合されることによって、アレイのメモリセルの特定の列のデータを選択可能に検出するように構成されてよい。
【００７５】
ある実施形態においては、バンクの複数の論理ストライプ（例えば、図１Ｂの１２４−１、...、１２４−Ｎ）のある数は、そのバンクの図１Ｂのバンク区分１２３−１、．．
．、１２３−Ｎ（例えば、複数のサブアレイを有するクワドラント）の数に対応してよい
。あるいは、または、さらに、バンクの複数の論理ストライプのある数は、ＤＲＡＭアレイの行の複数のサブ行のある数に対応してよい。論理ストライプは、図２に示す計算コンポーネント２３１のように構成及び／または動作し得るアレイ２３０にローカルな共有Ｉ／Ｏ４５５（図４）のデータパスの複数の計算コンポーネント４３１−１、．．．、４３１−Ｚ（図４）を含み得る。図３に示すように、アレイの行またはサブ行から検出されたデータ値は、複数の共有Ｉ／Ｏ線３５５／４５５（図３及び図４）のデータパスの計算ユニット３６０／４６０（図３及び図４）の複数の計算コンポーネント４３１（図４）に複数の共有Ｉ／Ｏ線３５５（図３）を介して列選択論理回路によって並行に移動されてよい。ある実施形態においては、データ量は、１Ｋビット幅の複数の共有Ｉ／Ｏ線に対応してよく、これは、サブ行のメモリセル及び／またはデータ値の数にも対応してよい。
【００７６】
様々な実施形態において、検出されたデータ値、記憶されたデータ値、及び／または演算が行われた論理ストライプのデータ値の移動のために、接続回路２３２−１は、例えば、２１７−１で、接続回路２３２−２は、２１７−２で一次ラッチ２１５（例えば、論理ストライプの計算コンポーネント２３１に関連付けられたラッチとして働くセンスアンプ２０６）に結合されてよい。データ値は、（例えば、共有Ｉ／Ｏ線を介した移動無しに）接続回路２３２−１及び２３２−２を介して直接（例えば、ビットシリアルリンクとして）、本明細書に記載のように、選択されたラッチ、及び／または、別の論理ストライプの計算コンポーネント２３１に移動されてよい。
【００７７】
図２は、接続回路２３２−１、２３２−２が、それぞれ、一次ラッチ２１５の２１７−１、２１７−２で結合されているのを示すが、実施形態は、これに限定されない。例えば、接続回路２３２−１及び２３２−２は、例えば、選択されたラッチ、及び／または、別の論理ストライプの計算コンポーネント２３１に接続回路２３２−１及び２３２−２を介してデータ値を移動するために二次ラッチ２６４（例えば、計算コンポーネント２３１）に結合されてよい。例えば、このような接続回路２３２−１及び２３２−２は、（例えば、図９Ｃに関連して記載する）複数の論理ストライプの演算のシストリックシーケンスの実行のために、（例えば、コントローラ１４０によって指示されて）、ラッチ及び／または、第１の論理ストライプの計算コンポーネントから、対応するラッチ及び／または第２の論理ストライプ（例えば、隣の論理ストライプ）の計算コンポーネントへのデータ値（ビット）のカスケードを有効にしてよい。
【００７８】
本明細書に記載のように、メモリセルアレイは、コントローラが、コマンドに応答して、ソース位置から宛先位置に共有Ｉ／Ｏ線を介してデータを移動（例えば、コピー、転送、及び／または、トランスポート）するように構成されるＤＲＡＭメモリセルの実施態様を含んでよい。様々な実施形態において、ソース位置は、第１のバンクにあってよく、宛先位置は、アレイ２３０にローカルな共有Ｉ／Ｏ線３５５（図３）のデータパスの計算ユニット３６０（図３）にあってよい。
【００７９】
図３に記載するように、装置は、第１の数のセンスアンプ及び／または計算コンポーネントに関連付けられた特定の行（例えば、図３の３１９）と列のアドレスを含むソース位置からのデータを共有Ｉ／Ｏ線（例えば、図３の３５５）に移動（例えば、コピー、転送、及び／または、トランスポート）するように構成されてよい。さらに、装置は、共有Ｉ／Ｏ線３５５（図３）のデータパスの計算ユニット３６０（図３）に関連付けられた特定の論理ストライプ４２４（図４）を含む宛先位置にデータを移動するように構成されてよい。読者は理解されるように、各共有Ｉ／Ｏ線３５５（図３）は、１本の線であってよい、または、相補共有Ｉ／Ｏ線の対（例えば、図３の共有Ｉ／Ｏ線及び共有Ｉ／Ｏ線＊）を含んでよい。ある実施形態においては、２Ｋの共有Ｉ／Ｏ線（例えば、共有Ｉ／Ｏ線の相補対）は、２Ｋビット幅の共有Ｉ／Ｏ線として構成されてよい。ある実施形態においては、１Ｋの共有Ｉ／Ｏ線（例えば、共有Ｉ／Ｏ線の相補対）は、１Ｋビット幅の共有Ｉ／Ｏ
線として構成されてよい。
【００８０】
図３は、本開示の幾つかの実施形態による、アレイのデータパスの複数の共有Ｉ／Ｏ線の回路を示す概略図である。図３は、８つのセンスアンプ（例えば、それぞれ、３０６−０、３０６−１、．．．、３０６−７に示されるセンスアンプ０、１、...、７）を示し
、各センスアンプは、相補共有Ｉ／Ｏ線の各対３５５（例えば、共有Ｉ／Ｏ線、及び、共有Ｉ／Ｏ線＊）に結合されることを示している。図３は、８つの計算コンポーネント（例えば、３３１−０、３３１−１、...、３３１−７に示される計算コンポーネント０、１
、...、７）も示し、各計算コンポーネントは、各パスゲート３０７−１及び３０７−２
とデジット線３０５−１及び３０５−２とを介して、各センスアンプ（例えば、３０６−０にセンスアンプ０で示される）に結合されることを示している。パスゲートは、図２に示すように接続されてよく、演算選択信号Ｐａｓｓによって制御されてよい。例えば、選択論理回路の出力は、パスゲート３０７−１及び３０７−２のゲートとデジット線３０５−１及び３０５−２とに結合されてよい。ある実施形態においては、センスアンプと計算コンポーネントの対応する対は、３５０−０、３５０−１、...、３５０−７に示される
検出回路の形成に寄与してよい。
【００８１】
相補デジット線の対３０５−１及び３０５−２に存在するデータ値は、図２に関連して記載したようにセンスアンプ３０６−０にロードされてよい。ある実施形態においては、パスゲート３０７−１及び３０７−２が有効にされると、相補デジット線の対３０５−１及び３０５−２のデータ値は、センスアンプから計算コンポーネント（例えば、３０６−０から３３１−０）に渡されてよい。相補デジット線の対３０５−１及び３０５−２のデータ値は、センスアンプ３０６−０が開始（ｆｉｒｅ）されると、センスアンプによって記憶されるデータ値であってよい。
【００８２】
図３のセンスアンプ３０６−０、３０６−１、．．．、３０６−７は、それぞれ、図２のセンスアンプ２０６に対応してよい。図３の計算コンポーネント３３１−０、３３１−１、...、３３１−７は、それぞれ、図２に示す計算コンポーネント２３１に対応してよ
い。個々のセンスアンプ、または、１つのセンスアンプと１つの計算コンポーネントとの組み合わせは、共有Ｉ／Ｏ線３５５のデータパスの計算ユニット３６０のある数の論理ストライプによって共有される共有Ｉ／Ｏ線３５５に結合されたＤＲＡＭメモリサブアレイ３２５の一部の検出回路（例えば、３５０−０、３５０−１、...、３５０−７）に寄与
してよい。
【００８３】
図３に示す実施形態の構成を明瞭になるように示しているが、この構成に限らない。例えば、センスアンプ３０６−０、３０６−１、．．．、３０６−７と計算コンポーネント３３１−０、３３１−１、...、３３１−７及び共有Ｉ／Ｏ線３５５とを組み合わせた図
３に示す構成は、検出回路のセンスアンプ３０６−０、３０６−１、．．．、３０６−７、及び／または、計算コンポーネント３３１−０、３３１−１、...、３３１−７の組み
合わせの半分がメモリセル（図示せず）の列３２２より上に形成され、半分がメモリセルの列３２２より下に形成される構成に限定されない。共有Ｉ／Ｏ線に結合するように構成された検出回路を形成するセンスアンプ及び／または計算コンポーネントのこのような組み合わせの数も８つに限定されない。例えば、共有Ｉ／Ｏ線に結合するように構成された検出回路を形成するセンスアンプ及び／または計算コンポーネントの数は、行あたりのサブ行の数及び／または論理ストライプの数が１６である時、１６であってよい。さらに、共有Ｉ／Ｏ線３５５の構成は、相補デジット線３０５−１及び３０５−２の２つのセットのそれぞれを選択可能に結合するために２つに分けられることに限定されず、また、共有Ｉ／Ｏ線３５５の位置も（例えば、センスアンプ及び計算コンポーネントの組み合わせのいずれかの側ではなく）検出回路を形成するセンスアンプ及び／または計算コンポーネントの中央であることに限定もされない。
【００８４】
図３に示す回路は、（例えば、図１Ａ及び図１Ｂに示すコントローラ１４０によって指示されるように）、サブアレイ３２５の特定の列３２２、それらに関連付けられた相補デジット線３０５−１及び３０５−２、及び、共有Ｉ／Ｏ線３５５に対して多重送信によって、データ移動動作を実施するように構成された列選択回路３５８−１及び３５８−２も示す。例えば、列選択回路３５８−１は、列０（３３２−０）、列２、列４、及び、列６等、対応する列に結合するように構成された選択線０、２、４、及び、６を有する。列選択回路３５８−２は、列１、列３、列５、及び、列７等、対応する列と結合するように構成された選択線１、３、５、及び、７を有する。図３に関連して記載された列選択回路３５８は、様々な実施形態において、マルチプレクサ（例えば、８ウェイ・マルチプレクサ、１６ウェイ・マルチプレクサ等）によって実現され、マルチプレクサに含まれる機能の少なくとも一部を表し得る。
【００８５】
コントローラ１４０は、センスアンプ、計算コンポーネントに記憶されたデータ値、及び／または、相補デジット線の対（例えば、選択トランジスタ３５９−１及び３５９−２が選択線０からの信号を介してアクティブにされる時、３０５−１及び３０５−２）に存在するデータ値にアクセスするように、選択線（例えば、選択線０）を制御するように列選択回路３５８に結合されてよい。（例えば、コントローラ１４０によって指示されるように）選択トランジスタ３５９−１及び３５９−２をアクティブにすることは、列０（３２２−０）のセンスアンプ３０６−０、計算コンポーネント３３１−０、及び／または、相補デジット線３０５−１及び３０５−２の結合を有効にして、デジット線０及びデジット線０＊上のデータ値を共有Ｉ／Ｏ線３５５に移動させる。例えば、移動されたデータ値は、センスアンプ３０６−０及び／または計算コンポーネント３３１−０に記憶（キャッシュ）された特定の行３１９からのデータ値であってよい。各列０〜７からのデータ値は、同様に、コントローラ１４０が適切な選択トランジスタをアクティブにすることによって選択されてよい。
【００８６】
さらに、選択トランジスタ（例えば、選択トランジスタ３５９−１及び３５９−２）を有効にする（例えば、アクティブにする）ことは、特定のセンスアンプ及び／または計算コンポーネント（例えば、それぞれ、３０６−０、及び／または、３３１−０）が共有Ｉ／Ｏ線３５５と結合されるのを可能にしてよく、それによって、アンプ及び／または計算コンポーネントによって記憶されたデータ値は、共有Ｉ／Ｏ線３５５に移動（例えば、配置、及び／または、転送）されてよい。ある実施形態においては、一度に１列（例えば、列３２２−０）が選択されて、特定の共有Ｉ／Ｏ線３５５に結合され、記憶されたデータ値を移動（例えば、コピー、転送、及び／または、トランスポート）する。図３の構成例においては、共有Ｉ／Ｏ線３５５は、共有の異なるＩ／Ｏ線対（例えば、共有Ｉ／Ｏ線及び共有Ｉ／Ｏ線＊）として示される。よって、列０（３２２−０）の選択は、行（例えば、行３１９）のサブ行から、及び／または、相補デジット線３０５−１及び３０５−２に関連付けられたセンスアンプ及び／または計算コンポーネントによって記憶された２つのデータ値（例えば、０及び／または１の値を有する２ビット）を生じさせてよい。これらのデータ値は、共有差動Ｉ／Ｏ線３５５の各共有差動Ｉ／Ｏ線対（例えば、共有Ｉ／Ｏ及び共有Ｉ／Ｏ*）に並行に入力されてよい。
【００８７】
図４は、本開示の幾つかの実施形態による、アレイ１３０にローカルなデータパスの複数の共有Ｉ／Ｏ線４５５によって複数の論理ストライプ４２４-１、...、４２４−Ｚを有する計算ユニット４６０に結合されたアレイ１３０（図１Ａ）のバンク区分４２３を示すブロック図である。図４の実施形態においては、（例えば、複数のバンククワドラントを有する）バンク区分４２３が、クワドラント毎に複数のサブアレイ４２５−１、...、４
２５−３２を有するとして示される。図４においては、３２のサブアレイが、バンククワドラント１に示されている。しかしながら、実施形態は、この例に限定されない。この例
は、バンク区分４２３を１６Ｋの列を有するとして示され、列は、共有Ｉ／Ｏ線４５５に対して（例えば、３５８−１及び３５８−２に示され、図３に関連して記載される列選択回路を介して）行毎に１６のサブ行４２８−１、...、４２８−１６によって多重化され
てよいことを示す。ある実施形態においては、１６番目の列毎、及び、結合されたメモリセルは、サブ行として移動され得るデータ値を、１Ｋビットのグループとして計算ユニット４６０に並行に提供してよい。あるいは、または、さらに、連続した１Ｋの列、及び、結合されたメモリセルは、サブ行として移動され得る１Ｋのデータ値を１Ｋビットのグループとして並行に計算ユニット４６０に提供してよい。他の可能な実施形態のうち、どちらの実施形態においても、１Ｋビットのグループは、１６の指定された論理ストライプ４２４−１、...、４２４−Ｎの１Ｋの指定された計算コンポーネント４３１−１、．．．
、４３１−Ｚに共有Ｉ／Ｏ線４５５を通して１６サイクルで連続して移動されてよい。
【００８８】
例えば、第１のサブ行４２８−１のシーケンスの第１のセンスアンプ及び／またはメモリセルからのビットは、第１の論理ストライプ４２４-１の計算コンポーネントのシーケ
ンスの第１の計算コンポーネント４３１-１、または、関連付けられたラッチに記憶され
るように、（例えば、コントローラ１４０によって）指示されてよい。第１のサブ行４２８−１のシーケンスの第２のセンスアンプ及び／またはメモリセルからのビットは、第１の論理ストライプ４２４−１の計算コンポーネントのシーケンスの第２の計算コンポーネント４３１−２または関連付けられたラッチに記憶されるように指示されてよい。さらに、第２のサブ行４２８−２のシーケンスの第１のセンスアンプ及び／またはメモリセルからのビットは、第２の論理ストライプ４２４−２の計算コンポーネントのシーケンスの第１の計算コンポーネント４３１-１または関連付けられたラッチによって記憶されるよう
に指示されてよい。第２のサブ行４２８−２のシーケンスの第２のセンスアンプ及び／またはメモリセルからのビットは、第２の論理ストライプ４２４−１の計算コンポーネントのシーケンスの第２の計算コンポーネントまたは関連付けられたラッチによって記憶されるように指示されてよい。各行のサブ行４２８−１、４２８−２、...、４２８−１６の
シーケンスの各センスアンプ及び／またはメモリセルに対応するビットは、同様に、論理ストライプ４２４−１、...、４２４−Ｎのシーケンスの対応する計算コンポーネントま
たは関連付けられたラッチに記憶されるように指定されてよい。（例えば、サブ行４２８−１からのデータ値が、論理ストライプ４２４-１に移動され、サブ行４２８−２からの
データ値が、論理ストライプ４２４−２に移動される等）。移動は、共有Ｉ／０線４５５を介して指定された論理ストライプに向けられてよく、共有Ｉ／０線４５５は、１Ｋビット幅のデータパスを計算ユニット４６０に提供してよい。
【００８９】
図４の例において、各論理ストライプ４２４−１、...、４２４−Ｎは、計算コンポー
ネント２３１を図２の検出回路２５０に関連して本明細書で記載したように、複数の計算コンポーネント４３１−１、．．．、４３１−Ｚを有してよい。ある実施形態においては、複数の論理ストライプ４２４−１、...、４２４−Ｎは、それぞれ、複数の計算コンポ
ーネント４３１−１、．．．、４３１−Ｚを用いて、計算機能を行うように構成されてよい。ある実施形態においては、複数の論理ストライプ４２４-１、...、４２４−Ｚは、それぞれ、複数の計算コンポーネント４３１−１、．．．、４３１−Ｚを用いて、異なる論理演算を行ってよい。論理演算の様々な組み合わせ及び／またはシーケンスのうち、例えば、複数の論理ストライプ４２４-１、...、４２４−Ｚの少なくとも１つは、ＡＮＤ演算を行うように構成されてよく、複数の論理ストライプ４２４-１、...、４２４−Ｚの少なくとも１つは、ＮＯＲ演算を行うように構成されてよい。
【００９０】
ある実施形態においては、バンク区分に関連付けられたコントローラ１４０（図１Ａ）は、複数のサブアレイ４２５−１、...、４２５−３２のうちの特定のアクセスされたサ
ブ行に関連する対応する１Ｋの多重化された列から、計算ユニット４６０の特定の論理ストライプ４２４−１、...、４２４−Ｎの特定の計算コンポーネント４３１−１、．．．
、４３１−Ｚに、１Ｋのデータ値の並行移動を指示するマイクロコード命令を実行してよい。
【００９１】
ある実施形態においては、共有Ｉ／Ｏ線を使用して、複数の論理ストライプ４２４−１、...、４２４−Ｎの各論理ストライプの複数の計算コンポーネント４３１-１、．．．、４３１−Ｚの各計算コンポーネントに１Ｋのデータ値を接続してよい。制限ではなく、例として、１Ｋビットのデータ値は、各サブ行に関連付けられた特定の論理ストライプに並行に移動されてよい。様々な実施形態において、例えば、バンク区分４２３の４つのクワドラントのそれぞれの３２のサブアレイ４２５−１、...、４２５−３２のそれぞれに関
連付けられた計算ユニット４６０があってよく、または、計算ユニットが、サブアレイ、クワドラント、及び／またはバンク区分の様々な組み合わせの間で共有されてよい。計算ユニット４６０の論理ストライプ４２４−１、...、４２４−Ｎの複数の計算コンポーネ
ント４３１−１、．．．、４３１−Ｚにロードされたデータ値は、コントローラ１４０（図１Ａ）からのマイクロコード命令に従って操作されて、図２の検出回路２５０に関連して、本明細書に記載されたのと同じように、データ値に対して演算（例えば、ＡＮＤ、ＯＲ、ＮＯＲ、ＸＯＲ、加算、減算、乗算、除算等）を行ってよい。
【００９２】
本明細書に記載のように、例えば、第１のサブ行４２８−１の１Ｋのデータ値が、計算ユニット４６０の第１の論理ストライプ４２４−１に移動（例えば、ロード）されると、第２のサブ行４２８−２からのデータ値が計算ユニット４６０の第２の論理ストライプ４２４−２に移動される前に、及び／または、移動されるのとほぼ同時に、計算動作が、第１のサブ行４２８−１の１Ｋのデータ値に対して開始されてよい。計算ユニットの論理ストライプで行われるこのような動作は、データ値をアレイ１３０の行（図１Ａ）に戻す必要無く、コントローラ１４０（図１Ａ）によって実行されるマイクロコードに従って、ずっと速く（例えば、約２ｎｓの速さで）制御されてよい。例えば、アレイ１３０（図１Ａ）の行を開始（ｆｉｒｅ)または行にアクセスするのに必要とされる時間の例（例えば、
約６０ｎｓ）と比較して、ずっと速く計算ユニット４６０を用いて、計算動作が行われてよい。図２に関連して記載したように、接続回路２３２−１及び２３２−２は、検出された、記憶された、及び／または、演算が行われた論理ストライプのデータ値の論理ストライプ間での移動を、共有Ｉ／Ｏ線を介した移動無しに、可能にし得る。
【００９３】
従って、メモリデバイス１２０は、様々な実施形態において、メモリセルのアレイ１３０に関連付けられたインデータパス計算動作のデータパスとして共有される複数のＩ／Ｏ線を含んでよい。複数の共有Ｉ／Ｏ線は、アレイの行の第１のサブ行（例えば、４２８-
１）を、検出回路（例えば、３５０）を介してデータパスの第１の計算コンポーネント（例えば、４３１−１）に選択可能に結合して、第１のサブ行から第１の計算コンポーネントに第１のデータ値を移動してよい。複数の共有Ｉ／Ｏ線は、各行の第２のサブ行（例えば、４２８-２）を、検出回路を介してデータパスの第２の計算コンポーネント（例えば
、第１の論理ストライプの第１の計算コンポーネントの位置に対応する計算コンポーネント）に選択可能に結合して、第２のサブ行から第２の計算コンポーネントに第２のデータ値を移動してよい。例えば、第１の論理ストライプ（例えば、４２４−１）は、第１の計算コンポーネントを含んでよく、第２の論理ストライプ（例えば、４２４−２）は、第２の計算コンポーネントを含んでよい。本明細書に記載のように、第２のサブ行から第２の計算コンポーネントへの第２のデータ値の移動とほぼ同時に、第１の計算コンポーネントを用いて、第１のサブ行からの第１のデータ値に対して演算を行ってよい。
【００９４】
様々な実施形態において、データパスは、第１のサブ行（例えば、４２８-１）の複数
のメモリセル（図示せず）のある数に対応する複数の第１の計算コンポーネント（例えば、４３１−１、．．．、４３１−Ｚ）の数を含み得る第１の論理ストライプ（例えば、４２４−１）と、第２のサブ行の複数のメモリセル（例えば、４２８−２）のある数に対応
する複数の第２の計算コンポーネントの数を含み得る第２の論理ストライプ（例えば、４２４−２）とをさらに含んでよい。複数の論理ストライプ（例えば、４２４−１、...、
４２４Ｎ）のある数は、各行の複数のサブ行（例えば、４２８−１、...、４２８−１６
）のある数に対応してよい。計算ユニット（例えば、４６０）は、複数の論理ストライプ（例えば、４２４−１、...、４２４Ｎ）を含んでよく、複数の論理ストライプは、それ
ぞれ、複数の計算コンポーネント（例えば、４３１−１、．．．、４３１−Ｚ）を含んでよく、複数の計算コンポーネントのそれぞれは、アレイにローカルな複数の共有Ｉ／Ｏ線４５５の少なくとも１つに関連付けられて（例えば、選択可能に結合されて）よい。複数の共有Ｉ／Ｏ線のある数は、各行のサブ行の複数のメモリセルのある数に対応してよい（例えば、他の可能な構成のうち、サブ行または行の８または１６のメモリセル及び／または列毎に、個別の共有Ｉ／Ｏ線）。論理ストライプ（例えば、４２４−１）は、各論理ストライプに結合されたサブ行の複数のメモリセルのある数に対応する複数の計算コンポーネント（例えば、４３１−１、．．．、４３１−Ｚ）の数を含んでよい。
【００９５】
図５は、本開示の幾つかの実施形態による、メモリデバイス５２０のコントローラ５４０の例を示すブロック図である。ある実施態様においては、図５のブロック図は、図１Ａ及び図１Ｂのメモリデバイス１２０等、ＰＩＭ対応デバイスの例の一部をより詳細に提供する。図５の例において、（総称して、コントローラ５４０と呼ばれる）コントローラ５４０−１、．．．、５４０−７は、ＰＩＭ対応デバイス５２０の（総称してバンク５２１と呼ばれる）各バンク５２１−１、．．．、５２１−７に関連付けられてよい。８つのバンクが、図５の例に示されている。しかしながら、実施形態は、この例の数に限定されない。コントローラ５４０は、例えば、図１Ａに示すコントローラ１４０を表してよい。各バンクは、メモリセルの１つまたは複数のアレイ（図示せず）を含んでよい。例えば、各バンクは、図１Ａのアレイ１３０等の１つまたは複数のアレイを含んでよく、図１Ａに示すように、デコーダ、他の回路、及び／または、レジスタを含んでよい。図５に示すメモリデバイス５２０の例において、コントローラ５４０−１、．．．、５４０−７は、メモリデバイス５２０の１つまたは複数のメモリバンク５２１上のコントローラ５４０の一部として、制御回路５３１−１、．．．、５３１−７、シーケンス制御装置５３２−１、...、５３２−７、及び、タイミング回路５３３−１、...、５３３−７を有するとして示されている。ＰＩＭ対応デバイス５２０は、図１Ａに示すメモリデバイス１２０の一部を表してよい。
【００９６】
図５に示すように、メモリデバイス５２０は、ＰＩＭ対応デバイス５２０で、データ、アドレス、制御信号、及び／または、コマンドを受信する高速インタフェース（ＨＳＩ）５４１を含んでよい。様々な実施形態において、ＨＳＩ５４１は、ＰＩＭ対応デバイス５２０に関連付けられたバンクアービター５４５に結合されてよい。ＨＳＩ５４１は、ホスト（例えば、図１Ａの１１０）からコマンド及び／またはデータを受信するように構成されてよい。図５に示すように、バンクアービター５４５は、複数のバンク５２１-１、..．
、５２１-７に結合されてよい。
【００９７】
図５に示す例の制御論理回路５３１−１、．．．、５３１−７は、各バンク５２１-１
、..．、５２１-７の一部であるメモリセルアレイ（例えば、図１Ａのアレイ１３０）か
ら機械命令（例えば、マイクロコード命令）のフェッチ及び実行を担当するマイクロコードエンジンの形態であってよい。シーケンス制御装置５３２−１、...、５３２−７もマ
イクロコードエンジンの形態であってよい。あるいは、制御論理回路５３１−１、．．．、５３１−７は、超長命令語（ＶＬＩＷ：ｖｅｒｙ  ｌａｒｇｅ  ｉｎｓｔｒｕｃｔｉｏｎ  ｗｏｒｄ）型の処理リソースの形態であってよく、シーケンス制御装置５３２−１、...、５３２−７及びタイミング回路５３３−１、...、５３３−７は、状態機械及びトランジスタ回路の形態であってよい。
【００９８】
制御回路５３１−１、．．．、５３１−７は、マイクロコード命令を、シーケンス制御装置５３２−１、...、５３２−７によって実施される関数呼び出し（例えば、マイクロ
コード関数呼び出し（ｕＣＯＤＥ））にデコードしてよい。図６は、本開示の実施形態による、図６に６４２として示されるコントローラ５４０の別の実施形態を示し、シーケンス制御装置のより詳細な部分を示す。マイクロコード関数呼び出しは、シーケンス制御装置５３２−１、...、５３２−７が受信し、実行して、メモリデバイス５２０に、図１Ａ
の検出回路１５０等の検出回路を用いて、または、図４に示される計算ユニット４６０の計算コンポーネント４３１−１、．．．、４３１−Ｚ、図６に示される計算ユニット６６０の計算コンポーネント６３１−１、．．．、６３１−Ｚを用いて、特定の論理演算を行わせる演算であってよい。タイミング回路５３３−１、...、５３３−７は、図４に示さ
れる計算ユニット４６０の論理ストライプ４２４−１、...、４２４−Ｎ及び図６に示さ
れる計算ユニット６６０の論理ストライプ６２４−１、．．．、６２４−Ｎによる論理演算の実行を調整するタイミングを提供してよく、及び／または、図１Ａのアレイ１３０等のアレイへのコンフリクトの無いアクセスの提供を担当してよい。
【００９９】
図１Ａに関連して記載したように、コントローラ５４０−１、．．．、５４０−７は、５５５−１、５５５−７として図５に示される制御線及びデータパスを介してメモリセルアレイに関連付けられる、キャッシュ、バッファ、センスアンプ、拡張行アドレス（ＸＲＡ）ラッチ、及び／または、レジスタを含む、検出回路１５０、計算ユニット４６０／６６０、及び／または、追加論理回路１７０に結合されてよい。従って、図１Ａ、図４、及び、図６に示される検出回路１５０、計算ユニット４６０／６６０、論理回路１７０は、（例えば、図５の５５５−１、．．．、５５５−７、及び／または、他のＩ／Ｏ回路に示される共有Ｉ／Ｏ線を用いて）メモリセルアレイ１３０に関連付けられてよい。コントローラ５４０−１、．．．、５４０−７は、読み出し、書き込み、コピー、及び／または、消去動作等、アレイの規則的なＤＲＡＭ動作を制御してよい。しかしながら、追加で、制御論理回路５３１−１、．．．、５３１−７によって読み出し、実行されるマイクロコード命令と、シーケンス制御装置５３２−１、...、５３２−７によって受信、実行される
マイクロコード関数呼び出しは、図１Ａ、図４、及び、図６に示す検出回路１５０及び／または計算ユニット４６０／６６０に、加算、乗算等の追加の論理演算、または、より具体的な例としては、規則的なＤＲＡＭ読み出し及び書き込み動作とは異なる（例えば、より複雑な）ＡＮＤ、ＯＲ、ＸＯＲ等のブール演算を行わせる。よって、この例のメモリデバイス５２０においては、マイクロコード命令実行及び／または論理演算は、ＰＩＭ対応デバイスのバンク５２１-１、..．、５２１-７で行われてよい。
【０１００】
様々な実施形態において、制御回路５３１−１、．．．、５３１−７、シーケンス制御装置５３２−１、...、５３２−７、及び、タイミング回路５３３−１、...、５３３−７は、ＤＲＡＭアレイの演算サイクルのシーケンスを生成するように動作してよく、及び／または、メモリデバイス５２０上（例えば、共有Ｉ／Ｏ線４５５−１、４５５−７のデータパスの計算ユニット４６０／６６０に含まれるバンク５２１-１、..．、５２１-７上）の演算（例えば、論理演算）の実行を指示してよい。ＰＩＭ対応デバイスの例においては、各シーケンスは、一緒になって特定の関数を達成するブール論理演算ＡＮＤ、ＯＲ、ＸＯＲ等の演算を行うように設計されてよい。例えば、演算シーケンスは、複数のビットの合計を計算するために、１ビット加算の論理演算を繰り返し行ってよい。別の例においては、演算シーケンスの命令は、様々な他の種類の演算のうち、ある数のアルファブレンドグラフィック処理を行うように実行されてよい。演算の各シーケンスは、図１Ａに示すメモリセルアレイ１３０（例えば、ＤＲＡＭアレイ）に関連付けられた検出回路１５０、計算ユニット４６０／６６０、及び／または、追加論理回路１７０とのタイミング調整を提供するタイミング回路５３３−１、...、５３３−７に結合された先入れ先出し（ＦＩＦ
Ｏ）バッファに供給されてよい。
【０１０１】
図５に示すＰＩＭ対応メモリデバイス５２０の例において、タイミング回路５３３−１、...、５３３−７は、タイミングを提供してよく、４つのＦＩＦＯキューからのアレイに
対してコンフリクトのないアクセスを提供してよく、及び／または、計算ユニット４６０／６６０の演算に対するタイミングを調整してよい。この例においては、ＦＩＦＯキューの１つは、アレイの計算をサポートしてよく、ＦＩＦＯキューの１つは、マイクロコード（例えば、Ｕｃｏｄｅ）命令フェッチのためであってよく、ＦＩＦＯキューの１つは、共有Ｉ／Ｏ線、論理ストライプ、計算ユニット、接続回路等に関連するデータパスの制御のためであってよく、ＦＩＦＯキューの１つは、ＤＲＡＭ  Ｉ／Ｏのためであってよい。制御回路５３１−１、．．．、５３１−７とシーケンス制御装置５３２−１、...、５３２
−７は両方とも、ステータス情報を生成してよく、ステータス情報は、ＦＩＦＯインタフェースを介してバンクアービター５４５に戻されてよい。バンクアービター５４５は、このステータスデータを集めて、例えば、ＨＳＩ５４１を介して、ホスト１１０にステータスデータを報告してよい。
【０１０２】
図６は、メモリデバイス５２０（図５）のコントローラ６４２の一部の別の例を示すブロック図である。コントローラ６４２は、本開示の幾つかの実施形態による、他の機能のうち、アレイ１３０（図１Ａ）にローカルなデータパスの共有Ｉ／Ｏ線６５５を用いて、複数の論理ストライプ６２４−１、．．．、６２４−Ｎを有する計算ユニット６６０へのデータ値への移動を制御するように構成される。図６の例において、コントローラ６４２の一部は、図５のシーケンス制御装置５３２等、コントローラのシーケンス制御装置の部分の例である。
【０１０３】
図６の実施形態例においては、コントローラ６４２のシーケンス制御装置部分はアレイ動作、計算コンポーネント動作、及び、制御動作の３つのクラスのマイクロコード命令に対して動作してよい。６０１で示されるように、ビット値は、上記のように、バンク区分のクワドラントの特定のサブアレイを特定するサブアレイマスクの一部として提供されてよい。６０２−１及び６０２−２で、図２の検出回路２５０に関して記載され、図７の７３１（Ａ）及び７０６（Ｂ）としてより詳細に示される一次ラッチ及び二次ラッチに関連付けられたＡ及びＢのアドレスポインタは、アレイ１３０（図１Ａ）のデータ値の物理的アドレスに対するポインタを提供する。６０３において、ビット値は、さらに、アレイ１３０（図１Ａ）内に追加のインデックスを提供し得る。図６の例で示すように、アドレスポインタ６０２−１及び６０２−２と、インデックス６０３とを使用して、アレイ１３０（図１Ａ）の特定の行及びセンス線（例えば、行ワード線及びビット線）にアクセスする。
【０１０４】
本明細書に記載の複数の共有Ｉ／Ｏ線６５５は、アレイ１３０（図１Ａ）をアレイにローカルな共有Ｉ／Ｏ６５５のデータパスの計算ユニット６６０に接続してよい。命令が、コントローラ６４２から計算ユニットに提供されて、共有Ｉ／Ｏ線６５５から計算ユニット６６０の所与の論理ストライプ６２４−１、．．．、６２４−Ｎの所与の計算コンポーネント６３１−１、．．．、６３１−Ｚにデータ値をロードする。計算ユニット６６０へのマスクストライプ６４１は、読み出しまたは書き込みのためにセンス線と計算コンポーネントの値の選択を有効にしてよい。
【０１０５】
６０４において、有線ＯＲ論理構成からの条件コードは、計算ユニット６６０を用いた有線ＯＲ演算のビット値結果を提供してよい。６１１において、ビット値は、計算コンポーネント演算命令のための第２のレジスタソースへのポインタとして、レジスタアドレスを提供してよい。６１２において、ビット値は、計算コンポーネント演算命令６１１の第２のレジスタソースへのレジスタアドレスポインタと共に、計算ユニット６６０の論理ストライプ６２４−１、．．．、６２４−Ｎのレジスタインデックスを示してよい。
【０１０６】
図７は、本開示の幾つかの実施形態による、（例えば、１２４、４２４、及び、６２４で示され、図１Ｂ、図４、及び、図６に関連して記載される）論理ストライプの計算コンポーネント７３１を示す概略図である。図７は、本開示の幾つかの実施形態による、論理演算を実施できる計算ユニット４６０／６６０回路を示す概略図でもある。
【０１０７】
図７は、ある実施形態における、（例えば、図３の共有Ｉ／Ｏ線３５５と関連して示され、記載される）相補共有Ｉ／Ｏ線対７５５−１及び７５５−２に直接結合されたラッチ７０６、及び／または、論理演算選択論理回路７１３、及び、パスゲート７０７−１及び７０７−２を介してラッチ７０６に結合された計算コンポーネント７３１を示す。ラッチ７０６は、制限ではなく例示として、相補共有Ｉ／Ｏ線対７５５−１及び７５５−２に直接結合されているのが図７に示されている。例えば、共有Ｉ／Ｏ線は、１つの共有Ｉ／Ｏ線７５５であってもよく、または、図７に示す相補共有Ｉ／Ｏ線対を含んでもよい。共有Ｉ／Ｏ線のどちらの実施形態も、様々な実施形態において、ラッチ７０６に選択可能に及び／または直接、結合されて、アレイの第１の行の第１のサブ行から第１のデータ値をロード（例えば、記憶）し、及び／または、計算コンポーネント７３１に選択可能に及び／または直接、結合されて、第２の行の第２のサブ行から第２のデータ値をロード（例えば、記憶）して、２つの記憶されたデータ値を用いて、計算コンポーネント７３１による論理演算の実行を可能にしてよい。
【０１０８】
ある実施形態においては、計算コンポーネント７３１に関連付けられた複数のラッチ７０６があってよく、それによって、ラッチは、様々な実施形態において、選択可能に、直接、及び／または、間接的に、共有Ｉ／Ｏ線に結合されて、データ値を各ラッチにロードしてよく、ラッチは、次に、（例えば、ラッチの数に二乗よって決定される）複数の論理演算を実行するために、関連付けられた計算コンポーネントによって（例えば、コントローラによって指示されるように）選択可能に使用されてよい。よって、パスゲート７０７−１及び７０７−２を使用して、様々な実施形態において、ラッチ７０６、計算コンポーネント７３１、及び／または、論理演算選択論理回路７１３を互いに直接及び／または間接的に結合してよい、及び／または、共有Ｉ／Ｏ線７５５をラッチ７０６、計算コンポーネント７３１、及び／または、論理演算選択論理回路７１３に間接的に接続してよい。
【０１０９】
図７に示すラッチ７０６は、図２に示し、図２に関連して記載した検出回路２５０に関連付けられたセンスアンプ２０６（例えば、一次ラッチ）に類似した方法で機能してよい。図７に示す計算コンポーネント７３１は、検出回路２５０に関連付けられた図２に示す計算コンポーネント２３１（例えば、二次ラッチ）に類似するように機能してよい。図７に示す論理演算選択論理回路７１３は、検出回路２５０に関連付けられた図２に示す論理演算選択論理回路２１３と類似するように機能してよい。パスゲート７０７−１及び７０７−２のゲートは、論理演算選択論理回路７１３の信号（例えば、Ｐａｓｓ）によって制御されてよい。例えば、論理演算選択論理回路７１３の出力は、パスゲート７０７−１及び７０７−２のゲートに結合されてよい。さらに、計算コンポーネント７３１は、データ値を左右にシフトするように構成されたロード可能シフトレジスタを含んでよい。
【０１１０】
図７に示す実施形態によると、計算コンポーネント７３１は、データ値を左右にシフトするように構成されたロード可能シフトレジスタの各段（例えば、シフトセル）を含んでよい。例えば、図７に示すように、シフトレジスタの各計算コンポーネント７３１（例えば、段）は、右シフトトランジスタ対７８１及び７８６と、左シフトトランジスタ対７８９及び７９０と、インバータ対７８７及び７８８とを含む。信号ＰＨＡＳＥ  １Ｒ、ＰＨＡＳＥ  ２Ｒ、ＰＨＡＳＥ  １Ｌ、及び、ＰＨＡＳＥ  ２Ｌが、各制御線７８２、７８３、７９１、及び、７９２に印加されて、本明細書に記載の実施形態による、論理演算の実行、及び／または、データのシフトに関連する対応する計算コンポーネント７３１のラッチへのフィードバックを有効／無効にしてよい。
【０１１１】
図７に示す計算ユニット４６０／６６０回路は、ＩＳＯ、ＴＦ、ＴＴ、ＦＴ、及び、ＦＦを含むある数の論理選択制御入力制御線に結合された演算選択論理回路７１３を示す。分離トランジスタ７５０−１及び７５０−２が、ＩＳＯ制御信号をアサートされことによって、有効にされると、複数の論理演算からの論理演算の選択が、論理選択制御入力線上の論理選択制御信号の条件と、相補共有Ｉ／Ｏ線対７５５−１及び７５５−２上に存在するデータ値とから決定される。
【０１１２】
様々な実施形態によると、演算選択論理回路７１３は、スワップトランジスタ７４２のゲートとＴＦ信号制御線との間に結合された論理選択トランジスタ７６２、パスゲート７０７−１及び７０７−２のゲートとＴＴ信号制御線との間に結合された論理選択トランジスタ７５２、パスゲート７０７−１及び７０７−２のゲートとＦＴ信号制御線との間に結合された論理選択トランジスタ７５４、及び、スワップトランジスタ７４２のゲートとＦＦ信号制御線との間に結合された論理選択トランジスタ７６４の、４つの論理選択トランジスタを含んでよい。論理選択トランジスタ７６２及び７５２のゲートは、（ＩＳＯ信号制御線に結合されたゲートを有する）分離トランジスタ７５０−１を通して真センス線に結合される。論理選択トランジスタ７６４及び７５４のゲートは、（ＩＳＯ信号制御線に結合されたゲートを有する）分離トランジスタ７５０−２を通して相補センス線に結合される。
【０１１３】
相補共有Ｉ／Ｏ線対７５５−１及び７５５−２に存在するデータ値は、パスゲート７０７−１及び７０７−２を介して計算コンポーネント７３１にロードされてよい。計算コンポーネント７３１は、ロード可能シフトレジスタを含んでよい。パスゲート７０７−１及び７０７−２がＯＰＥＮである時、相補共有Ｉ／Ｏ線対７５５−１及び７５５−２上のデータ値（「Ａ」）は、計算コンポーネント７３１に渡され、それによって、ロード可能シフトレジスタにロードされる。相補共有Ｉ／Ｏ線対７５５−１及び７５５−２上のデータ値は、センスアンプ７０６が開始（ｆｉｒｅ)される時、センスアンプによって記憶され
たデータ値（「Ｂ」）であってよい。この例においては、論理演算選択論理回路信号Ｐａｓｓは高く、パスゲート７０７−１及び７０７−２をＯＰＥＮする。
【０１１４】
ＩＳＯ、ＴＦ、ＴＴ、ＦＴ、及び、ＦＦ制御信号は、センスアンプ７０６のデータ値（「Ｂ」）と計算コンポーネント７３１のデータ値（「Ａ」）とに基づいて、実施する論理関数を選択するように動作してよい。特に、ＩＳＯ、ＴＦ、ＴＴ、ＦＴ、及び、ＦＦ制御信号は、相補共有Ｉ／Ｏ線対７５５−１及び７５５−２に存在するデータ値から独立して実施する論理関数を選択するように構成される（が、実施された論理演算の結果は、相補共有Ｉ／Ｏ線対７５５−１及び７５５−２に存在するデータ値に依存してよい）。相補共有Ｉ／Ｏ線対７５５−１及び７５５−２に存在するデータ値は、パスゲート７０７−１及び７０７−２のゲートを動作させるように論理回路を通して渡されないので、例えば、ＩＳＯ、ＴＦ、ＴＴ、ＦＴ、及び、ＦＦ制御信号は、実施する論理演算を直接、選択する。
【０１１５】
さらに、図７は、センスアンプ７０６と計算コンポーネント７３１との間で相補共有Ｉ／Ｏ線対７５５−１及び７５５−２の向きを交換するように構成されたスワップトランジスタ７４２を示す。スワップトランジスタ７４２がＯＰＥＮの時、スワップトランジスタ７４２のセンスアンプ７０６側の相補共有Ｉ／Ｏ線対７５５−１及び７５５−２上のデータ値は、スワップトランジスタ７４２の計算コンポーネント７３１側の相補共有Ｉ／Ｏ線対７５５−１及び７５５−２に反対向きに結合され、それによって、計算コンポーネント７３１のロード可能シフトレジスタ内にロードされる。
【０１１６】
ＩＳＯ制御信号線がアクティブにされ、且つ、ＴＴ制御信号がアクティブに（例えば、高く）されて、真の共有Ｉ／Ｏ線上のデータ値が「１」となる、または、ＦＴ制御信号が
アクティブに（例えば、高く）されて、相補共有Ｉ／Ｏ線上のデータ値が「１」となる時、論理演算選択論理回路７１３の信号Ｐａｓｓが、アクティブに（例えば、高く）されて、パスゲート７０７−１及び７０７−２をＯＰＥＮ（例えば、通電）してよい。
【０１１７】
真の共有Ｉ／Ｏ線上のデータ値が「１」であると、論理選択トランジスタ７５２及び７６２をＯＰＥＮする。相補共有Ｉ／Ｏ線上のデータ値が「１」であると、論理選択トランジスタ７５４及び７６４をＯＰＥＮする。ＩＳＯ制御信号も、対応する共有Ｉ／Ｏ線（例えば、特定の論理選択トランジスタのゲートが結合される共有Ｉ／Ｏ線）上の各ＴＴ／ＦＴ制御信号もデータ値も高くない場合、パスゲート７０７−１及び７０７−２は、特定の論理選択トランジスタによってＯＰＥＮされない。
【０１１８】
ＩＳＯ制御信号線がアクティブにされ、且つ、ＴＦ制御信号がアクティブに（例えば、高く）されて真の共有Ｉ／Ｏ線のデータ値が「１」である、または、ＦＦ制御信号がアクティブに（例えば、高く）されて相補共有Ｉ／Ｏ線上のデータ値が「１」である時、論理演算選択論理回路信号Ｐａｓｓ＊は、アクティブに（例えば、高く）されて、スワップトランジスタ７４２をＯＰＥＮ（例えば、通電）してよい。対応する共有Ｉ／Ｏ線（例えば、特定の論理選択トランジスタのゲートが結合される共有Ｉ／Ｏ線）上の各制御信号もデータ値も高くない場合、スワップトランジスタ７４２は、特定の論理選択トランジスタによってＯＰＥＮされない。
【０１１９】
Ｐａｓｓ＊制御信号は、必ずしも、Ｐａｓｓ制御信号に対して相補的ではない。Ｐａｓｓ制御信号及びＰａｓｓ＊制御信号が、同時に両方ともアクティブにされる、または、非アクティブにされることは可能である。しかしながら、Ｐａｓｓ制御信号及びＰａｓｓ＊制御信号の両方と同時にアクティブにすることは、相補共有Ｉ／Ｏ線対を一緒に短絡させ、これは、避けるべき破壊的構成となり得る。
【０１２０】
図７に示す計算ユニット４６０／６６０回路は、実施する複数の論理演算の１つを、４つの論理選択制御信号から直接、選択するように構成される（例えば、論理演算選択は、相補共有Ｉ／Ｏ線対に存在するデータ値に依存しない）。論理選択制御信号の一部の組み合わせは、パスゲート７０７−１及び７０７−２と、スワップトランジスタ７４２との両方を同時にＯＰＥＮさせてよく、これは、相補共有Ｉ／Ｏ線対７５５−１及び７５５−２を一緒に短絡させる。本開示のある数の実施形態によると、図７に示す計算ユニット４６０／６６０回路によって実施され得る論理演算は、図８に示す論理表にまとめられた論理演算であってよい。
【０１２１】
図８は、本開示の幾つかの実施形態による、図７に示す計算コンポーネント７３１及び関連する回路によって実施される選択可能な論理演算の結果を示す論理表である。選択可能な論理演算の結果は、図７に示す複数の共有Ｉ／Ｏ線７５５−１及び７５５−２のデータパスの計算ユニット４６０／６６０回路によって実施されてよい。４つの論理選択制御信号（例えば、ＴＦ、ＴＴ、ＦＴ、及び、ＦＦ）は、相補共有Ｉ／Ｏ線に存在する特定のデータ値と共に使用されて、計算ユニット４６０／６６０回路のセンスアンプ７０６（例えば、一次ラッチ）及び計算コンポーネント７３１（例えば、二次ラッチ）によって記憶された開始データ値（「Ａ」及び「Ｂ」）を用いて、実施する複数の論理演算を選択してよい。４つの制御信号は、相補共有Ｉ／Ｏ線に存在する特定のデータ値と共に、パスゲート７０７−１及び７０７−２とスワップトランジスタ７４２との連続性を制御し、その後、計算コンポーネント７３１及び／またはセンスアンプ７０６のデータ値に、開始（ｆｉｒｉｎｇ）の前／後に影響を与える。スワップトランジスタ７４２の連続性を選択可能に制御する能力は、特に、逆元のデータ値（例えば、逆元のオペランド、及び／または、逆元の結果）を含む論理演算の実施を容易にする。
【０１２２】
図８の論理表８−１は、８４４の列Ａに示された計算コンポーネント７３１（例えば、二次ラッチ）に記憶された開始データ値と、８４５の列Ｂに示されたラッチ（例えば、一次ラッチとしてのセンスアンプ７０６）に記憶された開始データ値とを示す。論理表８−１の他の３つの列の見出しは、パスゲート７０７−１及び７０７−２とスワップトランジスタ７４２との連続性を指し、それらは、それぞれ、相補共有Ｉ／Ｏ線対７５５−１及び７５５−２に存在する特定のデータ値と共に、４つの論理選択制御信号（例えば、ＴＦ、ＴＴ、ＦＴ、及び、ＦＦ）の状態に応じて、ＯＰＥＮまたはＣＬＯＳＥＤに制御されてよい。「Ｎｏｔ  Ｏｐｅｎ」の列は、パスゲート７０７−１及び７０７−２とスワップトランジスタ７４２との両方が通電していない状態に対応する。「Ｏｐｅｎ  Ｔｒｕｅ」は、パスゲート７０７−１及び７０７−２が通電状態にあることに対応し、「Ｏｐｅｎ  Ｉｎｖｅｒｔ」は、スワップトランジスタ７４２が通電状態にあることに対応する。パスゲート７０７−１及び７０７−２とスワップトランジスタ７４２の両方が通電状態にあることに対応する構成は、センス線が一緒に短絡される結果になるので、論理表８−１には反映されていない。
【０１２３】
パスゲート７０７−１及び７０７−２とスワップトランジスタ７４２との連続性の選択的制御を介して、論理表８−１の上部の３つの列は、それぞれ、論理表８−１の下部の３つの列のそれぞれと組み合わされて、８７５で示される様々な接続パスによって示される９つの異なる論理演算に対応する３ｘ３＝９の異なる結果の組み合わせを提供してよい。ＡＮＤ、ＯＲ、ＮＯＴ、ＮＡＮＤ、ＮＯＲ及びＸＯＲの論理演算を含む、計算ユニット４６０／６６０回路によって実施され得る９つの異なる選択可能な論理演算は、図８の論理表８−２にまとめられる。
【０１２４】
図８の論理表８−２の列は、論理選択制御信号の状態を含む見出し８８０を示す。例えば、第１の論理選択制御信号の状態が、表８−２の行８７６に提供され、第２の論理選択制御信号の状態が、表８−２の行８７７に提供され、第３の論理選択制御信号の状態が、表８−２の行８７８に提供され、第４の論理選択制御信号の状態が、表８−２の行８７９に提供される。結果に対応する特定の論理演算は、表８−２の行８４７にまとめられる。
【０１２５】
図９Ａ〜図９Ｃは、本開示の幾つかの実施形態による、メモリデバイスのデータ値に対する演算を実行するための幾つかのスケジューリング方針の実施を示す概略図である。図９Ａ〜図９Ｃに示す実施形態は、図の上から下に進む連続したタイムフレーム（演算サイクル）に示される計算ユニット９６０のある数の論理ストライプ９２４に共有Ｉ／Ｏ線及び／または接続回路を介して移動されたデータ値（ビット）の構成を示す。
【０１２６】
ある実施形態においては、演算サイクルは、論理ストライプの数に対応するある数のサブ行から、共有Ｉ／Ｏ線を用いて、データ値を移動するための前述した連続サイクルに対応してよい。従って、１つのサブ行の論理ストライプに関して計算コンポーネントによって演算が行われる演算サイクルの各部分は、例えば、約２ｎｓ続いてよく、そのタイムフレーム中、次の演算サイクルに対して、他のサブ行からのデータ値の移動が開始されてよい。図９Ａ及び図９Ｂは、Ｌ１、Ｌ２、...、Ｌ１６とラベル付けされる９２４−１、９
２４−２、．．．、９２４−１６の１６の論理ストライプを示し、各論理ストライプの１Ｋの計算コンポーネント及び／またはラッチが、特定の演算サイクル中、移動されたデータ値を保持（記憶）することは、整数１をその演算サイクルに示すことによって表される。
【０１２７】
本明細書に記載のように、メモリデバイス（例えば、図１Ａ及び図１Ｂの１２０）は、メモリセルアレイ（例えば、図１Ａの１３０）と、メモリセルアレイに選択可能に結合された検出回路（例えば、図１Ａの１５０、及び、図２の２５０）とを含んでよい。メモリデバイスは、アレイに関連付けられたインデータパス計算動作のデータパスとして共有さ
れる複数のＩ／Ｏ線（例えば、それぞれ、図１及び図３〜図７の１５５、３５５、４５５、５５５、６５５、７５５）をさらに含んでよい。複数の共有Ｉ／Ｏ線は、共有Ｉ／Ｏ線のデータパスの計算コンポーネント（例えば、図２〜図４、図６及び図７の２３１、３３１、４３１、６３１、７３１）に検出回路を選択可能に結合してよい。
【０１２８】
コントローラ（例えば、図１Ａ及び図１Ｂの１４０）は、アレイと関連付けられてよい。コントローラ１４０は、検出回路を介して、アレイの第１の行の第１のサブ行（例えば、図４の４２８−１）からの共有Ｉ／Ｏ線を介したデータパスの第１の論理ストライプ（例えば、図４の４２４−１）の第１の計算コンポーネント（例えば、図４の４３１−１）への第１のデータ値の移動を指示するように、また、検出回路を介して、第１の行の第２のサブ行（例えば、図４の４２８−２）からの共有Ｉ／Ｏ線を介したデータパスの第２の論理ストライプ（例えば、図４の４２４−２）の第２の計算コンポーネント（例えば、図４の４３１−１）への第２のデータ値の移動を指示するように構成されてよい。
【０１２９】
コントローラ１４０は、第１の演算サイクルで、第１のサブ行（例えば、図４の４２８−１）からの第１のデータ値の移動を指示するように、また、第２の演算サイクルで、第２のサブ行（例えば、図４の４２８−２）から第２のデータ値の移動を指示するように構成されてよい。例えば、コントローラは、第１の演算サイクルにおいて、第１のサブ行の複数のデータ値のある数の、第１の論理ストライプの複数の第１の計算コンポーネントの対応する数への共有Ｉ／Ｏ線を介した第１の並行移動を指示するように構成されてよい。コントローラは、第２の演算サイクルにおいて、第２のサブ行の複数のデータ値のある数の、第２の論理ストライプの複数の第２の計算コンポーネントの対応する数への共有Ｉ／Ｏ線を介した第２の並行移動を指示するようにさらに構成されてよい。コントローラ１４０は、第１の演算サイクルにおいて、複数の第１の計算コンポーネントのある数によって、第１の論理ストライプに並行に移動された第１のサブ行の複数のデータ値の対応する数に対して演算（例えば、論理演算）の実行の開始を指示するように、且つ、第２の演算サイクルにおいて、複数の第２の計算コンポーネントのある数によって、第２の論理ストライプに並行に移動された第２のサブ行の複数のデータ値の対応する数に対して演算の実行の開始を指示するように構成されてよい。
【０１３０】
図９Ａに示すように、コントローラは、「ロックステップ」スケジューリングを実施するように構成されてよい。従って、コントローラは、第２の論理ストライプ（例えば、論理ストライプ９２４-２）の計算コンポーネントによる演算の実行の開始とほぼ同時に、第
２の演算サイクルにおいて、第１の論理ストライプ（例えば、論理ストライプ９２４−１）の計算コンポーネントによる演算の実行の開始を指示するように構成されてよい。例えば、論理ストライプＬ１、Ｌ２、...、Ｌ１６の計算コンポーネントによる演算の実行は
、演算サイクルが完了し、論理ストライプの計算コンポーネント及び／またはラッチの全てに、対応するサブ行（例えば、図４の４２８-１、４２８−２、．．．、４２８−１６
）から共有Ｉ／Ｏ線を介してデータ値が移動された後、開始されてよい。
【０１３１】
あるいは、または、さらに、図９Ｂに示すように、コントローラは、「パイプライン」スケジューリングを実施するように構成されてよい。従って、コントローラは、第２の演算サイクルにおいて、第２のサブ行の複数のデータ値（例えば、図４の４２８−２）のある数の、第２の論理ストライプ（例えば、論理ストライプ９２４−１）への移動とほぼ同時に、第１の演算サイクルにおいて、第１の論理ストライプ（例えば、論理ストライプ９２４−１）の計算コンポーネントによる第１のサブ行（例えば、図４の４２８−１）の複数のデータ値のある数に対する演算の実行の開始を指示するように構成されてよい。
【０１３２】
例えば、論理ストライプＬ１の計算コンポーネントによる演算の実行は、第１の演算サイクルにおいて、論理ストライプＬ１の計算コンポーネント及び／またはラッチへの第１
のサブ行からのデータ値のロード（記憶）の完了後であるが、それに続く演算サイクルにおいて、次のサブ行に対応する論理ストライプに対する演算が開始される前に、開始されてよい。しかしながら、様々な実施形態において、論理ストライプＬ１のデータ値に対する演算の実行中、次のサブ行からのデータ値の移動が、第２の演算サイクルにおける第２の論理ストライプでのそのデータ値への演算の実行のために開始されてよい。
【０１３３】
図９Ｂの特定の論理ストライプの計算コンポーネント及び／またはラッチによる特定の演算サイクルにおけるデータ値の記憶の後、元のデータ値、及び／または、２つの元のデータ値に対する論理演算の結果は、整数１によって示されるように、論理ストライプに残ってよい。従って、コントローラは、図９Ａのロックステップスケジューリングまたは図９Ｂのパイプラインスケジューリングに示すように、同じ論理ストライプに記憶及び／または移動されたデータ値に対する演算のシーケンス（例えば、ＡＮＤ、ＯＲ、ＮＯＴ、ＮＡＮＤ、ＮＯＲ、及び、ＸＯＲの論理演算の任意の数及び／または組み合わせ）の実行を指示してよい。
【０１３４】
よって、Ｌ２において演算が開始される前に、Ｌ１において、１演算サイクル前の演算が開始され、Ｌ３において演算が開始される前に、Ｌ２において、１演算サイクル前の演算が開始される等なので、演算シーケンスの実行の完了は、時間的にずらされてよい。例えば、図９Ｂの一番下の最後の演算サイクルに関して示すように、Ｌ１が実行する演算シーケンスは、Ｌ２が実行する演算シーケンスの１演算サイクル前に完了し、Ｌ２が実行する演算シーケンスは、Ｌ３が実行する演算シーケンスが完了する１演算サイクル前に完了する等である。
【０１３５】
従って、コントローラ１４０は、１つの論理ストライプの複数の計算コンポーネントを用いて、連続した複数の演算の実行を指示するように構成されてよい。連続した複数の演算の最後の演算が完了するまで、連続した複数の演算が、複数の計算コンポーネントのある数に対応する論理ストライプにアレイのサブ行から移動された複数のデータ値のある数、及び／または、連続した複数の演算の部分的完了の結果に対して行われてよい。
【０１３６】
コントローラ１４０は、第１のデータ値に対する第１の演算の実行及び第２のデータ値に対する第２の演算の実行のためのスケジューリング方針（例えば、本明細書に記載のロックステップ、パイプライン、及び／または、シストリックなスケジューリング方針）を適用するように構成されてよい。特定のスケジューリング方針の適用は、（例えば、コントローラ５４０のシーケンス制御装置５３２及び／またはタイミング回路５３３によって指示される）、第１の論理ストライプの第１の計算コンポーネントによる第１のデータ値の意図した記憶のタイミング、及び、第２の論理ストライプの第２の計算コンポーネントによる第２のデータ値の意図した記憶のタイミングに基づいてよい。様々な実施形態において、第１の演算（例えば、第１の演算シーケンス）は、第２の演算（例えば、第２の演算シーケンス）と同じ演算であってよい、または、第１の演算は、第２の演算と異なってよい。コントローラは、第１の論理ストライプの第１の計算コンポーネントを用いた第１のデータ値に対する第１の演算の実行を特定のスケジューリング方針に基づいて指示するように、且つ、第２の論理ストライプの第２の計算コンポーネントを用いた第２のデータ値に対する第２の演算の実行をそのスケジューリング方針に基づいて指示するように構成されてよい。
【０１３７】
ある実施形態においては、第１の論理ストライプの第１の計算コンポーネントは、第１のラッチに関連付けられてよい。よって、コントローラは、検出回路を介して、アレイの第２の行の第３のサブ行（例えば、異なる行の任意のサブ行）からの第３のデータ値の共有Ｉ／Ｏ線を介した第１の論理ストライプの第１のラッチへの移動を指示するように、且つ、第１の計算コンポーネントによって記憶された第１の行からの第１のデータ値と第１
のラッチに記憶された第２の行からの第３のデータ値とに対して論理演算の実行を指示するように構成されてよい。ある実施形態においては、第１のラッチは、第３のデータ値を記憶するセンスアンプ（例えば図２及び本明細書の他の箇所に関連して示され、記載されるセンスアンプ２０６）を含んでよい、または、であってよい。
【０１３８】
本明細書に記載の複数の共有Ｉ／Ｏ線は、第１の行の第１のサブ行の複数のメモリセルのある数に対応する検出回路に記憶された複数のデータ値のある数の並行移動を、（３５８に示され、図３に関して記載される列選択回路を含んでよい、または、であってよい）マルチプレクサを介して選択可能に有効にする検出回路に、コントローラが指示するように、選択可能に結合するように構成されてよい。マルチプレクサは、本明細書に記載のように、複数のデータ値のある数のデータ値を、第１の論理ストライプの複数の第１の計算コンポーネントの対応する数に移動するように構成されてよい。第１のサブ行（例えば、４２８-１）の複数のメモリセルのある数は、第１の論理ストライプ（例えば、４２４−
１）の複数の第１の計算コンポーネント（例えば、４３１−１）のある数に対応してよい。
【０１３９】
あるいは、または、さらに、図９Ｃに示すように、コントローラは、「シストリック」スケジューリングを実施するように構成されてよい。本明細書で使用される場合、シストリックは、配線で接続されたインデータパスプロセッサノード（例えば、本明細書に記載の論理ストライプの計算コンポーネント）のネットワークを通して流れるようにデータを入力して、メモリアレイ（例えば、１３０に示すＤＲＡＭ型アレイ）の行及び／またはサブ行からのデータ入力を組み合わせ、処理、結合、及び／または、ソートして導き出された最終結果にすることを意味する。各ノードは、独立して、部分的な結果を計算してよく、部分的な結果をノード内に記憶してよく、また、（例えば、メモリアレイのある数の行及び／またはサブ行に記憶するために）導き出される最終結果を計算及び出力するまで部分的な結果をさらに処理するために、部分的な結果を下流に移動（例えば、転送及び／またはコピー）してよい。シストリックアレイは、複数命令複数データ（ＭＩＭＤ：ｍｕｌｔｉｐｌｅ  ｉｎｓｔｒｕｃｔｉｏｎ  ｍｕｌｔｉｐｌｅ  ｄａｔａ）アーキテクチャと呼ばれてよい。
【０１４０】
例えば、６つの論理ストライプ（例えば、領域９２４−Ａ）のシーケンスの第１の論理ストライプ（例えば、図９Ｃの論理ストライプ９２４−１の計算コンポーネント及びラッチ）に入力された未処理のデータの第１のバッチ（例えば、２個のデータ値）が、処理されて、シストリック処理のために、別の（例えば、第２の）論理ストライプ（例えば、論理ストライプ９２４−２の計算コンポーネント及びラッチ）に移動（例えば、転送及び／またはコピー）されてよい。ある実施形態においては、未処理のデータの第２のバッチは、第１の論理ストライプに入力されてよく、第２のバッチが第２の論理ストライプに移動（例えば、転送及び／またはコピー）され、第１のバッチが第３の論理ストライプに移動（例えば、転送及び／またはコピー）された後、第３のバッチが続く等である。
【０１４１】
待ち時間は、本明細書の記載では、第１の演算を実行するための未処理のデータの第１のバッチの第１の論理ストライプへの入力と、完全に処理されたデータとしての第１のバッチの出力との間の時間を意味する。例えば、６つの命令シーケンスを実行し、６つの演算サイクルの後（例えば、６つの演算シーケンスの６番目の演算を実行した後）処理されたデータが出力されると、６つの論理ストライプのシーケンスからの出力の待ち時間が終了する。
【０１４２】
従って、ある実施形態においては、演算サイクルが終わる毎に、データの追加のバッチが入力されるので、待ち時間に続くメモリデバイスのあらゆる演算サイクルは、完全に処理されたデータのバッチを出力してよい。ある実施形態においては、複数の完全に処理さ
れたデータのバッチが、演算サイクル毎に、例えば、（例えば、図９Ｃの領域９２４−Ａ、９２４−Ｂ、及び、９２４−Ｃによって示される）論理ストライプの複数の領域を用いてほぼ同時に、出力されてよい。
【０１４３】
各演算が行われた後、未処理のデータがシーケンスの第１の論理ストライプに入力され、結果データ値が次の論理ストライプに移動されるのではなく、ある実施形態においては、未処理のデータの新しいバッチ（例えば、２個のデータ値）が、ある数の演算サイクルの経過（例えば、６つの演算のシーケンスの最初の演算が実行された後１〜５の演算サイクルが経過）した後、領域の第１の論理ストライプに入力されてよい。データ値の第１の論理ストライプへの入力のこのような遅延は、論理ストライプにバッファを導入し得る。例えば、前述の６つの論理演算シーケンスの第１のＯＲ演算が、そのシーケンスの他の論理演算を実行するために６つの論理ストライプ進んだ箇所と、別の演算シーケンスを開始するために第１のＯＲ演算の実行のために第１の論理ストライプに新しいデータ値を導入する箇所との間にバッファを導入し得る。このようなバッファに含まれる演算サイクルの数は、他の可能な要因のうち、あるシーケンスの異なる論理演算の実行に利用される時間の、及び／または、メモリアレイのサブ行から共有Ｉ／Ｏ線を介して第１の論理ストライプに移動されたデータ値に対する演算の実行の、論理ストライプの計算コンポーネントに関連付けられた複数のラッチによって前もって記憶されているデータ値に対する演算の実行に対する利用される時間の、起こり得る分散及び／または予測不能性等の要因によって決定される。
【０１４４】
領域９２４−Ａ、９２４−Ｂ、及び、９２４−Ｃは、それぞれ、６つの論理ストライプ（例えば、領域９２４−Ａの論理ストライプ９２４−１（Ｌ１）、...、９２４−６（Ｌ
６）、領域９２４−Ｂの論理ストライプ９２４−７（Ｌ７）、...、９２４−１２（Ｌ１
２）、及び、領域９２４−Ｃの論理ストライプ９２４−１３（Ｌ１３）、．．．、９２４−１８（Ｌ１８））を含むとして示され、各論理ストライプは、制限ではなく例として、６つの論理演算シーケンスで論理演算を行う。例えば、各領域は、６つより多いまたは少ない論理演算を有するシーケンスを行う６つより多いまたは少ない論理ストライプを含んでよい、及び／または、図９Ｃに示す計算ユニット９６０の１８の論理ストライプ（例えば、９２４−１、...、９２４−１８）の総数より多く、または、少なくなるように、３
つより多いまたは少ない領域があってよい。
【０１４５】
多くのアプリケーションが、データ処理のために、長い及び／または連続したデータストリームの入力を伴い得る。このようなアプリケーションは、長い及び／または連続したデータストリームに動作し得る、他のアプリケーションのうち、例えば、信号処理、画像処理、音声認識、パケット検査、カンマ区切り（ＣＳＶ）構文解析、アルファブレンドグラフィック処理、行列の乗算、及び、ニューラルネットを含み得る。ある実施形態においては、図９Ｃに示すように、この未処理のデータは、論理ストライプのアレイ（例えば、計算ユニット９６０）の図の（ｆｉｇｕｒａｔｉｖｅ）左側に入力されてよく、そのデータは、連続した論理ストライプの命令シーケンスの実行によって処理されてよく、また、結果（複数可）は、論理ストライプのシーケンス（複数可）の図の（ｆｉｇｕｒａｔｉｖｅ）左側で出力されてよい。
【０１４６】
従って、本明細書に記載のように、メモリデバイス（例えば、図１Ａ及び図１Ｂの１２０）は、メモリセルアレイ（例えば、図１Ａの１３０）と、メモリセルアレイに選択可能に結合された検出回路（例えば、図１Ａの１５０、及び、図２の２５０）とを含んでよい。検出回路は、様々な実施形態において、（例えば、２０６で示され、図２及び本明細書の他の箇所に関連して記載されるように）ある数のセンスアンプを含んでよい。メモリデバイスは、アレイに関連付けられたインデータパス計算動作のためのデータパスとして共有される複数のＩ／Ｏ線（例えば、それぞれ、図１及び図３〜図７の１５５、３５５、４５
５、５５５、６５５、７５５）を含んでよい。複数の共有Ｉ／Ｏ線は、共有Ｉ／Ｏ線のデータパスの計算コンポーネント（例えば、図２〜図４、図６及び図７の２３１、３３１、４３１、６３１、７３１）に検出回路を選択可能に結合してよい。メモリデバイスは、データパスの複数の論理ストライプ（例えば、９２４−１、...、９２４−１８）を含んで
よい。複数の論理ストライプは、第１の論理ストライプ（例えば、９２４−１）を含んでよく、第１の論理ストライプは、アレイの行（例えば、３１９）の第１のサブ行（例えば、４２８-１）の複数のメモリセル（図示せず）のある数に対応する複数の第１の計算コ
ンポーネント（例えば、６３１−１、．．．、６３１−Ｚ）のある数を含んでよい。
【０１４７】
コントローラ（例えば、図１Ａ及び図１Ｂの１４０）は、アレイに関連付けられてよい。コントローラ１４０は、検出回路を介して、アレイの第１の行の第１のサブ行（例えば、４２８-１）からの第１のデータ値の共有Ｉ／Ｏ線を通ってデータパスの第１の論理ス
トライプの第１の計算コンポーネント（例えば、Ｌ１）への移動を指示するように構成されてよい。コントローラ１４０は、第１の計算コンポーネントを用いて、第１のサブ行からの第１のデータ値に対する第１の演算の実行を指示するように、また、第１の演算の実行によって生じる第２のデータ値の第１の論理ストライプ（例えば、Ｌ１）から接続回路（例えば、２３２）を介してデータパスの第２の論理ストライプ（例えば、Ｌ２）の第２の計算コンポーネント（例えば、第１の論理ストライプの第１の計算コンポーネントの位置に対応する計算コンポーネント）への移動を指示するようにさらに構成されてよい。
【０１４８】
コントローラは、第２の論理ストライプ（例えば、Ｌ２）の第２の計算コンポーネントを用いて、第２のデータ値に対して第２の演算の実行を指示するように構成されてよい。コントローラは、第２の演算の実行によって生じる第３のデータ値を第２の論理ストライプ（例えば、Ｌ２）から接続回路（例えば、２３２）を介して第３の論理ストライプ（例えば、Ｌ３）の第３の計算コンポーネント（例えば、第１の論理ストライプの第１の計算コンポーネントの位置と第２の論理ストライプの第２の計算コンポーネントの位置とに対応する計算コンポーネント）に移動させることを指示するように構成されてよい。
【０１４９】
従って、コントローラは、複数の論理ストライプの対応する数（例えば、領域９２４−ＡのＬ１、．．．、Ｌ６、領域９２４−ＢのＬ７、．．．、Ｌ１２、及び、領域９２４−ＣのＬ１３、．．、Ｌ１８）を通して、論理演算結果のシストリック移動によって、複数の論理演算シーケンスのある数（例えば、各領域９２４−Ａ、９２４−Ｂ、及び／または、９２４−Ｃの上から下に示す演算サイクルの数）の実行を指示するように構成されてよい。複数の論理演算結果のある数が、複数の論理ストライプの対応する数の複数の計算コンポーネントの対応する数を用いて計算されてよい。例えば、領域（例えば、９２４−Ａ）の第１の論理ストライプ（例えば、Ｌ１）または全ての論理ストライプ（例えば、Ｌ１、．．．、Ｌ６）の計算コンポーネント（例えば、６３１−１、．．．、６３１−Ｚ）の数は、論理演算の結果（例えば、論理ストライプＬ６からの出力）の数に対応してよい。
【０１５０】
様々な実施形態において、（例えば、領域９２４−Ａ、９２４−Ｂ、及び、９２４−Ｃに示される）複数の論理演算シーケンスは、それぞれ、同じ論理演算シーケンス（例えば、ＯＲ、ＡＮＤ、ＸＯＲ、ＯＲ、ＡＮＤ、及び、ＮＯＴのシーケンス）であってよい、または、複数の論理演算シーケンスは、他の論理演算シーケンスとは異なる少なくとも１つの論理演算シーケンスを含んでよい。例えば、複数の論理ストライプは、複数の論理演算シーケンスのある数に対応する複数の領域のうちのある数（例えば、９２４−Ａ、９２４−Ｂ、及び、９２４−Ｃ）として構成されてよい。ある実施形態においては、コントローラは、複数の論理演算シーケンスのほぼ同時の開始を指示するように構成されてよく、ここで、複数の論理演算シーケンスのそれぞれは、複数の領域のうちの異なる領域で行われるように指示される。複数の領域の数（例えば、３つの領域９２４−Ａ、９２４−Ｂ、及び、９２４−Ｃ）は、複数の論理演算シーケンスのある数（例えば、３つの領域９２４−
Ａ、９２４−Ｂ、及び、９２４−Ｃの３つの論理演算シーケンス）によって分けられるアレイの行の複数のサブ行（例えば、サブ行４２８−１、．．．、４２８−１８）の数に対応してよい。
【０１５１】
コントローラは、第１の演算サイクル（例えば、第１の領域９２４−Ａの上端からの第１の演算サイクル）において、第１の領域の複数の論理ストライプの対応する数上の複数の第１の計算コンポーネントのある数（例えば、各論理ストライプの計算コンポーネント６３１−１）による、第１のサブ行（例えば、４２８-１）からの第１のデータ値に対する
第１の論理演算シーケンスの実行の開始を指示するように構成されてよい。コントローラは、第２の演算サイクル（例えば、第１の領域９２４−Ａの上端からの第２の演算サイクル）において、第２の領域（例えば、領域９２４−Ｂ）の複数の論理ストライプの対応する数上の複数の第２の計算コンポーネントのある数の第２の計算コンポーネント（例えば、各論理ストライプの計算コンポーネント６３１−１）による、第２のサブ行（例えば、４２８-２）からの第２のデータ値に対する第２の論理演算シーケンスの実行の開始を指
示するように構成されてよい。
【０１５２】
コントローラは、第１の演算サイクルにおいて、第１の領域の論理ストライプの計算コンポーネントによる第１のデータ値に対する第１の論理演算シーケンスの実行を指示するように構成されてよい。コントローラは、第２のサブ行からの第２のデータ値を共有Ｉ／Ｏ線を介して第２の領域の第２の計算コンポーネントに移動するのとほぼ同時に、第２の演算サイクルにおいて、第１のサブ行からの第１のデータ値の共有Ｉ／Ｏ線を介した第１の領域の第１の計算コンポーネントへの移動を指示するようにさらに構成されてよい。
【０１５３】
コントローラは、第２の領域（例えば、領域９２４−Ｂ）の論理ストライプ（例えば、Ｌ７、．．．、Ｌ１２）の計算コンポーネントによる第２のデータ値に対する第２の論理演算シーケンスの実行とほぼ同時に、第２の演算サイクルにおいて、第１の領域（例えば、領域９２４−Ａ）の論理ストライプ（例えば、Ｌ１、．．．、Ｌ６）の計算コンポーネントによる第１のデータ値に対する第１の論理演算シーケンスの実行を指示するように構成されてよい。同様に、第３の演算サイクルにおいて、コントローラは、第２の領域（例えば、領域９２４−Ｂ）の論理ストライプ（例えば、Ｌ７、．．．、Ｌ１２）の計算コンポーネントによる第２のデータ値に対する第２の論理演算シーケンスの実行と、第３の領域（例えば、領域９２４−Ｃ）の論理ストライプ（例えば、Ｌ１３、．．、Ｌ１８）の計算コンポーネントによる第３のデータ値に対する第３の論理演算シーケンスの実行とほぼ同時に、第１の領域（例えば、領域９２４−Ａ）の論理ストライプ（例えば、Ｌ１、．．．、Ｌ６）の計算コンポーネントによる第１のデータ値に対する第１の論理演算シーケンスの実行を指示するように構成されてよい。
【０１５４】
よって、領域９２４−ＢのＬ７で論理演算シーケンスが開始される１演算サイクル前に、領域９２４−ＡのＬ１で論理演算シーケンスが開始され、Ｌ１３で演算が開始される１演算サイクル前に、Ｌ７で論理演算シーケンスが開始されるので、論理演算のシーケンスの実行の完了は、時間的にずらされてよい。例えば、図９Ｃの一番下の最後の演算サイクルに関して示されるように、Ｌ１によって開始された演算シーケンスは、Ｌ７によって開始された演算シーケンスが完了する１演算サイクル前に完了しており、Ｌ７によって開始された演算シーケンスは、Ｌ１３によって開始された演算シーケンスが完了する１演算サイクル前に完了している。
【０１５５】
図９Ａ、図９Ｂ及び図９Ｃの上から下に示される演算サイクルの数は、制限ではなく例として、示している。例えば、演算サイクルの数は、各図によって異なっているが、図の１つまたは複数の演算サイクルの数は、他の図の演算サイクルの数と同じであってもよく、異なっていてもよい。
【０１５６】
本明細書に記載のインデータパス計算動作の装置及び方法は、例えば、Ｐ１Ｍ  ＤＲＡＭの実施態様のコントローラの動作に対する幾つかの変更を含む。例えば、コントローラは、ある数のサブコントローラ（図示せず）に対する演算シーケンスの個々の演算の命令の割り当てを調整してよく、それによって、例えば、バンク１２１、バンク区分４２３、サブアレイ４２５−１、...、４２５−３２、計算ユニット６６０、論理ストライプ９２
４−１、...、９２４−１８、及び／または、領域９２４−Ａ、９２４−Ｂ、９２４−Ｃ
のそれぞれに記憶されたデータ値に関して、各サブコントローラが別個の演算を指示し得る。例えば、論理ストライプ毎に１Ｋの計算コンポーネントを有する論理ストライプに関して、１Ｋの異なる論理演算シーケンスが、潜在的に、コントローラ１４０、及び／または、対応する数のサブコントローラによって指示されるように、（例えば、ほぼ同時に）開始されてよい。
【０１５７】
例えば、サブコントローラは、入力データ値を行のサブ行から検出回路を介して特定の計算ユニットの特定の論理ストライプの特定の計算コンポーネントに移動（例えば、転送及び／またはコピー）することを（例えば、命令の実行によって）指示するように構成されてよい。サブコントローラは、シーケンスの論理演算の各実行の後、結果として生じる処理されたデータ値を演算が行われた論理ストライプから、別の（例えば、次の）論理ストライプの対応する計算コンポーネントに、演算シーケンス（例えば、シストリックシーケンス）の次の演算の実行のために、移動（例えば、転送、及び／または、コピー）することを指示するように構成されてよい。
【０１５８】
本明細書に記載のインデータパス計算動作のシストリックデータ移動の利点は、このように構成されたメモリデバイスが超並列化及び計算能力を有効に利用し得ることを含んでよい。例えば、メモリデバイスは、処理されたデータ値を１つの演算から次の演算に並行に出力している間、演算シーケンスの複数の、独立した、及び／または、一意の演算をほぼ同時に行うために、メモリデバイスの計算能力及び実行能力を拡張してよい。
【０１５９】
従って、本明細書に記載の実施形態は、処理リソースによる非一時的命令の実行によって行われる（例えば、本明細書に記載のシストリックデータ移動による）インデータパス計算動作のためにメモリデバイスを動作させる方法を提供する。本明細書に記載のように、方法は、メモリセルアレイ第１の行の第１のサブ行のメモリセルから第１の論理ストライプに移動したデータ値であって、アレイとデータパスの複数の論理ストライプとによって共有されたＩ／Ｏを介して移動されたデータ値に対して第１の演算を行うことを含んでよい。方法は、また、第１の演算が実行されると、データ値を、第１の論理ストライプと第２の論理ストライプを選択可能に結合する接続回路を介して、選択された第２の論理ストライプに移動することと、２の論理ストライプに移動されたデータ値に対して第２の演算を行うこととを含んでよい。
【０１６０】
方法は、非一時的命令のセットの実行によって、第１の演算を実行することと、データ値を移動することと、第２の演算を行うこととをさらに含んでよい。非一時的命令のセットは、本明細書に記載のように、他のコンポーネントのうち、アレイの処理リソース、共有Ｉ／Ｏ線、複数の論理ストライプ、及び／または、接続回路を介して、コントローラ及び／またはサブコントローラによって実行されてよい。
【０１６１】
方法は、第１の論理ストライプの第１の計算コンポーネントを用いて第１の演算を行うことと、第２の論理ストライプの第２の計算コンポーネント（例えば、第１の論理ストライプの第１の計算コンポーネントの位置に対応する計算コンポーネント）を用いて第２の演算を行うこともさらに含んでよい。様々な実施形態において、第１の演算及び第２の演算は、コントローラ及び／またはサブコントローラが指示するように、行われてよい。第
１の演算及び第２の演算は、複数の論理ストライプのある数（例えば、領域９２４−ＡのＬ１、．．．、Ｌ６、領域９２４−ＢのＬ７、．．．、Ｌ１２、及び、領域９２４−ＣのＬ１３、．．．、Ｌ１８）に対応する複数の論理演算の数（例えば、論理演算シーケンスの６つの論理演算）の最初の２つの演算として行われてよい。複数の論理演算は、第１のサブ行のメモリセルから移動されたデータ値とは異なる結果を生むように行われた連続した複数の論理演算であってよい。
【０１６２】
方法は、連続した複数の論理演算の最後の演算の完了の結果を、最後の論理ストライプ（例えば、領域９２４−ＡのＬ６、領域９２４−ＢのＬ１２、及び／または、領域９２４−ＣのＬ１８）からアレイの行の選択されたメモリセルに共有Ｉ／Ｏ線を介して移動することをさらに含んでよい。最後の論理ストライプとは、連続した複数の論理演算の最後の演算が行われる論理ストライプを意味する。結果を記憶するためのアレイの行は、様々な実施形態において、以前、入力データ値がそこから移動された行（単数または複数）のサブ行（単数または複数）と、同じまたは異なるバンク、バンク区分、クワドラント、及び／または、サブアレイの（例えば、ＤＲＡＭメモリデバイス）の行であってよい。
【０１６３】
本開示の実施形態は、ＤＲＡＭの実施態様の改良されたデータパス（例えば、共有Ｉ／Ｏ線）を用いることによって、ＰＩＭアレイのデータ移動の速さ、レート、及び／または効率を向上させてよい。本明細書に記載のように、メモリデバイスのバンク位置の対のソース位置及び宛先位置は、複数の共有Ｉ／Ｏ線を介して結合するように構成されてよい。メモリデバイスのバンクは、本明細書に記載のように、メモリセルアレイと、複数のセンス線を介してアレイに結合された検出回路であってセンスアンプ及び計算コンポーネントを含む検出回路と、アレイ及び検出回路に複数の共有Ｉ／Ｏ線を介して結合された計算ユニット回路であってセンスアンプ及び計算コンポーネントを有し、演算を実行するように構成された複数の論理ストライプを含む計算ユニット回路とを含み得る。コントローラは、アレイ、検出回路、及び、計算ユニット回路に結合される。
【０１６４】
アレイのソース位置から計算ユニット回路の宛先位置にデータ値を移動（例えば、コピー、転送、及び／または、トランスポート）するコマンドをコントローラから受信してよい。データ値は、センスアンプ及び／または計算コンポーネントを用いて、複数の共有Ｉ／Ｏ線を介してソース位置から宛先位置に移動されてよい。
【０１６５】
検出回路、センスアンプ、計算コンポーネント、ラッチ、論理ストライプ、共有Ｉ／Ｏ線、列選択回路、接続回路、マルチプレクサ等の様々な組み合わせ及び構成を含む実施形態の例を本明細書に示し記載したが、本開示の実施形態は、本明細書に明示的に記載したこれらの組み合わせに限定されない。本明細書に開示された検出回路、センスアンプ、計算コンポーネント、ラッチ、論理ストライプ、共有Ｉ／Ｏ線、列選択回路、接続回路、マルチプレクサ等の他の組み合わせ及び構成は、開示の範囲内に明示的に含まれる。
【０１６６】
具体的な実施形態を本明細書に示し、記載したが、同じ結果を得るために計算された配置が、図示した具体的な実施形態に代わってよいことを当業者は理解されよう。本開示は、本開示の１つまたは複数の実施形態の適合または変形を含むものとする。上記記載は、制限ではなく例示的に行ったものであることは理解されたい。上記実施形態、及び、本明細書に具体的に記載しなかった他の実施形態の組み合わせは、上記記載を読むと、当業者には明らかであろう。本開示の１つまたは複数の実施形態の範囲は、上記構造及びプロセスが使用される他の適用例も含む。よって、本開示の１つまたは複数の実施形態の範囲は、添付の特許請求の範囲を、このような特許請求の範囲の権利がある均等物の全範囲と共に、参照して、決定される。
【０１６７】
上記発明の詳細な説明において、開示の簡素化の目的で、幾つかの特徴は、１つの実施
形態にまとめられる。開示のこの方法は、本開示の開示された実施形態が、各請求項に明示的に記載されるよりも多くの特徴を使用する必要があるという意図を反映するものと解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明の主題は、開示された１つの実施形態の全ての特徴より少ない特徴にある。従って、以下の特許請求の範囲は、発明の詳細な説明に組み込まれ、各請求項は、それ自体が、別個の実施形態として成立する。
【図１Ａ】
0006791522.tif 000002
【図１Ｂ】
0006791522.tif 000003
【図２】
0006791522.tif 000004
【図３】
0006791522.tif 000005
【図４】
0006791522.tif 000006
【図５】
0006791522.tif 000007
【図６】
0006791522.tif 000008
【図７】
0006791522.tif 000009
【図８】
0006791522.tif 000010
【図９Ａ】
0006791522.tif 000011
【図９Ｂ】
0006791522.tif 000012
【図９Ｃ】
0006791522.tif 000013