(57)【特許請求の範囲】
【請求項１】
複数のニューラルネットワークと、
前記複数のニューラルネットワークに結合されたコントローラと、
を備えた装置であって、
前記複数のニューラルネットワークの各ニューラルネットワークは、プロセッシングインメモリ（ＰＩＭ）デバイス上の複数のバンクのうちの対応するバンク内で動作し、
各ニューラルネットワークは、
異なるトレーニングを受信し、
前記異なるトレーニングを受信するのに応答して、同時に特定のデータ部分の特徴を決定し、
前記複数のニューラルネットワークの各々の前記異なるトレーニングに基づいて、前記特定のデータ部分の前記特徴のトレーニング信頼係数を決定する、
ように構成され、
前記コントローラは、
投票方式を使用して、前記複数のニューラルネットワークの各々の前記トレーニング信頼係数に基づきデータ認識の精度を決定し、
前記データ認識の前記精度に基づき前記特定のデータ部分の前記特徴を決定する、
ように構成される、装置。
【請求項２】
前記複数のニューラルネットワークは、センシング回路に結合されたメモリセルのアレイを含み、前記センシング回路は、センスアンプ及び計算コンポーネントを含む、請求項１に記載の装置。
【請求項３】
前記メモリセルのアレイは、前記メモリセルのアレイと関連するデータパス計算動作におけるデータパスとして共有される複数の入力／出力（Ｉ／Ｏ）線を介して前記センシング回路に結合され、前記センシング回路が、前記特定のデータ部分の前記特徴についての前記決定を行うように構成される、、請求項２に記載の装置。
【請求項４】
前記複数のニューラルネットワークは、独立してトレーニングされるように構成される、請求項１〜３のいずれか１項に記載の装置。
【請求項５】
複数のニューラルネットワークと、
前記複数のニューラルネットワークに結合されたコントローラと、
を備えた装置であって、
前記複数のニューラルネットワークの各ニューラルネットワークは、プロセッシングインメモリ（ＰＩＭ）デバイス上の複数のバンクのうちの対応するバンク内で動作し、
各ニューラルネットワークは、
異なるトレーニングを受信し、
特定のデータ部分を受信し、
前記異なるトレーニングを受信するのに応答して、同時に前記特定のデータ部分の特徴を決定し、
前記複数のニューラルネットワークの各々の前記異なるトレーニングに基づいて、前記特定のデータ部分の前記特徴のトレーニング信頼係数を決定する、
ように構成され、
前記コントローラは、
投票方式を使用して、前記複数のニューラルネットワークの各々の前記トレーニング信頼係数に基づきデータ認識の精度を決定し、
前記データ認識の前記精度に基づき前記特定のデータ部分の前記特徴を決定する、
ように構成される、装置。
【請求項６】
前記コントローラは、前記複数のニューラルネットワークの各々から投票を受信するように構成される、請求項５に記載の装置。
【請求項７】
前記複数のニューラルネットワークの各々からの前記投票は、前記複数のニューラルネットワークの各々の特定のデータ部分及び特定のトレーニングのタイプに基づき重み付けされる、請求項６に記載の装置。
【請求項８】
複数のニューラルネットワークの各々を別々にトレーニングすることであって、前記複数のニューラルネットワークの各ニューラルネットワークは、プロセッシングインメモリ（ＰＩＭ）デバイス上の複数のバンクのうちの対応するバンク内で動作する、ことと、
前記複数のニューラルネットワークの各々を別々にトレーニングすることに応答して、同時に、前記複数のニューラルネットワークの各々における特定のデータ部分の特徴を決定することと、
前記複数のニューラルネットワークの各々の前記別々のトレーニングに基づいて、前記特定のデータ部分の前記特徴のトレーニング信頼係数を決定することと、
コントローラにて、投票方式を使用して、前記複数のニューラルネットワークの各々の前記トレーニング信頼係数に基づきデータ認識の精度を決定することと、
前記コントローラにて、前記データ認識の前記精度に基づき前記特定のデータ部分の前記特徴を決定することと、
を含む方法。
【請求項９】
複数のニューラルネットワークの各々を別々にトレーニングすることであって、前記複数のニューラルネットワークの各ニューラルネットワークは、プロセッシングインメモリ（ＰＩＭ）デバイス上の複数のバンクのうちの対応するバンク内で動作する、ことと、
前記複数のニューラルネットワークの各々を別々にトレーニングすることに応答して、同時に前記複数のニューラルネットワークを動作させることであって、前記複数のニューラルネットワークの各々は、特定のデータ部分を受信し、前記特定のデータ部分の特徴を決定し、かつ、前記複数のニューラルネットワークの各々の前記別々のトレーニングに基づき前記特定のデータ部分の前記特徴のトレーニング信頼係数を決定する、ことと、
コントローラを動作させることであって、前記コントローラは、投票方式を使用して、前記複数のニューラルネットワークの各々の前記トレーニング信頼係数に基づきデータ認識の精度を決定し、前記コントローラは、前記データ認識の前記精度に基づき前記特定のデータ部分の前記特徴を決定する、ことと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にメモリデバイスに関し、特に、ニューラルネットワークを動作させることに関する。
【背景技術】
【０００２】
メモリデバイスは、コンピュータまたは他の電子システムにおける内部半導体集積回路として一般的に提供される。揮発性及び不揮発性メモリを含む、多くの異なるタイプのメモリがある。揮発性メモリは、そのデータ（たとえば、ホストデータ、エラーデータなど）を維持する電力を必要とする可能性があり、とりわけ、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、及びサイリスタランダムアクセスメモリ（ＴＲＡＭ）を含む。不揮発性メモリは、電力を供給されないときに、格納されたデータを保持することによって永続データを提供することが可能であり、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、ならびに抵抗可変メモリ、たとえば、とりわけ、相変化メモリ（ＰＣＲＡＭ）、抵抗変化型メモリ（ＲＲＡＭ）、及びスピントルク注入メモリ（ＳＴＴ  ＲＡＭ）などの磁気抵抗メモリ（ＭＲＡＭ）を含むことが可能である。
【０００３】
電子システムは、インストラクション（命令）を取得して実行し、実行されたインストラクションの結果を適切な位置へ格納することができる、幾つかの処理リソース（たとえば、１つ以上のプロセッサ）を含むことが多い。プロセッサは、たとえば、データ（たとえば、１つ以上のオペランド）への演算を実行することによってインストラクションを実行するために使用されることが可能である、算術論理ユニット（ＡＬＵ）回路、浮動小数点ユニット（ＦＰＵ）回路、及び組み合わせ論理ブロックなどの幾つかの機能ユニットを含むことが可能である。本明細書に使用される場合、演算は、たとえば、ＡＮＤ、ＯＲ、ＮＯＴ、ＮＯＴ、ＮＡＮＤ、ＮＯＲ、及びＸＯＲなどのブール演算、及び／または他の演算（たとえば、多くの他の可能な演算の中で、反転、シフト、算術、統計）であることが可能である。たとえば、機能ユニット回路を使用して、幾つかの演算を介して、オペランドへの加算、減算、乗算、及び除算などの算術演算を実行することができる。
【０００４】
電子システム中の幾つかの要素は、実行のための機能ユニット回路へインストラクションを提供する際に伴われることができる。これらのインストラクションは、たとえば、コントローラ及び／またはホストプロセッサなどの処理リソースによって、実行されることができる。データ（たとえば、インストラクションを実行するオペランド）は、機能ユニット回路によってアクセス可能であるメモリアレイ中に格納されることができる。これらのインストラクション及び／またはデータは、メモリアレイから取得され、データに対してインストラクションを実行することを機能ユニット回路が開始する前に、シーケンシングを行われる、及び／またはバッファリングされることができる。さらに、異なるタイプの動作は、１つ、または複数のクロック周期において機能ユニット回路を介して実行されることができ、また、これらのインストラクション及び／またはデータの中間結果は、シーケンシングを行われる、及び／またはバッファリングされることができる。１つ以上のクロック周期において演算を完了するシーケンスは、演算周期と称されることができる。コンピューティング装置及び／またはシステムの、処理及び計算性能、ならびに消費電力の観点から、演算周期を完了するために消費される時間がかかる。
【０００５】
多くの例において、処理リソース（たとえば、プロセッサ及び関連した機能ユニット回路）は、メモリアレイの外側にあることができ、処理リソースとメモリアレイとの間のバスを介してデータにアクセスし、１セットのインストラクションを実行する。処理性能は、プロセッシングインメモリ（ＰＩＭ）デバイスにおいて改善されることができ、この中で、処理及び／または論理リソースは、メモリ内部に、及び／またはメモリ近くに（たとえば、メモリアレイと同一のチップ上に直接に）実装されることができる。プロセッシングインメモリ（ＰＩＭ）デバイスは、外部通信を減少させ排除することによって時間を節約することができ、温存することもできる。
【図面の簡単な説明】
【０００６】
【図１Ａ】本開示の幾つかの実施形態に従う、メモリデバイスを含む電子システムの形態における装置のブロック図である。
【図１Ｂ】本開示の幾つかの実施形態に従う、アレイのバンクセクションへローカルなデータパスにおいて共有された入力／出力（Ｉ／Ｏ）線を有するメモリデバイスを含む電子システムの形態における装置の別のブロック図である。
【図２】本開示の幾つかの実施形態に従う、ニューラルネットワークを図示する概略図である。
【図３】本開示の幾つかの実施形態に従う、メモリデバイスのセンシング回路を図示する概略図であり、センシング回路が計算コンポーネントを含む。
【図４】本開示の幾つかの実施形態に従う、アレイのデータパス中で複数の共有されたＩ／Ｏ線についての回路を図示する概略図である。
【図５】本開示の幾つかの実施形態に従う、メモリデバイスへのコントローラの実施例を図示するブロック図である。
【図６】本開示の幾つかの実施形態に従う、メモリデバイスへのセンシング回路を図示する概略図である。
【図７】本開示の幾つかの実施形態に従う、図３に示されるセンシング回路によって実装される選択可能な論理演算結果を図示する論理テーブルである。
【発明を実施するための形態】
【０００７】
本開示は、ニューラルネットワークを動作させるための装置及び方法を含む。例示的な装置は、複数のニューラルネットワークを含み、複数のニューラルネットワークは、特定のデータ部分を受信するように構成され、複数のニューラルネットワークのそれぞれは、特定の期間中に特定のデータ部分に演算を行って、この特定のデータ部分の特徴についての決定を行うように構成される。いくつかの実施形態において、複数のニューラルネットワークは、プロセッシングインメモリ（ＰＩＭ）アーキテクチャを含むことができる。
【０００８】
本開示は、独立したニューラルネットワークを使用して、データを分類することを説明する。幾つかの実施形態において、複数のニューラルネットワークは、特定のデータ部分上で同時に動作することが可能である。特定のデータ部分は、画像、画像の部分、音声、または感情であることが可能である。各ニューラルネットワークは、１つの大規模なネットワークがトレーニングされるのとは対照的に、独立してトレーニングされることが可能である。これは、各独立したニューラルネットワークが同様の、または全く異なる結果を返すことが可能であるため、より良い精度を提供することが可能である。
【０００９】
幾つかの実施形態において、複数のニューラルネットワークは、ＰＩＭアーキテクチャを含むことが可能である。このようなものとして、複数のニューラルネットワークは、固定点またはバイナリ重み付きネットワークをＰＩＭデバイス上で動作させることが可能であり、複数のニューラルネットワークは、シングルビットネットワークであることが可能である。従来のアプローチは、単一の３２ビットネットワークを使用して、ニューラルネットワーク機能を実行する。
【００１０】
幾つかの実施形態において、複数のニューラルネットワークは、特定のデータ部分を受信することが可能であり、複数のニューラルネットワークに結合されるコントローラは、複数のニューラルネットワークの結果に基づきデータ認識の精度を評価することが可能である。幾つかの実施形態において、コントローラは、投票方式を使用して、データ認識の精度を評価する。コントローラは、複数のニューラルネットワークのそれぞれから投票を受信することが可能であり、この投票は、複数のニューラルネットワークのそれぞれの特定のトレーニングに基づき重み付けされることが可能である。
【００１１】
幾つかの実施形態において、複数のニューラルネットワークは、センスアンプ及び計算コンポーネントを含むセンシング回路に結合されるメモリセルアレイを含むことが可能であり、センシング回路が特定のデータ部分の特徴についての決定を行う。幾つかの実施形態において、複数のニューラルネットワークは、メモリセルアレイを含み、このメモリセルアレイは、特定のデータ部分の特徴についての決定を行う、アレイと関連するデータパス計算動作についてのデータパスとして共有される複数の入力／出力（Ｉ／Ｏ）線を介してセンシング回路に結合される。
【００１２】
本開示の以下の詳細な説明において、参照は、本明細書の一部を形成する添付の図面に行われ、そしてその中で本開示の１つ以上の実施形態を実施することができる方法の説明として示される。これらの実施形態は、当業者が本開示のこれらの実施形態を実施することが可能であるように十分に詳細に記載され、そして本開示の範囲から逸脱することなく、他の実施形態を利用することができること、ならびにプロセスの変化、電気的な変化、及び構造的な変化を行うことができることが理解されるであろう。
【００１３】
本明細書に使用される場合、特に図面中の参照番号に関する、「Ｘ」、「Ｙ」、「Ｎ」、「Ｍ」などの指定子は、そのように指定される幾つかの特定の特徴を含むことが可能であることを示す。また、本明細書に使用される専門用語が特定の実施形態のみを説明する目的のためのものであり、限定的であることが意図されないことを理解するであろう。本明細書に使用される場合、単数形態、「a」、「an」、及び「the」は、文脈が明らかに別段に指示しない限り、単数及び複数の両方の指示対象を含むことが可能である。加えて、「幾つかの（a number of）」、「少なくとも１つの」、及び「１つ以上の」（たとえば、幾つかのメモリアレイ（a number of memory arrays））は、１つ以上のメモリアレイを指すことが可能であるが、「複数の（a plurality of）」は、そのようなもののうちの１つよりも多くを指すことが意図される。さらに、単語「ことが可能である」、及び「ことができる」は、強制的な意味（すなわち、しなければならない）ではなく、許容的な意味（すなわち、可能性を有する、ことができる）で本出願全体を通して使用される。用語「含む」、及びその派生語は、「それを含むが、それに限定されない」ことを意味する。用語「結合される」、及び「結合する」は、文脈に応じて、物理的に、またはコマンド及び／またはデータへのアクセス、及びこれらの移動（伝送）のために、直接的に、もしくは間接的に接続されることを意味する。用語「データ」及び「データ値」は、文脈に応じて、本明細書において互換的に使用され、同一の意味を有することが可能である。
【００１４】
本明細書に記載されるように、複数の共有されたＩ／Ｏ線１５５は、各アレイに結合される選択論理を介してメモリセルの、複数のサブアレイ、バンクセクション、象限、ロウ、及び／または特定のカラムによって選択可能に共有されることが可能である。たとえば、センシング回路１５０及び／または追加のラッチ１７０は、幾つかのカラム（たとえば、八（８）、十六（１６）など、カラムの総数のカラムサブセット）の選択可能なサブセットのそれぞれについて、センスアンプ及び選択論理を含み、複数の共有されたＩ／Ｏ線のデータパス中の、計算ユニット中の複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎへ移動するデータ値について複数の共有されたＩ／Ｏ線１５５のそれぞれに選択可能に結合されることが可能である。いくつかの実施形態において、複数の共有されたＩ／Ｏ線１５５のそれぞれに選択可能に結合される複数の計算コンポーネント１３１−１、．．．、１３１−Ｍは、複数の共有されたＩ／Ｏ線に選択可能に結合されるカラム数、たとえば、２Ｋ、１Ｋなどに対応することが可能である。単数形態「a」、「an」、及び「the」が本明細書において単数形及び複数形の両方の指示対象を含むことが可能であるため、文脈が明確に別段に指示しない限り、「共有されたＩ／Ｏ線」を使用して、「共有されたＩ／Ｏ線の相補対」を指すことが可能である。さらに、「共有されたＩ／Ｏ線」は、「複数の共有されたＩ／Ｏ線」の省略形である。
【００１５】
本明細書において図面は、最初の単一の数字、または複数の数字が図番に対応し、残りの数字が図面中の要素または構成要素を識別する、番号付け慣習に従う。異なる図面間の類似した要素または構成要素は、類似した数字の使用によって識別されることができる。たとえば、１０８は、図１Ａ中の要素「０８」を参照することができ、類似した要素は、図２中の２０８として参照されることができる。理解されるように、本明細書においてさまざまな実施形態に示される要素は、本開示の幾つかの追加の実施形態を提供するために、加えられる、交換される、及び／または除外されることが可能である。加えて、図面に提供される要素の比例尺度及び／または相対尺度は、本開示のある特定の実施形態を図示することを意図し、限定的な意味に取るべきではない。
【００１６】
図１Ａは、本開示の幾つかの実施形態に従う、メモリアレイ１３０を含むメモリデバイス１２０を含むコンピューティングシステム１００の形態における装置のブロック図である。本明細書に使用される場合、メモリデバイス１２０、コントローラ１４０、メモリアレイ１３０、センシング回路１５０、及び／または幾つかの追加のラッチ１７０も、別々に「装置」とみなされることができる。
【００１７】
本明細書に使用される場合、追加のラッチは、アレイ中でメモリセルのデータ値を感知する、結合する、及び／または移動させる（たとえば、読み出す、格納する、キャッシュする）追加の機能（たとえば、増幅器、選択論理）と、図１Ｂ、図３〜図４及び図６〜図７に示される複数の共有されたＩ／Ｏ線１５５のデータパス中の計算ユニット中の、複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ及び／または論理ストライプ１２４−１、．．．、１２４−Ｎと異なる追加の機能とを意味することが意図される。図１Ｂに示されるように、アレイにローカルな複数の共有された入力／出力（Ｉ／Ｏ）線１５５のデータパス中の論理ストライプ１２４−１、．．．、１２４−Ｎは、バンク１２１−１中のメモリセルのさまざまなバンクセクション１２３−１、．．．、１２３−Ｎと関連することができる。バンク１２１−１は、メモリデバイス１２０上の複数のバンクのうちの１つであることができる。
【００１８】
図１Ａ中のシステム１００は、メモリデバイス１２０に結合される（たとえば、接続される）ホスト１１０を含む。ホスト１１０は、さまざまなタイプのホストの中の、パーソナルラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、スマートフォン、またはメモリカードリーダーなどのホストシステムであることが可能である。ホスト１１０は、システムマザーボード及び／またはバックプレーンを含むことが可能であり、幾つかの処理リソース（たとえば、１つ以上のプロセッサ、マイクロプロセッサ、またはいくつかの他のタイプの制御回路）を含むことが可能である。システム１００は、別々の集積回路を含むことが可能である、またはホスト１１０及びメモリデバイス１２０の両方は、同一の集積回路上にあることが可能である。このシステム１００は、たとえば、サーバシステム及び／またはハイパフォーマンスコンピューティング（ＨＰＣ）システム及び／またはそれらの一部であることが可能である。図１Ａに示される実施例は、ノイマン型を有するシステムを図示するが、本開示の実施形態は、ノイマン型と関連することが多い１つ以上のコンポーネント（たとえば、ＣＰＵ、ＡＬＵなど）を含まないことができる、非ノイマン型に実装されることが可能である。
【００１９】
明確さのために、システム１００は、本開示に特に関連する特徴に焦点を合わせるために簡略化されている。メモリアレイ１３０は、アレイのタイプの中の、ＤＲＡＭアレイ、ＳＲＡＭアレイ、ＳＴＴ  ＲＡＭアレイ、ＰＣＲＡＭアレイ、ＴＲＡＭアレイ、ＲＲＡＭアレイ、ＮＡＮＤフラッシュアレイ、及び／またはＮＯＲフラッシュアレイであることが可能である。アレイ１３０は、アクセス線（ワード線または選択線と本明細書において称されることができる）によって結合されるロウ（行）、及びセンス線（データ線またはデジット線と本明細書において称されることができる）によって結合されるカラム（列）に配置されるメモリセルを含むことが可能である。単一アレイ１３０が図１Ａに示されるが、実施形態は、そのように限定されない。たとえば、メモリデバイス１２０は、幾つかのアレイ１３０（たとえば、ＤＲＡＭセル、ＮＡＮＤフラッシュセルなどの幾つかのバンク）を含むことができる。
【００２０】
メモリデバイス１２０は、Ｉ／Ｏ回路１４４によってデータバス１５６（たとえば、ホスト１１０に接続されるＩ／Ｏバス）経由で提供される（たとえば、外部ＡＬＵ回路へ、及び／またはＤＲＡＭ  ＤＱへローカルＩ／Ｏ線及びグローバルＩ／Ｏ線を介して提供される）アドレス信号をラッチするアドレス回路１４２を含むことが可能である。本明細書に使用される場合、ＤＲＡＭ  ＤＱは、バンクへのデータの入力及び／またはバンクからのデータの出力（たとえば、コントローラ１４０及び／またはホスト１１０から、及び／またはこれらへ）を、バス（たとえば、データバス１５６）を介して可能にすることができる。書き込み動作中に、電圧（ｈｉｇｈ＝１、ｌｏｗ＝０）は、ＤＱ（たとえば、ピン）へ印加されることが可能である。この電圧は、適切な信号に変換され、選択されたメモリセルに格納されることが可能である。読み出し動作中に、アクセスが完了し、出力が有効にされる（たとえば、出力イネーブル信号がｌｏｗになることによって）と、選択されたメモリセルから読み出されるデータ値は、ＤＱに現れることが可能である。他のときに、ＤＱが電流を供給せず、または下げず、信号をシステムへ提示しないように、ＤＱは、高インピーダンス状態にあることが可能である。また、本明細書に記載されるように、２つ以上のデバイス（たとえば、バンク）が組み合わされたデータバスを共有するときに、これは、ＤＱ競合を減少させることができる。これらのようなＤＱは、アレイ１３０にローカルなデータパス中で複数の共有されたＩ／Ｏ線１５５（図１Ｂ中の）とは別であり、これらと異なる。
【００２１】
ステータス及び例外情報は、順にチャネルコントローラ１４３からホスト１１０へ提供されることが可能である、たとえば、高速インタフェース（ＨＳＩ）などのアウトオブバンド（ＯＯＢ）バス１５７を介して、メモリデバイス１２０のコントローラ１４０からチャネルコントローラ１４３へ提供されることが可能である。チャネルコントローラ１４３は、論理コンポーネントを含むことが可能であり、論理コンポーネントは、各それぞれのバンクのアレイ中の複数の位置（たとえば、サブアレイについてのコントローラ）を割り当て、複数のメモリデバイス１２０のそれぞれについての動作と関連するさまざまなバンクについての、バンクコマンド、（たとえば、動作シーケンスについての）アプリケーションインストラクション、及び実引数（ＰＩＭコマンド）を格納する。チャネルコントローラ１４３は、コマンド（たとえば、ＰＩＭコマンド）を複数のメモリデバイス１２０へディスパッチし、これらのプログラムインストラクションをメモリデバイス１２０の所与のバンク１２１（図１Ｂ）内に格納することが可能である。
【００２２】
アドレス回路１４２を介してアドレス信号を受信し、ロウ復号器（行デコーダ）１４６、及びカラム復号器（列デコーダ）１５２によってアドレス信号を復号し、メモリアレイ１３０にアクセスする。センシング回路１５０の、本明細書に記載されるような、幾つかのセンスアンプを使用してセンス線（デジット線）上での電圧及び／または電流の変化を感知することによって、データをメモリアレイ１３０から感知する（読み出す）ことが可能である。センスアンプは、データのページ（たとえば、ロウ）をメモリアレイ１３０から読み出し、ラッチすることが可能である。追加の計算回路は、本明細書に記載されるように、センシング回路１５０に結合されることが可能であり、センスアンプと組み合わせて使用され、データを感知する、データを格納する（たとえば、キャッシュする、及び／またはバッファリングする）、データの計算機能（たとえば、演算）を実行する、及び／またはデータを移動させることが可能である。Ｉ／Ｏ回路１４４は、データバス１５６（たとえば、６４ビット幅データバス）経由でホスト１１０との双方向データ通信のために使用されることが可能である。書き込み回路１４８を使用して、データをメモリアレイ１３０へ書き込むことが可能である。
【００２３】
コントローラ１４０（たとえば、図５に示されるバンク制御論理、シーケンサ及びタイミング回路）は、ホスト１１０から制御バス１５４によって提供される信号（たとえば、コマンド）を復号することが可能である。これらの信号は、チップイネーブル信号、書き込みイネーブル信号、及び／またはアドレスラッチ信号を含むことが可能であり、これらの信号は、動作の中でも、データ感知、データ格納、データ移動（たとえば、データ値をコピーすること、転送すること、及び／または移送すること）、データ書き込み、及び／またはデータ消去の動作を含む、メモリアレイ１３０上で実行される動作を制御するために使用されることが可能である。さまざまな実施形態において、コントローラ１４０は、ホスト１１０からのインストラクションを実行し、メモリアレイ１３０にアクセスすることに応答可能であることができる。コントローラ１４０は、ステートマシン、シーケンサ、またはいくつかの他のタイプのコントローラであることが可能である。コントローラ１４０は、アレイ（たとえば、メモリアレイ１３０）のロウ中のデータをシフトする（たとえば、右方向または左方向）ことを制御し、マイクロコードインストラクションを実行し、たとえば、ＡＮＤ、ＯＲ、ＮＯＲ、ＸＯＲ、加算、減算、乗算、除算などの計算動作（演算）などの動作を実行することが可能である。
【００２４】
センシング回路１５０の実施例は、さらに以下に（たとえば、図３及び図４中に）記載される。たとえば、いくつかの実施形態において、センシング回路１５０は、幾つかのセンスアンプ、及び幾つかの計算コンポーネントを含むことが可能であり、これらは、アキュムレータとして機能することができ、各サブアレイ中で（たとえば、相補的センス線と関連するデータへの）演算を実行するために使用されることが可能である。
【００２５】
いくつかの実施形態において、センシング回路１５０を使用して、センス線アドレスアクセスを介してデータを転送することなく（たとえば、カラム復号信号を発することなく）、入力としてメモリアレイ１３０に格納されたデータを使用して演算を実行し、メモリアレイ１３０中の異なる位置へコピー、転送、移送、書き込み、論理、及び／またはストレージ動作についてのデータの移動に関与することが可能である。このようなものとして、さまざまな計算機能は、センシング回路１５０の外部の処理リソースによって（たとえば、コントローラ１４０または他の箇所の上など、デバイス１２０上に位置している、ホスト１１０と関連するプロセッサ、及び／またはＡＬＵ回路などの他の処理回路によって）実行されるよりもむしろ（またはこれらによって実行されることと関連して）、センシング回路１５０を使用し、センシング回路１５０内で実行されることが可能である。しかしながら、さらに、本開示に従う実施形態は、アレイのロウから計算ユニット中の複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎへ移動するデータ値に対して計算機能を実行する。そして一例として、実施形態に従えば、計算動作（演算）は、アレイ中のロウを起動するために必要とされる６０ナノ秒（ｎｓ）の例示的な時間と比較して、データ値を移動させロウに返すことを必要とせずに、２ナノ秒（ｎｓ）の速度で計算ユニットにおいて制御されることができる。
【００２６】
さまざまな従来のアプローチにおいては、オペランドと関連するデータは、たとえば、センシング回路を介してメモリから読み出され、外部ＡＬＵ回路へＩ／Ｏ線を介して（たとえば、ローカルＩ／Ｏ線、及び／またはグローバルＩ／Ｏ線を介して）提供される。外部ＡＬＵ回路は、幾つかのレジスタを含むことが可能であり、オペランドを使用して計算機能を実行し、結果は、Ｉ／Ｏ回路１４４を介してアレイへ転送され、返される。
【００２７】
これに対し、本開示に従う実施形態は、アレイにローカルなデータパス中の計算ユニットにおいて、複数の共有されたＩ／Ｏ線１５５を介してアレイのロウから、複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎへ移動したデータ値に対して計算機能を実行する。加えて、センシング回路１５０は、センシング回路１５０に結合されたＩ／Ｏ線（たとえば、ローカルＩ／Ｏ線）を有効にせずに、メモリアレイ１３０に格納されたデータに演算を実行し、その結果をメモリアレイ１３０へ返して格納するように構成されることができる。しかしながら、ロードされると、計算動作は、アレイ中のロウを起動するために必要とされる例示的な時間、たとえば、６０ナノ秒（ｎｓ）と比較して、データ値をロウに移動させて返すことを必要とせずに、さらにより高速に、たとえば、２ナノ秒（ｎｓ）の速度で、計算ユニットにおいて制御されることができる。センシング回路１５０は、アレイのメモリセルに関するピッチ上に形成されることが可能である。複数の共有されたＩ／Ｏ線１５５のデータパスと関連する、複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎは、データパスのピッチと等しいピッチを有し、それは、メモリセルのアレイへのデジット線のピッチの関数である。たとえば、計算コンポーネントは、メモリセルのアレイへのデジット線のピッチの整数倍であるピッチを有する。
【００２８】
たとえば、本明細書に記載されるセンシング回路１５０は、１対の相補的センス線（たとえば、デジット線）と同一のピッチ上に形成されることが可能である。実施例として、１対の相補的メモリセルは、６Ｆ２（たとえば、３Ｆ×２Ｆ）ピッチを有するセルサイズを有することができ、ここでＦは、フィーチャサイズである。相補的メモリセルについての１対の相補的センス線のピッチが３Ｆである場合、ピッチ上にあるセンシング回路は、センシング回路（たとえば、相補的センス線のそれぞれの対ごとのセンスアンプ、及び対応する計算コンポーネント）が相補的センス線の３Ｆピッチ内で適合するように形成されることを示す。同様に、複数の共有されたＩ／Ｏ線１５５のデータパスと関連する、計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎは、相補的センス線の３Ｆピッチの関数であるピッチを有する。たとえば、計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎは、メモリセルのアレイへのデジット線の３Ｆピッチの整数倍であるピッチを有する。
【００２９】
これに対し、さまざまな従来のシステムの処理リソース（複数可）（たとえば、ＡＬＵなどの計算エンジン）の回路は、メモリアレイと関連するピッチルールを準拠していない可能性がある。たとえば、メモリアレイのメモリセルは、４Ｆ２または６Ｆ２のセルサイズを有することができる。このようなものとして、従来のシステムのＡＬＵ回路と関連するデバイス（たとえば、論理ゲート）は、メモリセルに関するピッチ上に（たとえば、センス線と同一のピッチ上に）形成されることができない可能性があり、これは、たとえば、チップサイズ及び／またはメモリ密度に影響する可能性がある。いくつかのコンピューティングシステム及びサブシステム（たとえば、中央処理装置（ＣＰＵ））のコンテキストにおいて、データは、本明細書に記載されるように、メモリ（たとえば、アレイ中のメモリセル）に関する、ピッチ上に、及び／またはチップ上ではない位置において処理されることができる。たとえば、データは、たとえば、メモリに関するピッチ上よりもむしろ、ホストと関連する処理リソースによって処理されることができる。
【００３０】
このようなものとして、幾つかの実施形態において、センシング回路１５０がそのような計算機能を実行するための適切な動作を実行することが可能である場合に、または外部処理リソースの使用なしでアレイにローカルな複数の共有されたＩ／Ｏ線のデータパスにおいてそのような動作を実行することが可能である場合に、アレイ１３０及びセンシング回路１５０の外部の回路は、計算機能を実行するために必要とされない。したがって、複数の共有されたＩ／Ｏ線１５５のデータパス中の計算ユニットにおいて、センシング回路１５０、及び／または複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎを使用して、そのような外部処理リソース（またはそのような外部処理リソースの少なくとも帯域幅消費）を、少なくともある程度、相補する、または置換することができる。いくつかの実施形態において、複数の共有されたＩ／Ｏ線１５５のデータパス中の計算ユニットにおいてセンシング回路１５０、及び／または複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎは、外部処理リソース（たとえば、ホスト１１０）によって実行される動作に加えて、（たとえば、インストラクションを実行するための）動作を実行するのに使用されることができる。たとえば、ホスト１１０及び／またはセンシング回路１５０は、ある特定の動作、及び／またはある特定の数の動作のみを実行するように限定される可能性がある。
【００３１】
本明細書に記載される演算は、プロセッシングインメモリ（ＰＩＭ）対応デバイスと関連する演算を含むことが可能である。ＰＩＭ対応デバイスの演算は、ビットベクトルベースの演算を使用することが可能である。本明細書に使用される場合、用語「ビットベクトル」は、メモリセルのアレイのロウ中に物理的に連続して格納されるビットベクトルメモリデバイス（たとえば、ＰＩＭデバイス）上で物理的に連続したビット数を意味することが意図される。したがって、本明細書に使用される場合、「ビットベクトル演算」は、仮想アドレス空間の連続した部分（たとえば、ＰＩＭデバイスによって使用される）であるビットベクトルに対して実行される演算を意味することが意図される。たとえば、ＰＩＭデバイス中の仮想アドレス空間のロウは、１６Ｋビットのビット長（たとえば、ＤＲＡＭ構成中のメモリセルの１６Ｋの相補対に対応する）を有することができる。本明細書に記載されるような、このような１６Ｋビットロウについてのセンシング回路１５０は、１６ビットロウ中の対応するメモリセルに選択可能に結合されるセンス線に関するピッチ上に形成される、対応する１６Ｋの処理要素（たとえば、本明細書に記載されるような、計算コンポーネント）を含むことができる。ＰＩＭデバイス中の計算コンポーネントは、センシング回路１５０によって感知される（たとえば、本明細書に記載されるように、計算コンポーネントと対になるセンスアンプによって感知される、及び／またはこれに格納される）メモリセルのロウのビットベクトルの単一ビット上の１ビット処理要素（ＰＥ）として演算することができる。同様に、複数の共有されたＩ／Ｏ線１５５のデータパス中の計算ユニットにおける複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎは、アレイにおいて感知されるメモリセルのロウのビットベクトルの単一ビット上で１ビット処理要素（ＰＥ）として演算することができる。
【００３２】
Ｉ／Ｏ線を有効にすることは、復号信号（たとえば、カラム復号信号）に結合されるゲートと、Ｉ／Ｏ線に結合されるソース／ドレインとを有するトランジスタを有効にする（たとえば、オンにする、起動させる）ことを含むことが可能である。しかしながら、実施形態は、Ｉ／Ｏ線を有効にしないことに限定されない。たとえば、幾つかの実施形態において、センシング回路（たとえば、１５０）を使用して、アレイのカラム復号線を有効にすることなく演算を実行することが可能である。
【００３３】
しかしながら、計算動作がさらにより高速に制御されることができる複数の共有されたＩ／Ｏ線１５５のデータパス中の計算ユニットにおいて、複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎへデータ値をロードするために、複数の共有されたＩ／Ｏ線１５５を有効にすることができる。たとえば、計算ユニット中の複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び／または論理ストライプ１２４−１、．．．、１２４−Ｎにおいて、計算動作は、２ナノ秒（ｎｓ）の速度で実行されることができる。この速度向上は、アレイ中のロウを起動する際に使用される関連した時間、たとえば、６０ナノ秒（ｎｓ）でロウにデータ値を移動させて返す必要がないことに起因することが可能である。
【００３４】
図１Ｂは、本開示の幾つかの実施形態に従う、メモリデバイスのバンク１２１−１のブロック図である。たとえば、バンク１２１−１は、メモリデバイス１２０の例示的なバンクを表すことが可能である。図１Ｂに示されるように、バンク１２１−１は、複数のメインメモリカラム（Ｘとして水平方向に示される）（たとえば、例示的なＤＲＡＭバンク中の１６，３８４個のカラム）を含むことが可能である。加えて、バンク１２１−１は、バンクセクション（たとえば、３２個のサブアレイの象限）１２３−１、１２３−２、．．．、１２３−Ｎまで分割されることができる。各バンクセクションは、複数の共有されたＩ／Ｏ線１５５のデータパス中の計算ユニット中の論理ストライプ１２４−１、．．．、１２４−Ｎにおける複数の計算コンポーネント１３１−１、．．．、１３１−Ｍと関連することができる。バンクセクション１２３−１、．．．、１２３−Ｎのそれぞれは、複数のロウ（Ｙとして垂直方向に示される）（たとえば、各セクションは例示的なＤＲＡＭバンク中に５１２個のロウをそれぞれ含むことができる３２個のサブアレイを含む象限であることができる）を含むことが可能である。例示的な実施形態は、本明細書に記載されるカラム及びロウの例示的な水平方向及び／または垂直方向、またはそれらの例示的な数に限定されない。
【００３５】
図１Ｂに示されるように、バンク１２１−１は、複数のバンクセクション１２３−１、．．．、１２３−Ｎに分割されることが可能である。各バンクセクションは、それらと関連する複数の共有されたＩ／Ｏ線１５５のデータパス中の計算ユニットにおいて複数の計算コンポーネント１３１−１、．．．、１３１−Ｍ、及び論理ストライプ１２４−１、．．．、１２４−Ｎを有することが可能である。バンク１２１−１は、コントローラ１４０を含み、該コントローラは、複数の共有されたＩ／Ｏ線１５５のデータパス中の計算ユニット中の論理ストライプ１２４−１、．．．、１２４−Ｎにおいて複数の計算コンポーネント１３１−１、．．．、１３１−Ｍへロードされるデータ値への演算を指示することが可能である。
【００３６】
図２は、本開示の幾つかの実施形態に従うニューラルネットワークを示す概略図である。コントローラ２４０は、図１Ａに示されるコントローラ１４０に対応することが可能である。
【００３７】
図２の例示的な実施形態に示されるように、メモリデバイス２２０中の複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍは、特定のデータ部分を受信することが可能であり、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍに結合されるコントローラ２４０は、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍの結果に基づきデータ認識の精度を評価することが可能である。幾つかの実施形態において、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍは、特定のデータ部分に演算を行うインストラクションを同時に受信することが可能である。
【００３８】
幾つかの実施形態において、コントローラ２４０は、投票方式を使用して、データ認識の精度を評価する。コントローラ２４０は、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍのそれぞれから投票を受信することが可能である。複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍのそれぞれからの投票は、コントローラ２４０によって重み付けされることが可能である。複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍのそれぞれからの投票は、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍのそれぞれの特定のトレーニングに基づき重み付けされることが可能である。画像データについての複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍのそれぞれの特定のトレーニングは、たとえば、ぼやけた画像、低照度画像、人物の画像、ネコの画像、ナンバープレート（license  plate）の画像などのデータ認識を含むことが可能である。複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍのうちの１つは、イヌを識別することに関して精度が高く、ネコを識別する際に精度が低いようにトレーニングされ、画像がネコを示していることを投票し、かつ複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍのうちの２番目は、ネコに関して精度が高いようにトレーニングされ、かつ画像がネズミを示していることを投票する場合、コントローラは、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍのそれぞれの特定のトレーニングに基づき投票を評価し、出力を提供することが可能である。この場合、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍの１番目は犬を識別する精度が高いようにトレーニングされ、ネコを識別しており、かつ複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍの２番目は猫を識別する精度が高いようにトレーニングされ、ネコを識別しなかったため、コントローラは、ネコに有利に評価しないであろう。投票方式は、多数決原理であることが可能であり、そこで複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍの大多数は、結果に賛成する。投票方式は、平均であることが可能であり、そこで各ニューラルネットワークの結果を平均する。代替に、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍの中で結果に一律の決定がない場合、出力を破棄することが可能である。この投票方式の下で、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍのそれぞれは、コントローラ２４０に対して同一の結果を投票で決定し、出力を提供しなければならない。
【００３９】
幾つかの実施形態において、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍは、データの一部を受信し、特定のデータ部分の特徴を決定し、この特徴のトレーニング信頼係数を決定する。複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍは、複数のニューラルネットワークのそれぞれのトレーニングに基づき特徴のトレーニング信頼係数を決定することが可能である。複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍに結合されるコントローラ２４０は、複数のニューラルネットワークのそれぞれのトレーニング信頼係数に基づきデータ認識の精度を評価することが可能である。コントローラ２４０は、データ認識の精度に基づき特定のデータ部分の特徴を決定することが可能である。
【００４０】
幾つかの実施形態において、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍのそれぞれは、１２８メガバイト（ＭＢ）以下であることが可能である。加えて、複数のニューラルネットワーク２９６−１、．．．、２９６−Ｍをオフラインでトレーニングすることが可能である。
【００４１】
図３は、本開示の幾つかの実施形態に従う、センシング回路３５０を示す概略図である。センシング回路３５０は、図１Ａに示されるセンシング回路１５０に対応することが可能である。
【００４２】
図３の例示的な実施形態に示されるように、メモリセルは、ストレージ要素（たとえば、コンデンサ）及びアクセスデバイス（たとえば、トランジスタ）を含むことが可能である。たとえば、第一メモリセルは、トランジスタ３０２−１及びコンデンサ（キャパシタ）３０３−１を含むことが可能であり、第二メモリセルは、トランジスタ３０２−２及びコンデンサ３０３−２などを含むことが可能である。この実施形態において、メモリアレイ３３０は、１Ｔ１Ｂ（トランジスタ１個、コンデンサ１個）メモリセルのＤＲＡＭアレイであるが、構成の他の実施形態は、使用されることが可能である（たとえば、メモリセル１個あたりトランジスタ２個及びコンデンサ２個を含む２Ｔ２Ｃ）。幾つかの実施形態において、メモリセルは、破壊読み出しメモリセルであることができる（たとえば、読み出された後に、セルに最初に格納されていたデータをリフレッシュするように、セルに格納されているデータを読み出し、データを破壊する）。
【００４３】
メモリアレイ３３０のセルは、アクセス（ワード）線３０４−Ｘ（Ｒｏｗ  Ｘ）、３０４−Ｙ（Ｒｏｗ  Ｙ）などによって結合されるロウと、相補的センス線（たとえば、図３に示されるデジット線ＤＩＧＩＴ（Ｄ）及びＤＩＧＩＴ（Ｄ）＿）の対によって結合されるカラムとに配置されることが可能である。また、相補的センス線の各対に対応する個々のセンス線は、それぞれ、ＤＩＧＩＴ（Ｄ）についてのデジット線３０５−１、及びＤＩＧＩＴ（Ｄ）＿についてのデジット線３０５−２、または図４中の対応する参照番号と称されることが可能である。相補的デジット線の１対のみを図３に示すが、本開示の実施形態は、そのように限定されず、メモリセルのアレイは、メモリセルの追加のカラム及びデジット線（たとえば、４，０９６本、８，１９２本、１６，３８４本など）を含むことが可能である。
【００４４】
平面において直交方向に向けられるようにロウ及びカラムを図示するが、実施形態は、そのように限定されない。たとえば、ロウ及びカラムは、いずれかの実現可能な三次元構成において互いに関して向けられることができる。たとえば、ロウ及びカラムは、可能な三次元構成の中でも、互いに関していずれかの角度に向けられることができ、実質的に水平面、または実質的に垂直面に向けられることができ、及び／または折り畳みトポロジに向けられることができる。
【００４５】
メモリセルは、異なるデジット線及びワード線に結合されることが可能である。たとえば、トランジスタ３０２−１の第一ソース／ドレイン領域は、デジット線３０５−１（Ｄ）に結合されることが可能であり、トランジスタ３０２−１の第二ソース／ドレイン領域は、コンデンサ３０３−１に結合されることが可能であり、トランジスタ３０２−１のゲートは、ワード線３０４−Ｙに結合されることが可能である。トランジスタ３０２−２の第一ソース／ドレイン領域は、デジット線３０５−２（Ｄ）＿に結合されることが可能であり、トランジスタ３０２−２の第二ソース／ドレイン領域は、コンデンサ３０３−２に結合されることが可能であり、トランジスタ３０２−２のゲートは、ワード線３０４−Ｘに結合されることが可能である。セルプレートは、図３に示されるように、コンデンサ３０３−１及び３０３−２のそれぞれに結合されることが可能である。セルプレートは、共通ノードであることが可能であり、さまざまなメモリアレイ構成において基準電圧（たとえば、接地）をこの共通ノードへ印加することが可能である。
【００４６】
メモリアレイ３３０は、本開示の幾つかの実施形態に従う、センシング回路３５０に結合するように構成される。この実施形態において、センシング回路３５０は、メモリセルのそれぞれのカラムに対応する（たとえば、相補的デジット線のそれぞれの対に結合される）、センスアンプ３０６及び計算コンポーネント３３１を備える。センスアンプ３０６は、１対の相補的デジット線３０５−１及び３０５−２に結合されることが可能である。計算コンポーネント３３１は、パスゲート３０７−１及び３０７−２を介してセンスアンプ３０６へ結合されることが可能である。パスゲート３０７−１及び３０７−２のゲートは、動作選択論理３１３に結合されることが可能である。
【００４７】
動作選択論理３１３は、センスアンプ３０６と計算コンポーネント３３１との間で置換されない１対の相補的デジット線を結合するパスゲートを制御するためのパスゲート論理と、センスアンプ３０６と計算コンポーネント３３１との間で置換される１対の相補的デジット線を結合するスワップゲートを制御するためのスワップゲート論理とを含むように構成されることが可能である。また動作選択論理３１３は、１対の相補的デジット線３０５−１及び３０５−２に結合されることが可能である。動作選択論理３１３は、選択された動作に基づきパスゲート３０７−１及び３０７−２の連続性を制御するように構成されることが可能である。
【００４８】
センスアンプ３０６は、選択されたメモリセルに格納されるデータ値（たとえば、論理状態）を決定するように動作することが可能である。センスアンプ３０６は、本明細書において一次ラッチと称されることが可能である、交差結合されたラッチを備えることが可能である。図３に示される実施例において、センスアンプ３０６に対応する回路は、１対の相補的デジット線Ｄ３０５−１及び（Ｄ）＿３０５−２に結合される、４個のトランジスタを含む、ラッチ３１５を備える。しかしながら、実施形態は、この実施例に限定されない。ラッチ３１５は、ｎチャネルトランジスタ（たとえば、ＮＭＯＳトランジスタ）３２７−１及び３２７−２などの、交差結合されたラッチ（たとえば、１対のトランジスタのゲート）であることが可能であり、ｐチャネルトランジスタ（たとえば、ＰＭＯＳトランジスタ）３２９−１及び３２９−２などの、別の１対のトランジスタのゲートと交差結合される。トランジスタ３２７−１、３２７−２、３２９−１、及び３２９−２を備える交差結合されたラッチ３１５は、一次ラッチと称されることが可能である。
【００４９】
動作中に、メモリセルを感知している（たとえば、読み出している）ときに、デジット線３０５−１（Ｄ）または３０５−２（Ｄ）＿のうちの１つにおける電圧は、デジット線３０５−１（Ｄ）または３０５−２（Ｄ）＿のうちのもう１つにおける電圧よりわずかに大きい。ＡＣＴ信号及びＲＮＬ＊信号は、センスアンプ３０６を有効にする（たとえば、起動させる）ためにｌｏｗで駆動されることが可能である。より低電圧を有するデジット線３０５−１（Ｄ）または３０５−２（Ｄ）＿は、ＰＭＯＳトランジスタ３２９−１または３２９−２のうちの一方を、ＰＭＯＳトランジスタ３２９−１または３２９−２の他方より大きい程度へオンにすることにより、より高電圧を有するデジット線３０５−１（Ｄ）または３０５−２（Ｄ）＿を、他方のデジット線３０５−１（Ｄ）または３０５−２（Ｄ）＿がｈｉｇｈで駆動するより大きい程度へｈｉｇｈで駆動する。
【００５０】
同様に、より高電圧を有するデジット線３０５−１（Ｄ）または３０５−２（Ｄ）＿は、ＮＭＯＳトランジスタ３２７−１または３２７−２のうちの一方を、ＮＭＯＳトランジスタ３２７−１または３２７−２のうちの他方より大きい程度へオンにすることにより、より低電圧を有するデジット線３０５−１（Ｄ）または３０５−２（Ｄ）＿を、他方のデジット線３０５−１（Ｄ）または３０５−２（Ｄ）＿がｌｏｗで駆動するより大きい程度へｌｏｗで駆動する。結果として、短い遅延後、わずかにより大きな電圧を有するデジット線３０５−１（Ｄ）または３０５−２（Ｄ）＿は、ソーストランジスタを通して供給電圧ＶＣＣの電圧へ駆動され、他方のデジット線３０５−１（Ｄ）または３０５−２（Ｄ）＿は、シンクトランジスタを通して基準電圧（たとえば、接地）の電圧へ駆動される。したがって、交差結合されたＮＭＯＳトランジスタ３２７−１及び３２７−２、ならびにＰＭＯＳトランジスタ３２９−１及び３２９−２は、センスアンプ対として機能し、それはデジット線３０５−１（Ｄ）及び３０５−２（Ｄ）＿上で差電圧を増幅させ、選択されたメモリセルから感知されるデータ値をラッチするように動作する。
【００５１】
実施形態は、図３に示されるセンスアンプ３０６の構成に限定されない。実施例として、センスアンプ３０６は、電流モードセンスアンプ、及びシングルエンドセンスアンプ（たとえば、１つのデジット線に結合されるセンスアンプ）であることが可能である。また、本開示の実施形態は、図３に示されるもののような、折り畳みデジット線アーキテクチャに限定されない。
【００５２】
センスアンプ３０６は、計算コンポーネント３３１と合わせて、入力としてアレイからのデータを使用してさまざまな演算を実行するように動作することが可能である。幾つかの実施形態において、演算の結果は、デジット線アドレスアクセスを介してデータを転送することなく（たとえば、ローカルＩ／Ｏ線を介してアレイ及びセンシング回路から外部の回路へデータを転送するようにカラム復号信号を発することなく）アレイへ返され格納されることが可能である。よって、本開示の幾つかの実施形態は、さまざまな従来のアプローチより少ない電力を使用してそれらと関連する動作及び計算機能を実行することを可能にすることができる。加えて、幾つかの実施形態では、（たとえば、メモリと別個のプロセッサとの間で）計算機能を実行するためにローカル及びグローバルＩ／Ｏ線を介してデータを転送する必要が排除されることから、幾つかの実施形態が、従来のアプローチと比較して、増加した（たとえば、より高速の）処理能力を可能にすることができる。
【００５３】
センスアンプ３０６は、デジット線３０５−１（Ｄ）及び３０５−２（Ｄ）＿を平衡にするように構成されることが可能である、平衡化回路３１４をさらに含むことが可能である。この実施例において、平衡化回路３１４は、デジット線３０５−１（Ｄ）と３０５−２（Ｄ）＿との間に結合されるトランジスタ３２４を備える。また、平衡化回路３１４は、平衡電圧（たとえば、ＶＤＤ／２）に結合される第一ソース／ドレイン領域をそれぞれ有するトランジスタ３２５−１及び３２５−２を備え、ここでＶＤＤは、アレイと関連する供給電圧である。トランジスタ３２５−１の第二ソース／ドレイン領域は、デジット線３０５−１（Ｄ）に結合されることが可能であり、トランジスタ３２５−２の第二ソース／ドレイン領域は、デジット線３０５−２（Ｄ）＿に結合されることが可能である。トランジスタ３２４、３２５−１、及び３２５−２のゲートは、互いに結合され、かつ、平衡化（ＥＱ）制御信号線３２６に結合されることが可能である。よって、ＥＱをアクティブにすることで、トランジスタ３２４、３２５−１、及び３２５−２を有効にし、これにより、デジット線３０５−１（Ｄ）及び３０５−２（Ｄ）＿を互いに短絡させ、かつ、平衡電圧（たとえば、ＶＣＣ／２）へ事実上短絡させる。
【００５４】
図３が平衡化回路３１４を備えるセンスアンプ３０６を示すが、実施形態は、そのように限定されず、平衡化回路３１４は、センスアンプ３０６から別個に実装される、図３に示されるものと異なる構成に実装される、または全く実装されないことができる。
【００５５】
さらに以下に記載されるように、幾つかの実施形態において、センシング回路３５０（たとえば、センスアンプ３０６及び計算コンポーネント３３１）は、ローカルまたはグローバルＩ／Ｏ線を介してセンシング回路からデータを転送することなく（たとえば、カラム復号信号などのアクティベーションを介してセンス線アドレスアクセスを実行することなく）、選択された演算を実行し、まずは、その結果をセンスアンプ３０６または計算コンポーネント３３１のうちの１つに格納するように動作することが可能である。
【００５６】
演算（たとえば、データ値を含むブール論理演算）の実行は、基本であり、一般的に使用される。ブール論理演算は、多くのより高水準の動作に使用される。その結果、改善された動作によって実現されることが可能である速度及び／または電力効率は、より高次の機能性の速度及び／または電力効率に変換することが可能である。
【００５７】
図３に示されるように、計算コンポーネント３３１は、二次ラッチ３６４と本明細書において称されることが可能である、ラッチをも備えることが可能である。二次ラッチ３６４は、二次ラッチを連続して有効にするように、二次ラッチ中に含まれる１対の交差結合されたｐチャネルトランジスタ（たとえば、ＰＭＯＳトランジスタ）が供給電圧（たとえば、ＶＤＤ）に結合されるそれらのそれぞれのソースを有することが可能であることと、二次ラッチの１対の交差結合されたｎチャネルトランジスタ（たとえば、ＮＭＯＳトランジスタ）が基準電圧（たとえば、接地）に選択的に結合されるそれらのそれぞれのソースを有することが可能であることとを除き、一次ラッチ３１５に関連して上述されるものと同様に構成され、動作することが可能である。計算コンポーネント３３１の構成は、図２に示されるものに限定されず、さまざまな他の実施形態は、実現可能である。
【００５８】
本明細書に記載されるように、メモリデバイス（たとえば、図１Ａ中の１２０）は、データバス（たとえば、１５６）及び制御バス（たとえば、１５４）を介してホスト（たとえば、１１０）に結合されるように構成されることが可能である。メモリデバイス１２０中のバンク１２１は、メモリセルの複数のバンクセクション（図１Ｂ中の１２３−１、．．．、１２３−Ｎ）を含むことが可能である。バンク１２１は、メモリセルの複数のカラム（図１Ｂ）を介して複数のアレイに結合されるセンシング回路（たとえば、図１Ａ中の１５０、ならびに図３及び図４中の対応する参照番号）を含むことが可能である。センシング回路は、各カラムに結合されるセンスアンプ及び計算コンポーネント（たとえば、図３中のそれぞれ３０６及び３３１）を含むことが可能である。
【００５９】
各バンクセクション１２３は、アレイ３３０にローカルな複数の共有されたＩ／Ｏ線（図１Ｂ中の１５５）のデータパス中の計算ユニットにおいて複数の論理ストライプ（たとえば、図１Ｂ中の１２４−０、１２４−１、．．．、１２４−Ｎ−１）と関連することが可能である。バンクに結合されるコントローラ（たとえば、図１Ａ〜図１Ｂ中の１４０）は、本明細書に記載されるように、アレイ３３０にローカルな共有されたＩ／Ｏ線４５５（図４）のデータパス中の計算ユニット４６０（図４）中の論理ストライプにおける計算コンポーネントへのデータ値の移動を指示するように構成されることが可能である。
【００６０】
メモリデバイスは、メモリセルの複数のカラム（図１Ｂ）の数に対応することが可能である複数の計算コンポーネントを有する論理ストライプ（たとえば、図１Ｂ中の１２４）を含むことが可能である。図４にさらに関連して考察されるように、センシング回路３５０中の幾つかのセンスアンプ３０６及び／または計算コンポーネント３３１は、複数の共有されたＩ／Ｏ線４５５（図４）に選択的に結合される（たとえば、図４中のカラム選択回路４５８−１及び４５８−２を介して）ことが可能である。カラム選択回路は、複数（たとえば、可能性がある中の、４、８、及び１６個）のセンスアンプ及び／または計算コンポーネントに選択可能に結合されることによってアレイのメモリセルの特定のカラム中のデータを選択的に感知するように構成されることが可能である。
【００６１】
いくつかの実施形態において、バンク中の複数の論理ストライプ（たとえば、図１Ｂ中の１２４−１、．．．、１２４−Ｎ）の数は、バンク中の図１Ｂ（たとえば、複数のサブアレイを有する象限）におけるバンクセクション１２３−１、．．．、１２３−Ｎの数に対応することが可能である。論理ストライプは、図３に示される計算コンポーネント３３１のようであるアレイ３３０にローカルな共有されたＩ／Ｏのデータパス中の複数の計算コンポーネントを含むことが可能である。図４に示されるように、アレイのロウから感知されるデータ値は、複数の共有されたＩ／Ｏ線４５５（図４）のデータパスの計算ユニット４６０（図４）中の複数の計算コンポーネントへ複数の共有されたＩ／Ｏ線４５５（図４）を介してカラム選択論理によって平行に移動することが可能である。いくつかの実施形態において、データ量は、複数の共有されたＩ／Ｏ線の少なくとも１０００ビット幅に対応することが可能である。
【００６２】
本明細書に記載されるように、メモリセルのアレイは、コマンドに応答して、ソース位置から宛先位置へ、共有されたＩ／Ｏ線を介してデータを移動させる（たとえば、コピーする、転送する、及び／または移送する）ように構成される、ＤＲＡＭメモリセルの実装を含むことが可能である。さまざまな実施形態において、ソース位置は、第一バンク中にあることが可能であり、宛先位置は、アレイ３３０にローカルな共有されたＩ／Ｏ線４５５（図４）のデータパス中の計算ユニット４６０（図４）中にあることが可能である。
【００６３】
図４に記載されるように、装置は、センスアンプ及び計算コンポーネントの第一の数と関連する特定のロウ（たとえば、図４中の４１９）及びカラムアドレスを含むソース位置から、共有されたＩ／Ｏ線（たとえば、図４中の４５５）へデータを移動させる（たとえば、コピーする、転送する、及び／または移送する）ように構成されることが可能である。加えて、装置は、共有されたＩ／Ｏ線４５５（図４）のデータパス中の計算ユニット４６０（図４）と関連する特定の論理ストライプを含む、宛先位置へデータを移動させるように構成されることが可能である。読者は、各共有されたＩ／Ｏ線４５５（図４）が、相補的な１対の共有されたＩ／Ｏ線（たとえば、図４中の、共有されたＩ／Ｏ線、及び共有されたＩ／Ｏ線＊）を実際に含むことが可能であることを理解するであろう。本明細書に記載される、いくつかの実施形態において、２０４８個の共有されたＩ／Ｏ線（たとえば、共有されたＩ／Ｏ線の相補対）は、２０４８ビット幅の共有されたＩ／Ｏ線として構成されることが可能である。本明細書に記載される、いくつかの実施形態において、１０２４個の共有されたＩ／Ｏ線（たとえば、共有されたＩ／Ｏ線の相補対）は、１０２４ビット幅の共有されたＩ／Ｏ線として構成されることが可能である。
【００６４】
図４は、本開示の幾つかの実施形態に従う、メモリデバイスにおけるデータの移動についての回路を示す概略図である。図４は、それぞれ１対の相補的に共有されたＩ／Ｏ線４５５（たとえば、共有されたＩ／Ｏ線、及び共有されたＩ／Ｏ線＊）にそれぞれ結合される、８個のセンスアンプ（たとえば、４０６−０、４０６−１、．．．、４０６−７にそれぞれ示されるセンスアンプ０、１、．．．、７）を示す。また、図４は、それぞれパスゲート４０７−１及び４０７−２、ならびにデジット線４０５−１及び４０５−２を介してそれぞれセンスアンプ（たとえば、４０６−０でセンスアンプ０について示されるように）にそれぞれ結合される、８個の計算コンポーネント（たとえば、４３１−０、４３１−１、．．．、４３１−７に示される計算コンポーネント０、１、．．．、７）を示す。たとえば、パスゲートは、図３に示されるように接続されることが可能であり、動作選択信号、Ｐａｓｓによって制御されることが可能である。たとえば、選択論理の出力は、パスゲート４０７−１及び４０７−２、ならびにデジット線４０５−１及び４０５−２のゲートに結合されることが可能である。センスアンプ及び計算コンポーネントの対応する対は、４５０−０、４５０−１、．．．、４５０−７に示されるセンシング回路の形成に寄与することが可能である。
【００６５】
１対の相補的なデジット線４０５−１及び４０５−２上に存在するデータ値は、図３に関連して記載されるような、計算コンポーネント４３１−０中へロードされることが可能である。たとえば、パスゲート４０７−１及び４０７−２を有効にするときに、１対の相補的なデジット線４０５−１及び４０５−２上のデータ値は、センスアンプから計算コンポーネント（たとえば、４０６−０から４３１−０）へ渡されることが可能である。１対の相補的なデジット線４０５−１及び４０５−２上のデータ値は、センスアンプが起動するときにセンスアンプ４０６−０に格納されるデータ値であることが可能である。
【００６６】
図４中のセンスアンプ４０６−０、４０６−１、．．．、４０６−７は、図３に示されるセンスアンプ３０６にそれぞれ対応することが可能である。図４に示される計算コンポーネント４３１−０、４３１−１、．．．、４３１−７は、図３に示される計算コンポーネント３３１にそれぞれ対応することが可能である。１つのセンスアンプの１つの計算コンポーネントとの組み合わせは、共有されたＩ／Ｏ線４５５のデータパス中の幾つかの論理ストライプによって共有される、共有されたＩ／Ｏ線４５５に結合されるＤＲＡＭメモリサブアレイ４２５の一部のセンシング回路（たとえば、４５０−０、４５０−１、．．．、４５０−７）に寄与することが可能である。
【００６７】
図４に示される実施形態の構成は、明確さの目的のために示され、これらの構成に限定されない。たとえば、計算コンポーネント４３１−０、４３１−１、．．．、４３１−７、及び共有されたＩ／Ｏ線４５５との組み合わせでセンスアンプ４０６−０、４０６−１、．．．、４０６−７について図４に示される構成は、メモリセル（示されない）のカラム４２２より上に形成されるセンシング回路の計算コンポーネント４３１−０、４３１−１、．．．、４３１−７とのセンスアンプ４０６−０、４０６−１、．．．、４０６−７の半分の組み合わせ、及びメモリセルのカラム４２２より下に形成される半分に限定されない。そして、共有されたＩ／Ｏ線に結合するように構成されるセンシング回路を形成する計算コンポーネントとのセンスアンプのこれらのような組み合わせの数も、８個に限定されない。加えて、共有されたＩ／Ｏ線４５５の構成は、２セットの相補的なデジット線４０５−１及び４０５−２のそれぞれに別々に結合するために２つに分割されることに限定されず、そして、共有されたＩ／Ｏ線４５５の位置決めも、センシング回路を形成するセンスアンプ及び計算コンポーネントの組み合わせの中央にあることに限定されない（たとえば、むしろ、センスアンプ及び計算コンポーネントの組み合わせのいずれか一方の端部にあってもよい）。
【００６８】
また、図４に示される回路は、サブアレイ４２５の特定のカラム４２２、それらと関連する相補的なデジット線４０５−１及び４０５−２、ならびに共有されたＩ／Ｏ線４５５（たとえば、図１Ａ〜図１Ｂに示されるコントローラ１４０によって指示されるように）に関するデータ移動動作を実施するように構成されるカラム選択回路４５８−１及び４５８−２を示す。たとえば、カラム選択回路４５８−１は、カラム０（４３２−０）、カラム２、カラム４、及びカラム６などの、対応するカラムと結合するように構成される選択線０、２、４、及び６を有する。カラム選択回路４５８−２は、カラム１、カラム３、カラム５、及びカラム７などの、対応するカラムと結合するように構成される選択線１、３、５、及び７を有する。図４と関連して記載されるカラム選択回路４５８は、さまざまな実施形態において、たとえば、八（８）ウェイのマルチプレクサ、十六（１６）ウェイのマルチプレクサなどの、マルチプレクサによって機能的に具現化され、またこれらのマルチプレクサに含まれる、少なくとも一部を表すことが可能である。
【００６９】
コントローラ１４０は、カラム選択回路４５８に結合され、センスアンプ、計算コンポーネントに格納されるデータ値にアクセスする、及び／または１対の相補的なデジット線（たとえば、選択トランジスタ４５９−１及び４５９−２が選択線０からの信号を介して起動するときに４０５−１及び４０５−２）を提示するように、選択線（たとえば、選択線０）を制御することが可能である。選択トランジスタ４５９−１及び４５９−２（たとえば、コントローラ１４０によって指示されるように）を起動させることにより、カラム０（４２２−０）のセンスアンプ４０６−０、計算コンポーネント４３１−０、及び／または相補的なデジット線４０５−１及び４０５−２を結合し、デジット線０及びデジット線０＊上のデータ値を共有されたＩ／Ｏ線４５５へ移動させることが可能である。たとえば、移動したデータ値は、センスアンプ４０６−０及び／または計算コンポーネント４３１−０に格納された（キャッシュされた）特定のロウ４１９からのデータ値であることができる。カラム０から７のそれぞれからのデータ値は、適切な選択トランジスタを起動させるコントローラ１４０によって同様に選択されることが可能である。
【００７０】
さらに、アンプ及び／または計算コンポーネントによって格納されたデータ値が、共有されたＩ／Ｏ線４５５へ移動する（たとえば、この線上に置く、及び／またはこの線へ転送される）ことが可能であるように、選択トランジスタ（たとえば、選択トランジスタ４５９−１及び４５９−２）を有効にする（たとえば、起動させる）ことにより、特定のセンスアンプ及び／または計算コンポーネント（たとえば、それぞれ４０６−０及び／または４３１−０）が、共有されたＩ／Ｏ線４５５と結合されることを可能にすることができる。いくつかの実施形態において、一度に１つのカラム（たとえば、カラム４２２−０）を選択し、特定の共有されたＩ／Ｏ線４５５に結合させ、格納されたデータ値を移動させる（たとえば、コピーする、転送する、及び／または移送する）。図４の例示的な構成において、共有されたＩ／Ｏ線４５５は、共有された、差動Ｉ／Ｏ線対（たとえば、共有されたＩ／Ｏ線、及び共有されたＩ／Ｏ線＊）として図示される。したがって、カラム０（４２２−０）の選択は、２つのデータ値（たとえば、０及び／または１の値を有する２ビット）をロウ（たとえば、ロウ４１９）からもたらすこと、及び／または相補的なデジット線４０５−１及び４０５−２と関連するセンスアンプ及び／または計算コンポーネントに格納されるように生じることが可能である。これらのデータ値は、共有された差動Ｉ／Ｏ線４５５のそれぞれの共有された差動Ｉ／Ｏ対（たとえば、共有されたＩ／Ｏ、及び共有されたＩ／Ｏ＊）に平行に入力されることが可能である。
【００７１】
図５は、本開示の幾つかの実施形態に従う、メモリデバイスへのコントローラの実施例を示すブロック図である。いくつかの実施態様において、ブロック図は、図１Ａ〜図２におけるメモリデバイス１２０などのＰＩＭ対応デバイスの１つの実施例の一部をより詳細に提供する。図５の実施例において、コントローラ５４０−１、．．．、５４０−７（一般的にコントローラ５４０と称される）は、ＰＩＭ対応デバイス５２０への各バンク５２１−１、．．．、５２１−７（一般的に５２１と称される）と関連することができる。８個のバンクが、図５の実施例に示される。しかしながら、実施形態は、この例示的な数に限定されない。コントローラ５４０は、図１Ａに示されるコントローラ１４０を表すことができる。各バンクは、メモリセル（示されない）の１つ以上のアレイを含むことができる。たとえば、各バンクは、図１Ａにおけるアレイ１３０などの１つ以上のアレイを含むことができ、図１Ａに示される復号器、他の回路及びレジスタを含むことが可能である。図５に示される例示的なＰＩＭ対応デバイス５２０において、コントローラ５４０−１、．．．、５４０−７は、メモリデバイス５２０の１つ以上のメモリバンク５２１上のコントローラ５４０の部分として、制御論理５３１−１、．．．、５３１−７、シーケンサ５３２−１、．．．、５３２−７、及びタイミング回路５３３−１、．．．、５３３−７を有するように示される。ＰＩＭ対応デバイス５２０は、図１Ａに示されるメモリデバイス１２０の部分を表すことができる。
【００７２】
図５の実施例に示されるように、ＰＩＭ対応デバイス５２０は、ＰＩＭ対応デバイス５２０においてデータ、アドレス、制御信号、及び／またはコマンドを受信する、高速インタフェース（ＨＳＩ）５４１を含むことができる。さまざまな実施形態において、ＨＳＩ５４１は、ＰＩＭ対応デバイス５２０と関連するバンクアービタ５４５に結合されることができる。ＨＳＩ５４１は、図１Ａ中のように、ホスト、たとえば、１１０からコマンド及び／またはデータを受信するように構成されることができる。図５の実施例に示されるように、バンクアービタ５４５は、複数のバンク５２１−１、．．．、５２１−７に結合されることができる。
【００７３】
図５に示される実施例において、制御論理５３１−１、．．．、５３１−７は、各バンク５２１−１、．．．、５２１−７の部分である、メモリセルのアレイ、たとえば、図１Ａにおけるアレイ１３０としてのアレイからマシンインストラクション、たとえば、マイクロコードインストラクションをフェッチして実行することに応答可能なマイクロコード化されたエンジンの形式にあることができる。また、シーケンサ５３２−１、．．．、５３２−７は、マイクロコード化されたエンジンの形式にあることができる。代替に、制御論理５３１−１、．．．、５３１−７は、超長命令語（ＶＬＩＷ）タイプの処理リソースの形式にあることができ、シーケンサ５３２−１、．．．、５３２−７、及びタイミング回路５３３−１、．．．、５３３−７は、ステートマシン及びトランジスタ回路の形式にあることができる。
【００７４】
制御論理５３１−１、．．．、５３１−７は、シーケンサ５３２−１、．．．、５３２−７によって実行される関数呼び出し、たとえば、マイクロコード関数呼び出し（ｕＣＯＤＥ）にマイクロコードインストラクションを復号することができる。これらのマイクロコード関数呼び出しは、シーケンサ５３２−１、．．．、５３２−７が受信して実行する演算であり、図１Ａにおけるセンシング回路１５０などのセンシング回路を使用して、または計算コンポーネントを使用して、ＰＩＭデバイス５２０に特定の論理演算を実行させることが可能である。タイミング回路５３３−１、．．．、５３３−７は、論理演算のパフォーマンスを調整するタイミングを提供し、図１Ａにおけるアレイ１３０などのアレイへ競合のないアクセスを提供することを担うことができる。
【００７５】
図１Ａに関連して記載されるように、コントローラ５４０−１、．．．、５４０−７は、図５に５５５−１、５５５−７として示される制御線及びデータパスを介して、メモリセルのアレイと関連する、キャッシュ、バッファ、センスアンプ、拡張されたロウアドレス（ＸＲＡ）ラッチ、及び／またはレジスタを含む、センシング回路１５０、計算ユニット、及び／または追加の論理回路１７０に結合されることができる。このようなものとして、図１Ａに示されるセンシング回路１５０、計算ユニット、及び論理１７０は、図５において５５５−１、．．．、５５５−７として示される共有されたＩ／Ｏ線を使用して、メモリセル１３０のアレイに関連付けられることが可能である。コントローラ５４０−１、．．．、５４０−７は、読み出し、書き込み、コピー、及び／または消去動作などのようなアレイについて通常のＤＲＡＭ動作を制御することができる。しかしながら、加えて、マイクロコードインストラクションが制御論理５３１−１、．．．、５３１−７によって取得され実行され、そしてマイクロコード関数呼び出しがシーケンサ５３２−１、．．．、５３２−７によって受信されて実行され、通常のＤＲＡＭ読み出し及び書き込み動作と異なる、たとえば、これらの動作よりさらに複雑である、加算、乗算、またはより具体的な実施例として、ＡＮＤ、ＯＲ、ＸＯＲなどのブール演算などのような、追加の論理演算を、図１Ａに示されるセンシング回路１５０及び／または計算ユニットに実行させる。したがって、このＰＩＭ対応デバイス５２０の実施例において、マイクロコードインストラクション実行及び論理演算は、ＰＩＭ対応デバイス５２０のバンク５２１−１、．．．、５２１−７上で実行されることが可能である。
【００７６】
実施形態に従い、制御論理５３１−１、．．．、５３１−７、シーケンサ５３２−１、．．．、５３２−７、及びタイミング回路５３３−１、．．．、５３３−７は、共有されたＩ／Ｏ線のデータパス中の計算ユニットに含む、メモリデバイス５２０上で、たとえば、バンク５２１−１、．．．、５２１−７上で、ＤＲＡＭアレイについての演算周期のシーケンスを生成するように、及び／または演算、たとえば、論理演算の実行を指示するように動作することが可能である。ＰＩＭ対応デバイス５２０の実施例において、各シーケンスは、特定の機能を合わせて達成する、ブール論理演算ＡＮＤ、ＯＲ、ＸＯＲなどのような、演算を実行するように設計されることができる。たとえば、演算シーケンスは、複数のビット総和を計算するための一（１）ビット加算についての論理演算を繰り返し実行することができる。各演算シーケンスは、タイミング回路５３３−１、．．．、５３３−７に結合され、図１Ａに示される、メモリセル１３０のアレイ、たとえば、ＤＲＡＭアレイと関連する、センシング回路１５０、計算ユニット、及び／または追加の論理回路１７０に関するタイミング調整を提供する、先入れ／先出し（ＦＩＦＯ）バッファに供給されることができる。
【００７７】
図５に示される例示的なＰＩＭ対応デバイス５２０において、タイミング回路５３３−１、．．．、５３３−７は、タイミングを提供することが可能であり、四（４）個のＦＩＦＯキューからアイレへ競合のないアクセスを提供することが可能であり、及び／または計算ユニットにおける動作へのタイミングを調整することが可能である。この実施例において、１つのＦＩＦＯキューは、アレイ計算をサポートすることができ、あるものは、インストラクションフェッチのために、あるものは、マイクロコード（たとえば、Ｕｃｏｄｅ）インストラクションフェッチのために、そしてあるものは、ＤＲＡＭ  Ｉ／Ｏのためにあることができる。制御論理５３１−１、．．．、５３１−７、及びシーケンサ５３２−１、．．．、５３２−７の両方は、ＦＩＦＯインタフェースを介してバンクアービタ５４５へルーティングして返す、ステータス情報を生成することが可能である。バンクアービタ５４５は、このステータスデータを集約し、それをインタフェース（ＨＳＩ）５４１を介してホスト１１０へ報告して返すことができる。
【００７８】
図６は、本開示の幾つかの実施形態に従う、ＸＯＲ論理演算を実行することができる計算ユニット回路を示す概略図である。図６は、１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２に結合されるセンスアンプ６０６、論理演算選択論理６１３、ならびにセンスアンプ６０６にパスゲート６０７−１及び６０７−２を介して結合される計算コンポーネント６３１を示す。図６に示されるセンスアンプ６０６は、センシング回路３５０と関連するように図３に示されたセンスアンプ３０６、たとえば一次ラッチ、と同様に機能することが可能である。図６に示される計算コンポーネント６３１は、センシング回路３５０と関連するように図３に示された計算コンポーネント３３１、たとえば二次ラッチ、と同様に機能することが可能である。図６に示される論理演算選択論理６１３は、センシング回路３５０と関連する図３に示された論理演算選択論理３１３と同様に機能することが可能である。パスゲート６０７−１及び６０７−２のゲートは、論理演算選択論理６１３信号（たとえば、Ｐａｓｓ）によって制御されることが可能である。たとえば、論理演算選択論理６１３の出力は、パスゲート６０７−１及び６０７−２のゲートに結合されることが可能である。さらに、計算コンポーネント６３１は、データ値を左方向及び右方向にシフトさせるように構成されるロード可能なシフトレジスタを備えることが可能である。
【００７９】
図６に示される実施形態に従い、計算コンポーネント６３１は、データ値を左方向及び右方向にシフトさせるように構成されるロード可能なシフトレジスタのそれぞれのステージ（たとえば、シフトセル）を備えることが可能である。たとえば、図６に示されるように、シフトレジスタの各計算コンポーネント６３１（たとえば、ステージ）は、１対の右方向シフトトランジスタ６８１及び６８６、１対の左方向シフトトランジスタ６８９及び６９０、ならびに１対のインバータ６８７及び６８８を備える。信号ＰＨＡＳＥ  １Ｒ、ＰＨＡＳＥ  ２Ｒ、ＰＨＡＳＥ  １Ｌ、及びＰＨＡＳＥ  ２Ｌを、それぞれの制御線６８２、６８３、６９１及び６９２に印加し、本明細書に記載される実施形態に従い、論理演算を実行すること、及び／またはデータをシフトさせることと関連して、対応する計算コンポーネント６３１のラッチ上でフィードバックを有効にする／無効にすることが可能である。
【００８０】
図６に示される計算ユニット回路は、ＩＳＯ、ＴＦ、ＴＴ、ＦＴ、及びＦＦを含む、幾つかの論理選択制御入力制御線に結合される演算選択論理６１３を示す。複数の論理演算からの１つの論理演算の選択は、アサートされるＩＳＯ制御信号を介して絶縁トランジスタ６５０−１及び６５０−２を有効にするときに、１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２上に存在するデータ値と同様に、論理選択制御入力線上で論理選択制御信号の状態から決定される。
【００８１】
さまざまな実施形態に従い、演算選択論理６１３は、スワップトランジスタ６４２のゲートとＴＦ信号制御線との間に結合される論理選択トランジスタ６６２、パスゲート６０７−１及び６０７−２のゲートとＴＴ信号制御線との間に結合される論理選択トランジスタ６５２、パスゲート６０７−１及び６０７−２のゲートとＦＴ信号制御線との間に結合される論理選択トランジスタ６５４、ならびにスワップトランジスタ６４２のゲートとＦＦ信号制御線との間に結合される論理選択トランジスタ６６４の４個の論理選択トランジスタを含むことが可能である。論理選択トランジスタ６６２及び６５２のゲートは、絶縁トランジスタ６５０−１（ＩＳＯ信号制御線に結合されるゲートを有する）を通して真のセンス線に結合される。論理選択トランジスタ６６４及び６５４のゲートは、絶縁トランジスタ６５０−２（ＩＳＯ信号制御線に結合されるゲートをも有する）を通して相補的なセンス線に結合される。
【００８２】
１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２上に存在するデータ値は、パスゲート６０７−１及び６０７−２を介して計算コンポーネント６３１中へロードされることが可能である。計算コンポーネント６３１は、ロード可能なシフトレジスタを備えることが可能である。パスゲート６０７−１及び６０７−２がＯＰＥＮであるときに、１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２上のデータ値（「Ａ」）を計算コンポーネント６３１へ渡すことにより、ロード可能なシフトレジスタ中へロードする。センスアンプが起動するときに、１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２上のデータ値は、センスアンプ６０６に格納されるデータ値（「Ｂ」）であることが可能である。この実施例において、論理演算選択論理信号Ｐａｓｓは、パスゲート６０７−１及び６０７−２をＯＰＥＮするためにｈｉｇｈである。
【００８３】
ＩＳＯ、ＴＦ、ＴＴ、ＦＴ、及びＦＦ制御信号は、センスアンプ６０６中のデータ値（「Ｂ」）、及び計算コンポーネント６３１中のデータ値（「Ａ」）に基づき実行すべき論理関数を選択するように動作させることが可能である。特に、ＩＳＯ、ＴＦ、ＴＴ、ＦＴ、及びＦＦ制御信号は、１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２上に存在するデータ値から独立して実行する論理関数を選択するように構成される（実行された論理演算の結果は１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２上に存在するデータ値に依存していることが可能であるが）。たとえば、１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２上に存在するデータ値がパスゲート６０７−１及び６０７−２のゲートを動作させる論理を通して渡されないため、ＩＳＯ、ＴＦ、ＴＴ、ＦＴ、及びＦＦ制御信号は、直接に実行する論理演算を選択する。
【００８４】
加えて、図６は、センスアンプ６０６と計算コンポーネント６３１との間に１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２の方向を交換するように構成されるスワップトランジスタ６４２を示す。スワップトランジスタ６４２がＯＰＥＮであるときに、スワップトランジスタ６４２のセンスアンプ６０６側上の１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２上のデータ値は、スワップトランジスタ６４２の計算コンポーネント６３１側上に１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２に対向して結合されることにより、計算コンポーネント６３１のロード可能なシフトレジスタ中へロードされる。
【００８５】
ＩＳＯ制御信号線が起動し、かつ、真の共有されたＩ／Ｏ線上のデータ値が「１」でありながらＴＴ制御信号が起動させる（たとえば、ｈｉｇｈにする）か、相補的な共有されたＩ／Ｏ線上のデータ値が「１」でありながらＦＴ制御信号が起動させる（たとえば、ｈｉｇｈにする）かのいずれか一方のときに、論理演算選択論理６１３の信号Ｐａｓｓは、起動させて（たとえば、ｈｉｇｈにして）、パスゲート６０７−１及び６０７−２をＯＰＥＮする（たとえば、導通する）ことが可能である。
【００８６】
「１」である真の共有されたＩ／Ｏ線上のデータ値は、論理選択トランジスタ６５２及び６６２をＯＰＥＮする。「１」である相補的な共有されたＩ／Ｏ線上のデータ値は、論理選択トランジスタ６５４及び６６４をＯＰＥＮする。ＩＳＯ制御信号、若しくは対応する共有されたＩ／Ｏ線（たとえば、特定の論理選択トランジスタのゲートを結合する、共有されたＩ／Ｏ線）上のそれぞれＴＴ／ＦＴ制御信号、またはデータ値のいずれか一方がｈｉｇｈではない場合、特定の論理選択トランジスタによって、パスゲート６０７−１及び６０７−２をＯＰＥＮしない。
【００８７】
ＩＳＯ制御信号線が起動し、かつ、真の共有されたＩ／Ｏ線上のデータ値が「１」でありながらＴＦ制御信号が起動させる（たとえば、ｈｉｇｈにする）か、相補的な共有されたＩ／Ｏ線上のデータ値が「１」でありながらＦＦ制御信号が起動させる（たとえば、ｈｉｇｈにする）かのいずれか一方であるときに、論理演算選択論理信号Ｐａｓｓ＊が起動させ（たとえば、ｈｉｇｈにし）、スワップトランジスタ６４２をＯＰＥＮする（たとえば、導通する）ことが可能である。対応する共有されたＩ／Ｏ線（たとえば、特定の論理選択トランジスタのゲートを結合する、共有されたＩ／Ｏ線）上のそれぞれの制御信号またはデータ値のいずれか一方がｈｉｇｈではない場合、特定の論理選択トランジスタによって、スワップトランジスタ６４２をＯＰＥＮしない。
【００８８】
Ｐａｓｓ＊制御信号は、必ずしもＰａｓｓ制御信号に対して相補的ではない。Ｐａｓｓ及びＰａｓｓ＊制御信号について、同時に、両方を起動する、または両方を停止することが可能である。しかしながら、同時にＰａｓｓ及びＰａｓｓ＊の両方の制御信号を起動することは、１対の相補的な共有されたＩ／Ｏ線を互いに短絡させることがあり、これは、回避されるべき破壊構成であり得る。
【００８９】
図６に示される計算ユニット回路は、複数の論理演算のうちの１つを選択して、４個の論理選択制御信号（たとえば、論理演算選択は１対の相補的な共有されたＩ／Ｏ線上に存在するデータ値に依存しない）から直接に実行するように構成される。論理選択制御信号のいくつかの組み合わせは、パスゲート６０７−１及び６０７−２、ならびにスワップトランジスタ６４２の両方を同時にＯＰＥＮさせることが可能であり、１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２を互いに短絡させる。本開示の幾つかの実施形態に従い、図６に示される計算ユニット回路によって実装されることが可能である論理演算は、図７に示される論理テーブルに要約される論理演算であることが可能である。
【００９０】
図７は、本開示の幾つかの実施形態に従う、図６に示される複数の共有されたＩ／Ｏ線６５５−１及び６５５−２のデータパス中の計算ユニット回路によって実装される選択可能な論理演算結果を図示する論理テーブルである。４個の論理選択制御信号（たとえば、ＴＦ、ＴＴ、ＦＴ、及びＦＦ）を、相補的な共有されたＩ／Ｏ線上に存在する特定のデータ値と組み合わせて使用し、複数の論理演算のうちの１つを選択し、計算ユニット回路の、センスアンプ６０６、たとえば一次ラッチ、及び計算コンポーネント６３１、たとえば二次ラッチ、に格納された開始データ値（「Ａ」及び「Ｂ」）を含むように実行することが可能である。４個の制御信号は、相補的な共有されたＩ／Ｏ線上に存在する特定のデータ値と組み合わせて、起動する前／後に計算コンポーネント６３１及び／またはセンスアンプ６０６中のデータ値に順に影響する、パスゲート６０７−１及び６０７−２、ならびにスワップトランジスタ６４２の連続性を制御する。スワップトランジスタ６４２の連続性を選択可能に制御する能力は、とりわけ、逆のデータ値（たとえば、逆のオペランド、及び／または逆の結果）を含む論理演算を実行することを促進する。
【００９１】
図７に示される論理テーブル７−１は、７４４でカラムＡに示される計算コンポーネント６３１、たとえば二次ラッチ、に格納された開始データ値と、７４５でカラムＢに示されるセンスアンプ６０６、たとえば一次ラッチ、に格納された開始データ値とを示す。論理テーブル７−１中の他の３つのカラムの項目は、図６に示されるパスゲート６０７−１及び６０７−２、ならびにスワップトランジスタ６４２の連続性を指し、これは、１対の相補的な共有されたＩ／Ｏ線６５５−１及び６５５−２上に存在する特定のデータ値と組み合わせて、４個の論理選択制御信号（たとえば、ＴＦ、ＴＴ、ＦＴ、及びＦＦ）の状態に依存する、ＯＰＥＮまたはＣＬＯＳＥＤであるようにそれぞれ制御されることが可能である。「Ｎｏｔ  Ｏｐｅｎ」カラムは、非導通状態にある、パスゲート６０７−１及び６０７−２、ならびにスワップトランジスタ６４２の両方に対応し、「Ｏｐｅｎ  Ｔｒｕｅ」は、導通状態にあるパスゲート６０７−１及び６０７−２に対応し、「Ｏｐｅｎ  Ｉｎｖｅｒｔ」は、導通状態にあるスワップトランジスタ６４２に対応する。これが合わせて短絡するセンス線をもたらすため、導通状態にあるパスゲート６０７−１及び６０７−２、ならびにスワップトランジスタ６４２の両方に対応する構成は、論理テーブル７−１に反映されない。
【００９２】
パスゲート６０７−１及び６０７−２、ならびにスワップトランジスタ６４２の連続性の選択的制御を介して、論理テーブル７−１の上部の３つのカラムのそれぞれは、論理テーブル７−１の下部の３カラムのそれぞれと組み合わされ、７７５で示されるさまざまな接続するパスによって示されるように、９個の異なる論理演算に対応する、３×３＝９の異なる結果の組み合わせを提供することが可能である。計算ユニット回路によって実行されることが可能である、９個の異なる選択可能な論理演算は、ＸＯＲ論理演算を含む、図７に示される論理テーブル７−２に要約される。
【００９３】
図７に示される論理テーブル７−２のカラムは、論理選択制御信号の状態を含む項目７８０を示す。たとえば、第一論理選択制御信号の状態は、テーブル７−２のロウ７７６に提供され、第二論理選択制御信号の状態は、テーブル７−２のロウ７７７に提供され、第三論理選択制御信号の状態は、テーブル７−２のロウ７７８に提供され、第四論理選択制御信号の状態は、テーブル７−２のロウ７７９に提供される。これらの結果に対応する特定の論理演算は、テーブル７−２のロウ７４７に要約される。
【００９４】
センシング回路、センスアンプ、計算コンポーネント、論理ストライプ、共有されたＩ／Ｏ線、カラム選択回路、マルチプレクサ、ラッチコンポーネント、ラッチストライプ、及び／またはラッチなどのさまざまな組み合わせ及び構成を含む例示的な実施形態は、本明細書に示され、記載されているが、本開示の実施形態は、本明細書において明示的に列挙される、これらの組み合わせに限定されない。本明細書に開示される、センシング回路、センスアンプ、計算コンポーネント、論理ストライプ、共有されたＩ／Ｏ線、カラム選択回路、マルチプレクサ、ラッチコンポーネント、ラッチストライプ、及び／またはラッチなどの、他の組み合わせ及び構成は、本開示の範囲内に明白に含まれる。
【００９５】
特定の実施形態が本明細書に図示され記載されているが、当業者は、同一の結果を得るために計算される配置が示される特定の実施形態に対して置換されることが可能であることを理解するであろう。本開示は、本開示の１つ以上の実施形態の適合または変形にわたることが意図される。上記の説明が限定的なものではなく、例示的な方式において行われていることを理解するであろう。上記の実施形態の組み合わせ、及び本明細書に具体的に記載されていない他の実施形態は、上記の説明を再検討すると、当業者に明らかになるであろう。本開示の１つ以上の実施形態の範囲は、上記の構造及びプロセスが使用される他の用途を含む。したがって、本開示の１つ以上の実施形態の範囲は、これらのような請求項が権利を与えられる均等物の全範囲に加えて、添付の特許請求の範囲を参照して決定される。
【００９６】
前述の発明を実施するための形態において、いくつかの特徴は、本開示を合理化する目的のために単一の実施形態にまとめられる。開示のこの方法は、本開示の開示された実施形態が各請求項に明白に列挙されるより多くの特徴を使用しなければならない意図を反映すると解釈されてはならない。むしろ、下記の特許請求の範囲が反映する場合、本発明の主題は、単一の開示された実施形態のすべての特徴より少ない特徴にある。したがって、下記の特許請求の範囲は、各請求項が別々の実施形態としてそれ自体を主張しながら、発明を実施するための形態に本明細書により援用される。
【図１Ａ】
0006931712.tif 000002
【図１Ｂ】
0006931712.tif 000003
【図２】
0006931712.tif 000004
【図３】
0006931712.tif 000005
【図４】
0006931712.tif 000006
【図５】
0006931712.tif 000007
【図６】
0006931712.tif 000008
【図７】
0006931712.tif 000009