JP6791522B2 - インデータパス計算動作のための装置及び方法 - Google Patents

インデータパス計算動作のための装置及び方法 Download PDF

Info

Publication number
JP6791522B2
JP6791522B2 JP2019551436A JP2019551436A JP6791522B2 JP 6791522 B2 JP6791522 B2 JP 6791522B2 JP 2019551436 A JP2019551436 A JP 2019551436A JP 2019551436 A JP2019551436 A JP 2019551436A JP 6791522 B2 JP6791522 B2 JP 6791522B2
Authority
JP
Japan
Prior art keywords
logical
row
data
shared
computational
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019551436A
Other languages
English (en)
Other versions
JP2020512653A (ja
Inventor
ヴィ. リー,ペリー
ヴィ. リー,ペリー
Original Assignee
マイクロン テクノロジー,インク.
マイクロン テクノロジー,インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マイクロン テクノロジー,インク., マイクロン テクノロジー,インク. filed Critical マイクロン テクノロジー,インク.
Publication of JP2020512653A publication Critical patent/JP2020512653A/ja
Application granted granted Critical
Publication of JP6791522B2 publication Critical patent/JP6791522B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Description

本開示は、一般的に、半導体メモリ及び方法に関し、より詳細には、インデータパス計算動作のための装置及び方法に関する。
メモリデバイスは、典型的に、コンピュータまたは他の電子システムの内部半導体集積回路として提供される。揮発性及び不揮発性メモリを含む多くの異なる種類のメモリがある。揮発性メモリは、データ(例えば、ホストデータ、エラーデータ等)を維持するために電力を必要とし得る、揮発性メモリは、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、同期ダイナミックランダムアクセスメモリ(SDRAM)、及び、サイリスタランダムアクセスメモリ(TRAM)等を含む。不揮発性メモリは、電源が入っていない時、記憶されたデータを保持することによって永続的データを提供でき、特に、NANDフラッシュメモリ、NORフラッシュメモリ、及び、相変化ランダムアクセスメモリ(PCRAM)、抵抗ランダムアクセスメモリ(RRAM)等の可変抵抗メモリ、及び、スピントルクトランスファーランダムアクセスメモリ(STT RAM)等の磁気抵抗ランダムアクセスメモリ(MRAM)等を含み得る。
電子システムは、ある数の処理リソース(例えば、1つまたは複数のプロセッサ)を含むことが多く、ある数の処理リソースが、命令を読み出し、及び、実行してよく、実行された命令の結果を適切な位置に記憶してよい。プロセッサは、算術論理演算ユニット(ALU)回路、浮動小数点演算ユニット(FPU)回路、及び、例えば、データ(例えば、1つまたは複数のオペランド)に対して演算を行うことによって命令を実行するために使用できる組み合わせ論理ブロック等、ある数の機能ユニットを含み得る。本明細書で使用される場合、演算は、例えば、AND、OR、NOT、NAND、NOR、及び、XOR等、ブール演算、及び/または、他の演算(例えば、反転、シフト、算術、統計、及び、多くの他の可能な演算)であってよい。例えば、機能ユニット回路を使用して、ある数の演算を介して、加算、減算、乗算、及び、除算等の算術演算をオペランドに対して行ってよい。
電子システムのある数のコンポーネントが、機能ユニット回路に実行のための命令を提供することに関与してよい。命令は、例えば、コントローラ及び/またはホストプロセッサ等の処理リソースによって、実行されてよい。データ(例えば、命令を実行する対象のオペランド)は、機能ユニット回路によってアクセス可能なメモリアレイに記憶されてよい。命令及び/またはデータは、メモリアレイから読み出されてよく、機能ユニット回路がデータに対して命令の実行を開始する前に、順序付け及び/またはバッファリングされてよい。さらに、異なる種類の演算が機能ユニット回路を通して1つまたは複数のクロックサイクルで行われる場合があるので、命令及び/またはデータの中間結果も順序付け及び/またはバッファリングされてよい。1つまたは複数のクロックサイクルで演算を完了するシーケンスは、演算サイクルと呼ばれてよい。演算サイクルの完了に使われる時間は、コンピューティング装置及び/またはシステムの処理及び計算性能、並びに、消費電力という点で費用計算される。
多くの例において、処理リソース(例えば、プロセッサ及び関連する機能ユニット回路)は、メモリアレイの外部にあってよく、データは、処理リソースとメモリアレイとの間のバスを介してアクセスされて、命令セットを実行する。処理性能は、インメモリ処理(PIM:processing−in−memory)デバイスで向上されてよく、イン
メモリ処理デバイスにおいては、処理及び/または論理リソースは、メモリの内部及び/または近くで(例えば、メモリアレイと同じチップ上で直接)実施されてよい。インメモリ処理(PIM)デバイスは、外部との通信を低減または除くことによって、時間を節約し、電力も節約し得る。
本開示の幾つかの実施形態による、メモリデバイスを含むコンピューティングシステムの形態の装置のブロック図である。 本開示の幾つかの実施形態による、アレイのバンク区分にローカルなデータパスに共有入力/出力(I/O)線を有するメモリデバイスを含むコンピューティングシステムの形態の装置の別のブロック図である。 本開示の幾つかの実施形態による、メモリデバイスの回路を含む概略図で、回路は、センスアンプ及び計算コンポーネントを含み、センスアンプ及び計算コンポーネントは、検出回路及び/または論理ストライプに含まれてよい。 本開示の幾つかの実施形態による、アレイのデータパスの複数の共有I/O線の回路を示す概略図である。 本開示の幾つかの実施形態による、アレイにローカルのデータパスの複数の共有I/O線によって、複数の論理ストライプを有する計算ユニットに結合されたアレイの複数の部分を示すブロック図である。 本開示の幾つかの実施形態による、メモリデバイスのコントローラの例を示すブロック図である。 本開示の幾つかの実施形態による、メモリデバイスのコントローラの別の例を示すブロック図で、コントローラは、共有I/O線を用いて、複数の論理ストライプを有する計算ユニットへのデータ値の移動を制御する。 本開示の幾つかの実施形態による、論理ストライプの計算コンポーネントを示す概略図である。 本開示の幾つかの実施形態による、図7に示す計算コンポーネントによって実施される選択可能な論理演算結果を示す論理表である。 本開示の実施形態による、メモリデバイスのデータ値に対する演算を実行するための幾つかのスケジュールポリシーの実施を示す概略図である。 本開示の実施形態による、メモリデバイスのデータ値に対する演算を実行するための幾つかのスケジュールポリシーの実施を示す概略図である。 本開示の実施形態による、メモリデバイスのデータ値に対する演算を実行するための幾つかのスケジュールポリシーの実施を示す概略図である。
本開示は、インデータパス計算動作のための装置及び方法を含む。少なくとも1つの実施形態において、装置は、メモリセルアレイとメモリセルアレイに選択可能に結合された検出回路とを有するメモリデバイスを含む。様々な実施形態において、メモリデバイスは、インメモリ処理(PIM)デバイスであってよく、検出回路は、センスアンプを含んでよい。複数の入力/出力(I/O)線が、アレイに関連付けられたインデータパス計算動作のためのデータパスとして共有される(例えば、検出回路は、メモリセルの列及び/または共有I/O線に選択可能に結合されてよい)。
複数の共有I/O線は、アレイの行の第1のサブ行をデータパスの第1の計算コンポーネントに検出回路を介して選択可能に結合して、第1のデータ値を第1のサブ行から第1の計算コンポーネントに移動する。本明細書で使用される場合、「サブ行」は、所定の数のデータ値を記憶するアレイの行のメモリセルの所定のサブセットを意味する。例えば、行の1つのサブ行は、16,384(16K)のメモリセルを有する行の所定の1024(IK)のメモリセルであってよく、その結果、行は16のサブ行(例えば、428−1
、428−2、...、428−16で示され、図4、及び、本明細書の他の箇所に関連し
て記載される)からなってよい。複数の共有I/O線は、各行の第2のサブ行をデータパスの第2の計算コンポーネントに検出回路を介して選択可能に結合して、第2のデータ値を第2のサブ行から第2の計算コンポーネントに移動する。第2のサブ行から第2の計算コンポーネントに第2のデータ値を移動するのとほぼ同時に、(例えば、コントローラに指示されて)第1の計算コンポーネントを用いて、第1のサブ行からの第1のデータ値に対して演算が行われてよい。
第1及び第2等の序数は、本明細書では、類似の及び/または選択可能に結合されたコンポーネント間(例えば、メモリセルのサブアレイ、データ値及び関連付けられた計算コンポーネント、メモリセルのサブ行及び関連付けられた計算コンポーネント、論理ストライプ及び関連付けられた計算コンポーネント、接続回路及び関連付けられた計算コンポーネント、及び/または、論理ストライプ等)の相関及び/または区別を助けるために使用されており、(例えば、隣の等の語を使用することによって)文脈より明らかに別段の場合を除き、コンポーネント間の特定の順序及び/または関係を示して使用されてはいない。
例えば、メモリアレイの第1の行の第1のサブ行から共有I/O線を介して第1の論理ストライプの第1の計算コンポーネントに第1のデータ値を移動することは、特定の行の特定のサブ行(サブ行のシーケンスの一番目のサブ行であってよいが、必ずしもそうではない)からの特定のデータ値が特定の論理ストライプの特定の計算コンポーネント(それぞれ、計算コンポーネント及び/または論理ストライプのシーケンスの一番目であってよいが、必ずしもそうではない)に移動してよいことを示す意図がある。同様に、第1の行の第2のサブ行(上述の第1のサブ行の隣の次のサブ行であってよいが、必ずしも、サブ行のシーケンスの2番目のサブ行でなくてもよい)からの第2のデータ値の移動は、同じ行の第2のサブ行から特定の値が異なる論理ストライプの特定の計算コンポーネントに移動されてよいことを示す。例えば、第2のデータ値が第2の論理ストライプの第2の計算コンポーネントに移動されるという言及は、このようなコンポーネントの第1として以前言及したものと異なる計算コンポーネント及び/または論理ストライプに第2のデータ値を関連付けるために使用される。従って、第2の計算コンポーネントは、第2の論理ストライプの計算コンポーネントのシーケンスの第1の計算コンポーネントであってよいが、必ずしもそうではなく、及び/または、第2の論理ストライプは、論理ストライプのシーケンスの2番目の論理ストライプであってよいが、必ずしもそうではない。
同様に、本明細書に記載される場合、コントローラが、第1の演算サイクルにおいて、第1のサブ行の複数のデータ値のある数の、第1の論理ストライプの複数の第1の計算コンポーネントの対応する数への(例えば、共有I/O線を介した)第1の並行移動を指示するように構成されることは、コントローラが第1のサブ行の複数のデータ値に対応する特定の数の、第1の論理ストライプの同じ数の計算コンポーネントへの移動を特定の演算サイクルで(例えば、約2〜60ナノ秒(ns)のタイムフレームで)の実行を指示してよいと示すことを意図している。コントローラが、第2の演算サイクルで、第2のサブ行の複数のデータ値のある数の、第2の論理ストライプの複数の第2の計算コンポーネントの対応する数への第2の並行移動を指示するように構成されることは、第2の演算サイクル(次の、例えば、隣の2〜60nsタイムフレームであってよいが、必ずしもそうではない)において、コントローラが、第2のサブ行の複数のデータ値に対応する特定の数の、第2の論理ストライプの同じ数の計算コンポーネントへの移動の実行を指示してよいと示すことを意図している。第2のサブ行の複数のデータ値、及び/または、第2の論理ストライプの第2の計算コンポーネントの特定の数は、第1のサブ行のデータ値、及び/または、第1の論理ストライプの第1の計算コンポーネントの数と同じ数であってよいが、必ずしも同じではない。
(例えば、155で示され、図1B及び本明細書の他の箇所に関連して記載される)共有I/O線は、(例えば、130で示され、図1A及び本明細書の他の箇所に関連して記載される)メモリアレイに関連付けられたデータパスとして働く。共有I/O線は、(例えば、150で示され、図1A及び本明細書の他の箇所に関連して記載される)検出回路を共有I/O線のデータパスの(例えば、231で示され、図2及び本明細書の他の箇所に関連して記載される)計算コンポーネントに結合する。共有I/O線のデータパスに関連付けられた計算コンポーネントは、データパスのピッチに等しく、メモリセルアレイに対する(例えば、205で示され、図2及び本明細書の他の箇所に関連して記載される)デジット線のピッチの関数であるピッチを有する。例えば、計算コンポーネントは、メモリセルアレイに対するデジット線のピッチの整数倍であるピッチを有する。
本明細書で使用される場合、「共有I/O線」は、メモリセルアレイのピッチの関数であるピッチを有するデータパスのアレイにローカルなI/O線を意味することを意図している。共有I/Oは、メモリアレイの(例えば、121−1で示され、図1B及び本明細書の他の箇所に関連して記載される)バンクに位置してよく、アレイの複数の列に多重化されてよい(例えば、DRAMアレイへの相補デジット線)。共有I/Oは、アレイと関連付けられたI/O回路とは異なっており、別である。アレイと関連付けられたI/O回路は、DDR4等のアレイプロトコルに従って、アレイに及びアレイからデータを移動すること、及び/または、(例えば、110で示され、図1A及び本明細書の他の箇所に関連して記載される)ホストと接続して(例えば、120で示され、図1A及び本明細書の他の箇所に関連して記載される)メモリデバイスに及びメモリデバイスからデータを移動することを意図している。
ある実施形態においては、計算コンポーネントは、データの共有I/O線に関連付けられた(例えば、124−1、124−2、...、124−Nで示され、図1B及び本明細書の他の箇所に関連して記載される)論理ストライプにあってよい。アレイは、アレイにローカルなデータパスに対して複数の共有I/O線を有してよく、各論理ストライプは、(例えば、431−1、431−2、...、431−Zで示され、図4及び本明細書の
他の箇所に関連して記載されるように)複数の計算コンポーネントを有してよい。複数の計算コンポーネントは、それぞれ、データパスの複数の共有I/O線の少なくとも1つに関連付けられる。ある実施形態においては、複数の計算コンポーネントのそれぞれのうちの1つが、データパスの複数の共有I/O線の特定の1つに関連付けられてよい。
様々な実施形態において、複数の計算コンポーネントは、それぞれ、データパスの複数の共有I/O線の別の1つにシフトされてよい。例えば、(例えば、319で示され、図3及び本明細書の他の箇所に関連して記載される)行の列及び/またはメモリセルの数(他の可能な構成のうち、例えば、16,384の列及び/またはメモリセル)は、多重化されてよく、それによって、例えば、16のサブ行が、複数の共有I/O線(例えば、1024の個々の共有I/O線)に結合するために、及び、複数の共有I/O線を介して行の連続した複数の列及び/またはメモリセル(図4に示すように、16のサブ行は、それぞれ、1024の隣接した列及び/またはメモリセルを有する)のデータ値の並行移動のために選択することによって取得され、その結果、連続したメモリセルからのデータ値(例えば、1024のデータ値)が、並行に移動されてよい。あるいは、または、さらに、行の列及び/またはメモリセルの数は、例えば、行の16番目の列及び/またはメモリセル毎に、共有I/O線に結合、及び、共有I/O線を介してデータ値を並行移動するために16のサブ行が選択することによって取得されるように、多重化されてよく、その結果、16番目のメモリセル毎からデータ値(例えば、1024のデータ値)が並行に移動されてよい。ある実施形態においては、アレイは、DRAMアレイであってよく、選択されたメモリセルのデータ値を検出及び/または増幅するのに使用される検出回路は、センス
アンプ及び/または計算コンポーネントを含んでよい。
メモリデバイス120は、(例えば、140で示され、図1A及び本明細書の他の箇所に関連して記載される)コントローラを含む。他の機能のうちで、コントローラ140は、アレイのメモリセルの行(例えば、行の選択されたサブ行)からデータパスの複数の共有I/O線の1つに関連付けられた計算コンポーネントへのデータ値の移動を(例えば、コントローラに関連付けられた移動コンポーネント171を介して)指示するように構成されてよい。
以下により詳細に記載するように、実施形態は、ホストシステムが、1つまたは複数のDRAMバンクのある数の位置(例えば、アレイ、サブアレイ、及び/または、サブアレイの行及びサブ行等、サブアレイの一部)をデータの保持(例えば、記憶)及び/または処理に割り当てるのを可能にし得る。ホストシステム及びコントローラは、プログラム命令(例えば、PIMコマンド命令)及びデータの全ブロックに対してアドレス決定を行ってよく、宛先(例えば、標的)バンク内の割り当て位置(例えば、サブアレイ、及び、サブアレイの一部)へのデータ及びコマンドの割り当て、記憶、及び/または、移動(例えば、フロー)を指示(例えば、制御)してよい。DRAMアレイへのデータの書き込み及び/または読み出し、及び/または、コマンドの実行(例えば、本明細書に記載のように、論理ストライプによる演算を行うためのデータ値の移動)は、DRAMデバイスへの通常のDRAM読み出し/書き込みパスを利用してよい。読者は理解されるように、PIMデバイスのDRAM型メモリアレイは、本明細書に提示されたインデータパス計算動作の例に関して論じるが、実施形態は、PIM DRAMの実施態様に制限されない。
本明細書に記載のメモリデバイスは、サブアレイのバンクに対してある数のコントローラ、個々のサブアレイに対してある数のコントローラ、及び/または、ラッチコンポーネントに対してある数のコントローラを使用して(例えば、各コントローラは、シーケンス制御装置、状態機械、マイクロコントローラ、サブプロセッサ、ALU回路、または、何らかの他の種類のコントローラである)、データ(例えば、1つまたは複数のオペランド)に対する演算を行う命令セットを実行してよい。本明細書で使用される場合、演算は、例えば、AND、OR、NOT、NAND、NOR、及び、XORのブール論理演算、及び/または、他の演算(多くの他の可能な演算のうち、例えば、反転、シフト、算術、統計)であってよい。例えば、機能ユニット回路を使用して、ある数の論理演算を介して、加算、減算、乗算、及び、除算等の算術演算をオペランドに対して行ってよい。
本開示は、(例えば、他の種類のメモリアレイのうちDRAMアレイの)同じバンク、同じバンクの同じサブアレイ、及び/または、同じサブアレイの同じ行からのデータ値に対する、例えば、読み出し及び/または書き込み動作の実行とほぼ同時に、(例えば、本明細書に記載のように、計算コンポーネントに移動された時)、インデータパス計算動作(例えば、AND、OR、リフレッシュ、行コピー、シフト、加算、乗算等のPIM演算)をメモリセルに記憶されたデータ値に対して行うことを有効にすることを記載する。例えば、本明細書に記載のように、コントローラ及び/またはホストによって指示されるように、データパスの計算コンポーネントに(例えば、選択された論理ストライプに)前もって移動された同じデータ値に対して、例えば、論理演算を実行するのとほぼ同時に、サブアレイの行のメモリセルのサブ行に記憶されたデータ値に対して移動動作を行ってよい。
従って、アレイで検出されるようにサブ行をアクティブにすると、サブ行のメモリセルに記憶された複数のデータ値(例えば、サブ行全体のデータ値)は、アレイに関連付けられたデータパスの(例えば、460で示され、図4及び本明細書の他の箇所に記載されるように、それぞれが、計算ユニットの論理ストライプ424の少なくとも一部を形成する
)対応する複数の計算コンポーネントに移動(例えば、コピー、転送、及び/または、トランスポート)されてよい。複数の共有I/O線は、データ値をデータパスの複数の計算コンポーネントに結合する。ある実施形態においては、計算ユニットのある数の論理ストライプの複数の計算コンポーネントは、アレイのバンクの各バンク区分に関連付けられてよい。共有I/Oに関連付けられた計算コンポーネントは、アレイにローカルな共有I/Oのデータパスに結合(本明細書に記載のように、例えば、直接または間接に接続)するように構成されてよい。ある実施形態においては、計算コンポーネント431、論理ストライプ424、及び/または、計算ユニット460は、メモリデバイスから離れたホスト110に接続されたデータバスに、及び/または、メモリデバイス上のアレイのあるバンクをアレイの別のバンクに接続するデータバスにさらに結合されてよい。
本開示は、ある実施形態においては、行が検出されると、行のデータ値(例えば、行の16,384(16K)のメモリセル全てからのデータ値)が、移動されて、ラッチコンポーネント(例えば、センスアンプ)に記憶(例えば、キャッシュ)され、さらに、アレイにローカルな共有I/Oのデータパスの計算ユニットの論理ストライプに共有I/O線上を移動されてよいことを記載する。ある実施形態においては、2048(2K)の共有I/O線が、2Kビット幅の共有I/O線として構成されてよい。ある実施形態によると、ソース位置の第1の行から宛先位置の第2の行にデータを移動するサイクルの数は、アレイのメモリセルの行が交差するアレイの列の数を、2Kビット幅の複数の共有I/O線によって割ることによって決定されてよい。例えば、アレイ(例えば、アレイのバンク、バンク区分、または、サブアレイ)は、16Kの列を有してよく、16Kの列は、行の16Kのデータ値に対応してよく、行と交差する2Kビット幅の複数の共有I/O線で割ると、8つのサイクルとなり、各個別のサイクルは、行のデータの各2Kビットの部分の移動に対してほぼ同じ時点(例えば、並行)であって、それによって、8つのサイクルが完了すると、行の16Kのデータビットの全てが移動されている。例えば、ソース位置の検出回路350の複数のセンスアンプ306または複数の計算コンポーネント331(例えば、図3に示す8つのサブセット)のうちの1つのみが、一度に、各共有I/O線355に結合されてよい。16Kの共有I/O線を有する実施形態においては、16Kのデータビットの全てが、並行に移動されてよい。
一例においては、2Kのデータ値は、16Kの列(例えば、デジット線の対)の2Kのセンスアンプから8ウェイ・マルチプレクサによって2Kの共有I/O線を通って一度に(例えば、並行に)計算ユニットの各論理ストライプ(例えば、2Kの計算コンポーネントを有する各論理ストライプ)で(例えば、全体で2Kビットを記憶及び/または処理するために)2Kの計算コンポーネントに多重送信されてよい。ある実施形態においては、計算ユニットは、各論理ストライプに2Kのデータ値を記憶する8つの論理ストライプを有してよく、それによって、2Kの共有I/O線によって8サイクルで移動された16Kのデータ値を各ユニットに記憶できる。別の例においては、1Kのデータ値は、6Kの列の1Kのセンスアンプから16ウェイ・マルチプレクサによって1Kの共有I/O線を通って一度に、計算ユニットの(例えば、各論理ストライプは1Kの計算コンポーネントを有する)論理ストライプで(例えば、全体で1Kビットを記憶及び/または処理するために)1Kの計算コンポーネントに多重送信されてよい。ある実施形態においては、(例えば、460で示され、図4に関連して記載される)計算ユニットは、論理ストライプ毎に1Kのデータ値を記憶する16の論理ストライプを有してよく、それによって、1Kの共有I/O線によって16サイクルで移動された16Kのデータ値を各論理ストライプに記憶できる。例えば、(例えば、424−1、424−2、...、424−Nで示され、図
4に関連して記載される)16の各論理ストライプと、各論理ストライプの(例えば、431−1、432−2、...、432−Zで示され、図4に関連して記載される)IKの
計算コンポーネントとは、(例えば、428−1、428−2、...、424−16で示
され、図4に関連して記載される)サブ行に対応してよく、サブ行から、IKのデータ値
が、各IKの共有I/O線を通って移動(例えば、多重送信)される。
従って、(例えば、アレイにローカルな共有I/Oのデータパスの計算ユニットの論理ストライプに元のデータ値を移動させることによって)データ値を移動させたバンク、サブアレイ、行、及び/または、サブ行のメモリセルは、そこに記憶される他のデータ値に対して演算を行うために利用可能となり得る。様々な実施形態において、各論理ストライプは、別のバンク、サブアレイ、行、及び/または、サブ行から移動された複数のデータ値を記憶するために、計算コンポーネントの数に対応する(例えば、と同じ、または、の整数倍の)数のラッチを含んで、計算コンポーネントに関連付けられたラッチによって記憶されたデータ値に対してある数の演算(例えば、論理演算)の実行を可能にしてよい。
本明細書で使用される場合、データ移動は、例えば、ソース位置から宛先位置へのデータ値のコピー、転送、及び/または、トランスポートを含む包括的な用語である。データは、例えば、サブアレイの検出回路のセンスアンプからアレイにローカルな共有I/O線のデータパスの論理ストライプの計算コンポーネントに移動されてよい。データ値のコピーは、センスアンプに記憶(キャッシュ)されたデータ値が、アレイにローカルな共有I/O線のデータパスの論理ストライプの計算コンポーネントにコピー及び移動され、且つ、行のサブ行に記憶された元のデータ値は変わらないままであってよいことを示してよい。データ値の転送は、センスアンプに記憶(キャッシュ)されたデータ値が、アレイにローカルな共有I/O線のデータパスの論理ストライプの計算コンポーネントにコピー及び移動され、且つ、行のサブ行に記憶された元のデータ値の少なくとも1つが、(本明細書に記載のように、例えば、消去、及び/または、次の書き込み動作によって)変更され得ることを示してよい。データ値のトランスポートは、コピー及び/または転送されたデータ値を(例えば、データ値をソース位置から共有I/O線に置いて、宛先位置にトランスポートすることによって)移動するプロセスを示すように使用されてよい。
インデータパス計算動作のDRAMアーキテクチャの実施態様は、センスアンプ及び計算コンポーネントレベル(例えば、論理ストライプ)での処理を行ってよい。インデータパス計算動作のDRAMアーキテクチャの実施態様は、有限個のメモリセルのみ(例えば、上記の一例で与えられた1Kのメモリセル)を共有I/O線のデータパスの論理ストライプの計算コンポーネントに接続するのを可能にし得る。アレイは、約8K〜約16Kの列(デジット線の対)と、関連付けられたセンスアンプとを含んでよい。ある実施形態においては、例えば、図4に示すように、アレイのバンク区分423は、4つのクワドラントに分割されてよく、各クワドラントは、複数のサブアレイ(例えば、32のサブアレイ)を有してよい。各サブアレイは、複数の行(例えば、512行)を有してよく、16Kの列に結合されてよい。各行は、本明細書に記載のように、16のサブ行を含んでよく、各サブ行は、1Kのメモリセルを有する(例えば、検出回路を介して特定の共有I/O線に結合される1Kをどのメモリセルが構成するかの選択は、多重化によって決定される)。しかしながら、実施形態は、この説明例に限定されない。
ある実施形態においては、計算ユニットの一部としての複数の論理ストライプは、各クワドラントに関連付けられてよい。例えば、共有I/O線のデータパスの計算ユニットの各論理ストライプは、バンクの各クワドラントのサブアレイに関連付けられてよい。従って、上記例においては、アレイにローカルな共有I/O線のデータパスの計算ユニットは、128の論理ストライプ(4クワドラント、クワドラント毎に32のサブアレイのそれぞれに対して1つの論理ストライプ)を有してよい。しかしながら、実施形態は、この説明例に限定されない。(例えば、DRAMアレイのメモリセルの)メモリのバンクは、ある実施形態においては、約1ギガビットのメモリを提供する64Kの行X16Kの列のDRAMを含んでよい。
本開示は、アレイに関連付けられた検出回路から移動(例えば、コピー、転送、及び/または、トランスポート)されたデータ値を記憶(キャッシュ)するセンスアンプとして機能する複数のラッチを含み得る、アレイにローカルな共有I/O線のデータパスの計算コンポーネントを記載する。計算コンポーネントは、アレイにローカルな複数の共有I/O線のデータパスの計算ユニットの複数の論理ストライプにあってよく、複数の論理ストライプのそれぞれが、計算コンポーネントの総数のサブセットを含む。(例えば、図4に関連して示し、記載する)論理ストライプ424−1、...、424−Nの計算コンポー
ネント431−1、...、431−Zは、アレイのバンク121−1にローカルな複数の共有I/O線455のデータパスのピッチに等しいピッチを有してよい。ある実施形態においては、複数の共有I/O線455のデータパスのピッチは、(例えば、図2の205−1及び205−2と、図3の305−1及び305−2で示すような)メモリセルアレイのデジット線のピッチの関数であってよい。計算コンポーネント431−1、...、431−Z、及び/または、論理ストライプ424−1、...、424−Nは、図1A
に示す検出回路150(例えば、検出回路のセンスアンプ206)、及び/または、追加ラッチ170によって、複数の共有I/O線455のデータパスに結合されてよい。
従って、インデータパス計算動作のアーキテクチャは、アレイの行のサブ行に記憶されたデータ値の、アレイにローカルな複数の共有I/O線のデータパスの計算コンポーネント431−1、...、431−Z、及び/または、論理ストライプ424−1、...、
424−Nへの移動(例えば、コピー、転送、及び/または、トランスポート)を容易にし得る。センスアンプを有する検出回路150は、ある実施形態においては、図2に示す計算コンポーネントも含んでよく、アレイのメモリセルの多重化された列から、メモリセルを複数の共有I/O線455のデータパスの計算ユニットの計算コンポーネント431−1、...、431−Z及び/または論理ストライプ424−1、...、424−Nに
結合してよい。このようにして、計算コンポーネント431−1、...、431−Z及び/または論理ストライプ424−1、...、424−Nは、(例えば、358で示し、
図3に関連して記載する)マルチプレクサとして動作する列選択回路と、(図3〜図7に関連して論じる)関連付けられた選択論理回路とを介して、複数の共有I/O線455を通して、列のメモリセルに間接的に結合されてよい。
本明細書に記載されるメモリアレイアーキテクチャは、前述した利点に加えて多くの幾つかの利点を提供し得る。他の動作の実行(例えば、DDR4I/O動作の実行)と並行して、メモリセルに記憶されたデータに対して、例えば、PIM演算を行うことを可能にすることによって、全体としての処理速度を向上させてよい。例えば、PIM演算は、アレイにローカルな共有I/O線455のデータパスの複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ424−1、...、424−Nを有
する計算ユニットで行われてよい。制限ではなく、例として、計算ユニットの複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ424−1、...、424−Nにアレイのサブ行からデータ値がロードされると、アレイの行を開始
(fire)するのに必要とされる60nsの時間の例と比較して、データ値を行に戻す必要が無く、計算動作は、2nsの速さで、計算ユニットで制御され得る。このように、計算コンポーネント431−1、...、431−Z及び/または論理ストライプ、424-1、...、424−Nは、(関連付けられたラッチと共に)、一定の関数(例えば、AND、OR、NOR、XOR、加算、減算、乗算、除算等)を行うために移動されたデータ値を記憶してよく、サブ行の元のデータ値は、行に戻されて保存されてよい、他の箇所に保存されてよい、及び/または、上書きされてよい。図5及び図6に関連してさらに論じると、複数の共有I/O線のデータパスの計算ユニットの計算コンポーネント431−1、...、431−Z及び/または論理ストライプ424−1、...、424−Nの動
作は、バンク121のコントローラ140によって指示されてよい。
本開示の以下の詳細な記載において、詳細な記載の一部をなす添付図面を参照し、記載において、開示の1つまたは複数の実施形態をどのように実践し得るのかを例を挙げて示す。これらの実施形態は、当業者が本開示の実施形態を実践するのを可能にするように十分に詳細に記載される、また、本開示の範囲を逸脱せずに、他の実施形態が利用されてよいこと、また、プロセス、電気的、及び、構造的な変更が行われてよいことは理解されたい。
本明細書で使用される場合、特に、図面における参照番号に関する「X」「Y」「Z」「N」「M」等の指定子は、このように指定された特定のある数の特徴が含まれてよいことを示す。本明細書で使用される専門用語は、特定の実施形態を記載することのみを目的としており、制限を意図してはいないことも理解されたい。本明細書で使用される場合、単数形「a」「an」及び「the」は、文脈から明らかにそうでない場合を除き、単数形及び複数形の両方の指示対象を含むことができる。さらに、「ある数の、幾つかの(a
number of)」、「少なくとも1つ」、及び「1つまたは複数」(例えば、ある数のメモリアレイ)は、1つまたは複数のメモリアレイを指してよく、一方、「複数の」は、このような物が1を超えることを意味する。さらに、「can」及び「may」という単語は、本出願書を通して、許容の意味(すなわち、本明細書に記載の少なくとも一部の実施形態において、可能性がある、及び/または、〜できる)で使用されており、義務的な意味(すなわち、must)ではない。「含む(include)」という語、及び、その派生語は、「含むが、限定されない」を意味する。「結合(couple)」「結合された(coupled)」、及び、「結合する(coupling)」という語は、文脈に応じて、コマンド及び/またはデータへのアクセス、コマンド及び/またはデータの移動(送信)のために、直接または間接に、物理的に接続されることを意味する。「データ」及び「データ値」という語は、本明細書では、交換可能に使用され、文脈に応じて、同じ意味を有してよい。
本明細書に記載するように、複数の共有I/O線455は、各アレイに結合された選択論理回路を介して、複数のサブアレイ、バンク区分、クワドラント、行、サブ行、及び/または、メモリセルの特定の列によって選択可能に共有されてよい。例えば、ある数の列の選択可能な数のサブセット(例えば、列の総数の8、16等の列のサブセット)のそれぞれを多重化するためのセンスアンプ及び選択論理回路を含む、検出回路150及び/または追加ラッチ170は、複数の共有I/O線455のデータパスの計算ユニット460の複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ424−1、...、424−Nにデータ値を移動させるために、複数の共有I/O線4
55のそれぞれに選択可能に結合されてよい。ある実施形態においては、複数の共有I/O線455のそれぞれに選択可能に結合された複数の計算コンポーネント431−1、...、431−Zは、複数の共有I/O線に選択可能に結合された列の数(例えば、IK、2K等)に対応してよい。単数形「a」「an」及び「the」は、本明細書では単数及び複数の指示対象の両方を含み得るので、「共有I/O線(a shared I/O
line)」は、文脈より明らかに別段の場合を除き、「相補共有I/O線対(a pair of complementary shared I/O lines)」を指して使用できる。さらに、「共有I/O線(shared I/O lines)」は、「複数の共有I/O線」の省略形である。
本明細書の図は、最初の数字(単数または複数)が、図面の番号に対応し、残りの数字が、図の要素またはコンポーネントを特定するという番号付け規則に従う。異なる図面間の類似の要素またはコンポーネントは、類似の数字を用いて特定されてよい。例えば、108は、図1Aの要素「08」を指してよく、類似の要素は、図2では208とされてよい。理解されるように、本明細書の様々な実施形態に示す要素は、本開示の幾つかの追加の実施形態を提供するように、追加、交換、及び/または、除かれてよい。さらに、図に
表される要素の釣り合い及び/または相対的縮尺は、本開示の一定の実施形態を示すことを意図しており、限定の意味で捉えるべきではない。
図1Aは、本開示の幾つかの実施形態による、メモリアレイ130を含むメモリデバイス120を含むコンピューティングシステム100の形態の装置のブロック図である。本明細書で使用される場合、メモリデバイス120、コントローラ140、メモリアレイ130、検出回路150、及び/または、ある数の追加ラッチ170も個別に「装置」とみなされてよい。
本明細書で使用される場合、追加ラッチは、アレイのメモリセルのデータ値を検出、結合、及び/または、移動(例えば、読み出し、記憶、キャッシュ)する追加の機能(例えば、アンプ、選択論理回路)であって、図3、図4、及び、図6、図7に示す複数の共有I/O線455のデータパスの計算ユニット460の複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ424−1、...、424−Nとは
異なる追加の機能を意味する。アレイにローカルな複数の共有I/O線155のデータパスの論理ストライプ124−1、...、124−Nは、図1Bに示すように、バンク12
1−1のメモリセルの様々なバンク区分123−1、...、123−Nに関連付けられてよい。バンク121−1は、メモリデバイス120上の複数のバンクの1つであってよい。
図1Aのシステム100は、メモリデバイス120に結合された(例えば、接続された)ホスト110を含む。ホスト110は、様々な他の種類のホストのうち、パーソナルラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、スマートフォン、または、メモリカードリーダ等のホストシステムであってよい。ホスト110は、システムマザーボード及び/またはバックプレーンを含んでよく、ある数の処理リソース(例えば、1つまたは複数のプロセッサ、マイクロプロセッサ、または、何らかの他の種類の制御回路)を含んでよい。システム100は、別個の集積回路を含んでよく、または、ホスト110及びメモリデバイス120の両方が、同じ集積回路上にあってもよい。システム100は、例えば、サーバシステム、及び/または、高性能コンピューティング(HPC)システム、及び/または、それらの一部であってよい。図1Aに示す例は、ノイマン型アーキテクチャを有するシステムを示すが、本開示の実施形態は、ノイマン型でないアーキテクチャで実施されてもよく、これは、ノイマン型アーキテクチャと関連付けられることが多い1つまたは複数のコンポーネント(例えば、CPU、ALU等)を含まなくてよい。
明瞭にするために、システム100は、本開示に特に関連する特徴に焦点を当てるために単純化を行った。メモリアレイ130は、他の種類のアレイのうち、DRAMアレイ、SRAMアレイ、STT RAMアレイ、PCRAMアレイ、TRAMアレイ、RRAMアレイ、NANDフラッシュアレイ、及び/または、NORフラッシュアレイであってよい。アレイ130は、アクセス線(本明細書ではワード線または選択線とも呼ばれてよい)によって結合された行と、センス線(本明細書では、データ線またはデジット線とも呼ばれてよい)によって結合された列とで配置されたメモリセルを含んでよい。1つのアレイ130を図1Aに示すが、実施形態は、これに限定されない。例えば、メモリデバイス120は、ある数のアレイ130(例えば、DRAMセル、NANDフラッシュセル等のある数のバンク)を含んでよい。
メモリデバイス120は、(例えば、ローカルのI/O線及びグローバルなI/O線を介して外部ALU回路に、及び/または、DRAM DQに提供された)I/O回路144によってデータバス156(例えば、ホスト110に接続されたI/Oバス)を通って提供されたアドレス信号をラッチするアドレス回路142を含んでよい。本明細書で使用
される場合、DRAM DQは、(例えば、コントローラ140及び/またはホスト110から、及び/または、コントローラ140及び/またはホスト110に)バス(例えば、データバス156)を介してバンクへのデータの入力、及び/または、バンクからのデータの出力を可能にし得る。書き込み動作中、電圧(高=l、低=0)が、DQ(例えば、ピン)に印加されてよい。この電圧は、適切な信号に翻訳されて、選択されたメモリセルによって記憶されてよい。読み出し動作中、選択されたメモリセルから読み出されたデータ値は、アクセスが完了して、出力が有効にされると(例えば、出力イネーブル信号が低いことによって)DQに現れてよい。他の時には、DQは、高インピーダンス状態にあってよく、その結果、DQは、電流をソースもシンクもせず、信号をシステムに提示しない。これは、2つ以上のデバイス(例えば、バンク)が、本明細書に記載するように、統合されたデータバスを共有している時、DQコンテンションも減らし得る。このようなDQは、アレイ130にローカルなデータパスの(図1Bの)複数の共有I/O線155とは別個であり、区別される。
ステータス及び例外情報が、メモリデバイス120のコントローラ140から、例えば、帯域外(OOB)バス157(例えば、高速インタフェース(HSI))を通してチャネルコントローラ143に提供されてよく、次に、チャネルコントローラ143からホスト110に提供されてよい。チャネルコントローラ143は、各バンクのアレイの複数の位置(例えば、サブアレイ用コントローラ)を、バンクコマンド、(例えば、動作シーケンスのための)アプリケーション命令、及び、複数のメモリデバイス120のそれぞれの動作に関連付けられた様々なバンクのための引数(PIMコマンド)の記憶に割り当てる論理コンポーネントを含んでよい。チャネルコントローラ143は、コマンド(例えば、PIMコマンド)を複数のメモリデバイス120にディスパッチして、これらのプログラム命令をメモリデバイス120の所与のバンク121(例えば、図1Bの121-1)に
記憶してよい。
アドレス信号は、アドレス回路142を通して受信され、行デコーダ146及び列デコーダ152によってデコードされて、メモリアレイ130にアクセスする。データは、本明細書に記載のように、検出回路150のある数のセンスアンプを用いて、センス線(デジット線)上の電圧及び/または電流の変化を検出することによって、メモリアレイ130から検出されて(読み出されて)よい。センスアンプは、メモリアレイ130からデータのページ(例えば、行)を読み出し、ラッチしてよい。追加の計算回路は、本明細書に記載のように、検出回路150に結合されてよく、センスアンプと組み合わせて使用されて、計算機能(例えば、演算)を検出、記憶(例えば、キャッシュ、及び/または、バッファリング)、実行してよく、及び/または、データを移動してよい。I/O回路144は、データバス156(例えば、64ビット幅のデータバス)を介したホスト110との双方向データ通信に使用されてよい。書き込み回路148を使用して、メモリアレイ130にデータを書き込んでよい。
コントローラ140(例えば、図5に示すバンク制御論理回路、シーケンス制御装置、及び、タイミング回路)は、ホスト110から制御バス154によって提供された信号(例えば、コマンド)をデコードしてよい。これらの信号は、他の動作のうち、データ検出、データ記憶、データ移動(例えば、データ値のコピー、転送、及び/または、トランスポート)、データ書き込み、及び/または、データ消去の動作を含む、メモリアレイ130上で行われる動作の制御に使用され得るチップイネーブル信号、書き込みイネーブル信号、及び/または、アドレスラッチ信号を含んでよい。様々な実施形態において、コントローラ140は、ホスト110からの命令の実行、及び/または、メモリアレイ130へのアクセスを担当してよい。コントローラ140は、状態機械、シーケンス制御装置、または、他の何らかの種類のコントローラであってよい。コントローラ140は、アレイ(例えば、メモリアレイ130)の行のデータの(例えば、右または左への)シフトを制御
してよく、マイクロコード命令を実行して、計算動作等の演算(例えば、AND、OR、NOR、XOR、加算、減算、乗算、除算等)を行ってよい。
検出回路150の例を以下にさらに記載する(例えば、図2及び図3)。例えば、ある実施形態においては、検出回路150は、ある数のセンスアンプを含んでよい。ある実施形態においては、検出回路150は、ある数のセンスアンプと、それに対応する数の計算コンポーネントとを含んでよく、計算コンポーネントは、アキュムレータとして働いてよく、本明細書に記載のインデータパス計算動作に加えて、各サブアレイで(例えば、相補センス線に関連付けられたデータに対して)演算を行うのに使用されてよい。
ある実施形態においては、検出回路150は、メモリアレイ130に記憶されたデータを入力として用いて演算を行うのに使用されてよく、センス線のアドレスアクセスを介してデータを転送すること無しに(例えば、列デコード信号を発すること無しに)、コピー、転送、トランスポート、書き込み、論理、及び/または、記憶の動作のために、メモリアレイ130及び/または論理ストライプ124の異なる位置へのデータ移動に参加してよい。従って、ある実施形態においては、様々な計算機能が、(例えば、コントローラ140上または他の箇所等、デバイス120に位置する、ホスト110、及び/または、ALU回路等の他の処理回路に関連付けられたプロセッサによって)検出回路150の外部の処理リソースによって行われる(または、関連付けられる)のではなく、検出回路150を用いて、検出回路150内で行われてよい。しかしながら、さらに、本明細書に記載の実施形態は、アレイの行から計算ユニットの複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ124−1、...、124−Nに移動され
たデータ値に対して、インデータパス計算機能及び/または演算を行ってよい。そして、例として、ある実施形態によると、アレイの行の開始(fire)に必要な60nsの時間の例に比較して、計算動作は、データ値を行に戻す必要が無く、2nsの速さで、計算ユニットで制御されてよい。
様々な以前の手法においては、例えば、オペランドに関連付けられたデータは、検出回路を介してメモリから読み取られ、I/O線を介して(例えば、ローカルのI/O線及び/またはグローバルなI/O線を介して)外部ALU回路に提供される。外部ALU回路は、ある数のレジスタを含んでよく、オペランドを用いて計算機能を行って、結果が、I/O回路144を介してアレイに返信される。
対照的に、本明細書の実施形態は、アレイにローカルなデータパスの計算ユニットにおいて、アレイの行及び/またはサブ行から複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ124−1、...、124−Nに複数の共有I/
O線155を介して移動されたデータ値に対して計算機能を行う。さらに、検出回路150は、メモリアレイ130によって記憶されたデータに対して演算を行うように、また、検出回路150に結合されたI/O線(例えば、ローカルI/O線)を有効にすること無しに、その結果をメモリアレイ130に戻して記憶するように構成されてよい。しかしながら、計算動作が一旦ロードされると、アレイの行を開始(fire)するのに必要な時間の例(例えば、60ns)と比較して、行及び/またはサブ行にデータ値を戻す必要が無く、ずっと速く(例えば、2nsの速さで)計算動作が制御されてよい。検出回路150は、アレイのメモリセルのピッチ上に形成されてよい。複数の共有I/O線155のデータパスに関連付けられた複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ124−1、...、124−Nは、データパスのピッチと等し
いピッチを有してよく、これは、メモリセルアレイに対するデジット線のピッチの関数である。
例えば、本明細書に記載の検出回路150は、相補センス線(例えば、デジット線)の
対と同じピッチで形成されてよい。例として、相補メモリセルの対は、6Fピッチ(例えば、3F x 2F)のセルサイズを有してよく、ここで、Fは、最小加工寸法(feature size)である。相補メモリセルの相補センス線対のピッチが3Fの場合、検出回路がピッチ上にあることは、検出回路(例えば、相補センス線の各対のセンスアンプ及び/または対応する計算コンポーネント)が、相補センス線の3Fピッチ内に収まるように形成されることを示す。同様に、複数の共有I/O線155のデータパスに関連付けられた論理ストライプ124−1、...、124−Nの計算コンポーネント431−
1、...、431−Zは、相補センス線の3Fピッチの関数であるピッチを有する。例えば、論理ストライプ124−1、...、124−Nの計算コンポーネント431−1、
...、431−Zは、デジット線のメモリセルアレイに対する3Fピッチの整数倍のピッチを有してよく、これは、複数の共有I/O線155のピッチにも対応してよい。
一方、様々な以前のシステムの処理リソース(複数可)の回路(例えば、ALU等の計算エンジン)は、メモリアレイに関連付けられたピッチ規則に従わない場合がある。例えば、メモリアレイのメモリセルは、4Fまたは6Fのセルサイズを有し得る。従って、以前のシステムのALU回路に関連付けられたデバイス(例えば、論理ゲート)は、メモリセルのピッチで(例えば、センス線と同じピッチで)形成することができない場合があり、これは、例えば、チップサイズ及び/またはメモリ密度に影響を与え得る。あるコンピューティングシステム及びサブシステム(例えば、中央処理装置(CPU))の文脈においては、データは、本明細書に記載のように、ピッチ上、及び/または、メモリ(例えば、アレイのメモリセル)を有するチップ上ではない位置で処理されてよい。例えば、データは、メモリを有するピッチ上ではなく、例えば、ホストに関連付けられた処理リソースによって処理されてよい。
従って、幾つかの実施形態においては、検出回路150が、外部の処理リソースを使用することなく、適切な演算を行って、このような計算機能を実行し得るので、または、アレイにローカルな複数の共有I/O線のデータパスで、このような演算を行い得るので、アレイ130及び検出回路150の外部の回路は、計算機能を行う必要が無い。よって、検出回路150、及び/または、複数の共有I/O線155のデータパスの計算ユニットの複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ124−1、...、124−Nを使用して、少なくともある程度まで、このような外部
処理リソース(または、このような外部処理リソースの少なくとも帯域幅消費)を補ってよい、または、置き換えてよい。ある実施形態においては、検出回路150、及び/または、複数の共有I/O線155のデータパスの計算ユニットの複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ124−1、...、124
−Nは、外部処理リソース(例えば、ホスト110)によって行われる動作に加えて、動作の実行(例えば、命令の実行)に使用されてよい。例えば、ホスト110及び/または検出回路150は、一定の動作のみ、及び/または、一定の数の動作を行うように限定されてよい。
本明細書に記載の動作は、PIM対応デバイスに関連付けられた演算を含んでよい。PIM対応デバイスの演算は、ビットベクトルベースの演算を使用してよい。本明細書で使用される場合、「ビットベクトル」という語は、メモリセルアレイの行に物理的に連続または非連続で記憶された、ビットベクトルメモリデバイス(例えば、PIMデバイス)上のある数のビットを意味する。従って、本明細書で使用される場合、「ビットベクトル演算」は、(例えば、PIMデバイスによって使用される)仮想アドレス空間の連続または非連続の部分であるビットベクトルに対して行われる演算を意味する。例えば、PIMデバイスの仮想アドレス空間の行は、(例えば、DRAM構成の16Kの相補メモリセル対に対応する)16Kビットのビット長を有してよい。このような16Kビット行に対して、本明細書に記載の検出回路150は、16ビットの行の対応するメモリセルに選択可能
に結合されたセンス線のピッチに形成された、対応する16Kセンスアンプ206及び/または処理要素(例えば、計算コンポーネント231)を含んでよい。検出回路の計算コンポーネント、及び/または、PIMデバイスの論理ストライプは、検出回路150によって検出された(例えば、本明細書に記載のように、センスアンプによって検出及び/または記憶された)メモリセルの行またはサブ行のビットベクトルの1ビット上の1ビットの処理要素(PE)として動作してよい。同様に、複数の共有I/O線155のデータパスの計算ユニットの論理ストライプ124−1、...、124−Nの複数の計算コンポー
ネント431−1、...、431−Zは、それぞれ、アレイで検出されたメモリセルの行及び/またはサブ行のビットベクトルの1ビット上で1ビットのPEとして動作してよい。
I/O線を有効にすることは、デコード信号(例えば、列デコード信号)に結合されたゲートとI/O線に結合されたソース/ドレインとを有するトランジスタを有効にする(例えば、オンにする、アクティブにする)ことを含んでよい。しかしながら、実施形態は、I/O線を有効にすることに限定されない。例えば、幾つかの実施形態においてはアレイの列デコード線を有効にすることなしに、検出回路(例えば、150)を使用して動作を行ってよい。
しかしながら、複数の共有I/O線155は、複数の共有I/O線155のデータパスの計算ユニットの複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ124−1、...、124−Nにデータ値をロードするために有効にさ
れてよく、その場合、計算動作は、ずっと速く制御され得る。例えば、計算ユニットの複数の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ124−1、...、124−Nにおいて、計算動作は、2nsの速さで行われてよい。この
速さの向上は、アレイの行を開始(fire)するのに使用される関連する時間(例えば、60ns)を伴うデータ値を行及び/またはサブ行に戻す必要が無いことに起因する。
図1Bは、本開示の複数の実施形態による、アレイのバンク区分123−1、123−2、...、123−NにローカルなデータパスのI/O線155を有するメモリデバイス
を含むコンピューティングシステムの形態の装置の別のブロック図である。例えば、バンク121−1は、メモリデバイス120のバンクの例を表してよい。図1Bに示すように、バンク121−1は、(Xとして水平方向に示される)(例えば、例示のDRAMバンクの16,384列)を含んでよい。さらに、バンク121−1は、バンク区分(例えば、32のサブアレイのクワドラント)123−1、123−2、...、123−Nに分割
されてよい。各バンク区分は、複数の共有I/O線155のデータパスの計算ユニットの論理ストライプ124−1、...、124−Nの複数の計算コンポーネント431−1、
...、431−Zに関連付けられてよい。バンク区分123−1、...、123−Nは、それぞれ、(Yとして垂直方向に示される)複数の行を含んでよい(例えば、DRAMバンクの例においては、各区分は、32のサブアレイを含むクワドラントであってよく、各サブアレイは、512の行と、各行に16のサブ行を含んでよい)。実施形態の例は、ここに記載する列及び行及びサブ行の水平方向及び/または垂直方向の向きの例、または、それらの例示の数に限定されない。
ある実施形態においては、各バンク区分は、各バンク区分に関連付けられた複数の共有I/O線155のデータパスの計算ユニットに複数の計算コンポーネント431−1、...、431−Z及び論理ストライプ124−1、...、124−Nを有してよい。バン
ク121−1は、コントローラ140、及び/または、各バンク区分及び/またはサブアレイに関連付けられたある数のコントローラを含んでよく、コントローラ140、及び/または、ある数のコントローラは、複数の共有I/O線155のデータパスの計算ユニットの論理ストライプ124−1、...、124−Nの複数の計算コンポーネント431−
1、...、431−Zにロードされたデータ値に対して(例えば、移動コンポーネント171を介した)移動、及び/または、演算を指示する。
図2は、本開示の幾つかの実施形態による、メモリデバイス120の回路を示す概略図である。回路は、センスアンプ206及び計算コンポーネント231を含み、それぞれ、様々な実施形態において、検出回路250、及び/または、論理ストライプ124に含まれてよい。検出回路250は、図1Aに示す検出回路150に対応してよい。
図2の実施形態例に示すように、メモリセルは、記憶要素(例えば、コンデンサ)及びアクセスデバイス(例えば、トランジスタ)を含んでよい。例えば、第1のメモリセルは、トランジスタ202−1及びコンデンサ203−1を含んでよく、第2のメモリセルは、トランジスタ202−2及びコンデンサ203−2等を含んでよい。この実施形態においては、メモリアレイ230は、1T1B(1トランジスタ1コンデンサ)メモリセルのDRAMアレイであるが、他の構成の実施形態を使用してもよい(例えば、メモリセル毎に2トランジスタと2コンデンサを有する2T2C)。ある数の実施形態においては、メモリセルは、破壊読み出しメモリセルであってよい(例えば、セルによって記憶されたデータを読み出すと、読み出し後、セルによって元々記憶されていたデータがリフレッシュされるように、データを破壊する)。
メモリアレイ230のセルは、アクセス(ワード)線204−X(行X)、204−Y(行Y)等によって結合された行と相補センス線対(例えば、図2に示すデジット線DIGIT(D)及びDIGIT(D)_)によって結合された列とで配置されてよい。相補
センス線対のそれぞれに対応する個々のセンス線は、それぞれ、DIGIT(D)はデジット線205−1、DIGIT(D)_は、デジット線205−2と呼ばれてもよく、ま
たは、図3の対応する参照番号で呼ばれてもよい。図2には、1対の相補デジット線のみを示すが、本開示の実施形態は、それに限定されず、メモリセルアレイは、メモリセルの追加の列及びデジット線(例えば、4096、8192、16384等)を含んでよい。
行及び列は、平面で直交する向きに示されるが、実施形態はこれに限定されない。例えば、行及び列は、任意の実行可能な三次元構成で互いに対して直交であってよい。例えば、行及び列は、他の可能な三次元構成のうち、互いに対して任意の角度をなした向きであってよい、ほぼ水平な面またはほぼ垂直な面の向きであってよい、及び/または、折り畳まれたトポロジの向きであってよい。
メモリセルは、異なるデジット線及びワード線に結合されてよい。例えば、トランジスタ202−1の第1のソース/ドレイン領域は、デジット線205−1(D)に結合されてよく、トランジスタ202−1の第2のソース/ドレイン領域は、コンデンサ203−1に結合されてよく、トランジスタ202−1のゲートは、ワード線204−Yに結合されてよい。トランジスタ202−2の第1のソース/ドレイン領域は、デジット線205−2(D)_に結合されてよく、トランジスタ202−2の第2のソース/ドレイン領域
は、コンデンサ203−2に結合されてよく、トランジスタ202−2のゲートは、ワード線204−Xに結合されてよい。セルプレートは、図2に示すように、コンデンサ203−1及び203−2に結合されてよい。セルプレートは、様々なメモリアレイ構成で、基準電圧(例えば、接地)を印加し得る共通ノードであってよい。
本開示の幾つかの実施形態によると、メモリアレイ230は、検出回路250に結合されるように構成される。この実施形態においては、検出回路250は、(例えば、相補デジット線の各対に結合された)メモリセルの各列に対応するセンスアンプ206と計算コンポーネント231とを含む。しかしながら、ある実施形態においては、論理ストライプの計算コンポーネントによって行われるインデータパス計算動作に使用される検出回路2
50は、検出回路250に計算コンポーネントを含まなくてよい。センスアンプ206は、相補デジット線の対205−1及び205−2に結合されてよい。計算コンポーネント231は、存在する場合、パスゲート207−1及び207−2を介してセンスアンプ206に結合されてよい。パスゲート207−1及び207−2のゲートは、演算選択論理回路213に結合されてよい。
演算選択論理回路213は、センスアンプ206と計算コンポーネント231との間で相補デジット線の対を置き換えずに結合するパスゲートを制御するパスゲート論理回路と、センスアンプ206と計算コンポーネント231の間で相補デジット線の対を置き換えるように結合する交換ゲートを制御する交換ゲート論理回路とを含むように構成されてよい。演算選択論理回路213は、相補デジット線205−1及び205−2の対に結合されてもよい。演算選択論理回路213は、選択された演算に基づいて、パスゲート207−1及び207−2の連続性を制御するように構成されてよい。
センスアンプ206は、選択されたメモリセルに記憶されたデータ値(例えば、論理状態)を決定するように動作されてよい。センスアンプ206は、クロスカップルラッチを含んでよく、クロスカップルラッチは、本明細書では、一次ラッチと呼ばれてよい。図2に示す例においては、センスアンプ206に対応する回路は、相補デジット線の対D205−1及び(D)_205−2に結合された4つのトランジスタを含むラッチ215を備
える。しかしながら、実施形態は、この例に限定されない。ラッチ215は、nチャネルトランジスタ(例えば、NMOSトランジスタ)227−1及び227−2等の(例えば、トランジスタ対のゲート)が、pチャネルトランジスタ(例えば、PMOSトランジスタ)229−1及び229−2等、他方のトランジスタ対のゲートとクロスカップルされるクロスカップルラッチであってよい。トランジスタ227−1、227−2、229−1及び229−2を含むクロスカップルラッチ215は、一次ラッチと呼ばれてよい。
動作中、メモリセルが検出されている(例えば、読み出されている)時、デジット線205−1(D)または205−2(D)_の一方の電圧は、デジット線205−1(D)
または205−2(D)_の他方の電圧よりわずかに高くなる。ACT信号及びRNL
信号は、低く駆動されて、センスアンプ206を有効に(例えば、fire)してよい。低い方の電圧を有するデジット線205−1(D)または205−2(D)_は、PMO
Sトランジスタ229−1または229−2の一方をPMOSトランジスタ229−1または229−2の他方より高くオンにして、それによって、高い方の電圧を有するデジット線205−1(D)または205−2(D)_を他方のデジット線205−1(D)ま
たは205−2(D)_を高く駆動するよりも高く駆動する。
同様に、高い方の電圧を有するデジット線205−1(D)または205−2(D)_
が、NMOSトランジスタ227−1または227−2の一方をNMOSトランジスタ227−1または227−2の他方より高くオンにし、それによって、低い方の電圧を有するデジット線205−1(D)または205−2(D)_を他方のデジット線205−1
(D)または205−2(D)_を低く駆動するよりも低く駆動する。結果として、少し
遅れて、僅かに高い方の電圧を有するデジット線205−1(D)または205−2(D)_が、ソーストランジスタを通して供給電圧Vccの電圧に駆動され、他方のデジット
線205−1(D)または205−2(D)_は、基準電圧(例えば、接地)の電圧にシ
ンクトランジスタを通して駆動される。よって、クロスカップルされたNMOSトランジスタ227−1及び227−2とPMOSトランジスタ229−1及び229−2は、センスアンプ対として働き、デジット線205−1(D)及び205−2(D)_上の差動
電圧を増幅し、選択されたメモリセルから検出されたデータ値をラッチするように動作する。
実施形態は、図2に示すセンスアンプ206の構成に限定されない。例として、センスアンプ206は、電流モードセンスアンプ及びシングルエンドセンスアンプ(例えば、1つのデジット線に結合されたセンスアンプ)であってよい。また、本開示の実施形態は、図2に示すアーキテクチャ等の折り畳みデジット線アーキテクチャに限定されない。
センスアンプ206は、計算コンポーネント231と共に、アレイからのデータを入力として使用して、様々な演算を行うように動作されてよい。幾つかの実施形態においては、演算の結果は、デジット線アドレスアクセスを介してデータを転送すること無しに(例えば、データをアレイ及び検出回路から外部の回路にローカルI/O線を介して転送する列デコード信号を発すること無しに)アレイに戻して記憶されてよい。従って、本開示の幾つかの実施形態は、様々な既存の手法より少ない電力で、動作と、動作に関連付けられた計算機能とを行うことを可能にし得る。さらに、幾つかの実施形態は、(例えば、メモリと別個のプロセッサとの間の)計算機能を行うために、ローカル及びグローバルなI/O線を通してデータを転送する必要を無くすので、幾つかの実施形態は、既存の手法と比較して、より向上した(例えば、より速い)処理能力を可能にし得る。
センスアンプ206は、平衡回路214をさらに含んでよく、平衡回路214は、デジット線205−1(D)と205−2(D)_を平衡にするように構成されてよい。この
例においては、平衡回路214は、デジット線205−1(D)と205−2(D)_の
間に結合されたトランジスタ224を含む。平衡回路214は、トランジスタ225−1及び225−2も含み、各トランジスタは、平衡電圧(例えば、VDD/2)に結合された第1のソース/ドレイン領域を有し、ここで、VDDは、アレイに関連付けられた供給電圧である。トランジスタ225−1の第2のソース/ドレイン領域は、結合されたデジット線205−1(D)であってよく、トランジスタ225−2の第2のソース/ドレイン領域は、結合されたデジット線205−2(D)_であってよい。トランジスタ224
、225−1、及び、225−2のゲートは、互いに結合されてよく、平衡(EQ)制御信号線226に結合されてよい。従って、EQをアクティブにすることは、トランジスタ224、225−1、及び、225−2を有効にし、これは、デジット線205−1(D)及び205−2(D)_を一緒に、また、平衡電圧(例えば、Vcc/2)に有効に短
絡する。
図2は、平衡回路214を含むセンスアンプ206を示すが、実施形態はこれに限定されず、平衡回路214は、センスアンプ206とは別に実施されてよく、図2に示す構成とは異なる構成で実施されてよく、全く実施されなくてもよい。
以下にさらに記載するように、幾つかの実施形態において、検出回路250(例えば、センスアンプ206及び計算コンポーネント231)は、選択された動作を行うように、また、その結果を、検出回路からデータをローカルまたはグローバルなI/O線を介して転送すること無しに(例えば、列デコード信号のアクティブ化を介して、センス線アドレスアクセスを行うこと無しに)センスアンプ206または計算コンポーネント231のうちの1つに、最初に記憶するように動作されてよい。
しかしながら、本明細書に記載の実施形態に加えて、センスアンプ206を有する検出回路250は、ある実施形態においては、図2に示す計算コンポーネント231も含んでよく、図4に関連して論じるように、、アレイのメモリセルの多重化された列からのメモリセルを、アレイにローカルの複数の共有I/O線455のデータパスの計算ユニット460の計算コンポーネント431−1、...、431−Z及び/または論理ストライプ424−1、...、424−Nに結合してもよい。このように、計算コンポーネント43
1−1、...、431−Z及び/または論理ストライプ424−1、...、424−N
は、(図3〜図7に関連して論じる)選択論理回路を介して複数の共有I/O線455を
通して列のメモリセルに間接的に結合されてよい。
演算(例えば、データ値を伴うブール論理演算)の実行が、基本であり、一般的に用いられる。ブール論理演算は、多くのより高次のレベルの演算で使用される。結果として、演算の向上で実現し得る速さ及び/または電力効率は、より高いオーダーの機能の速さ及び/または電力効率につながり得る。
図2に示すように、計算コンポーネント231は、ラッチも含んでよく、ラッチは、本明細書では、二次ラッチ264と呼ばれてよい。二次ラッチ264は、一次ラッチ215に関して前述したのと同様に、構成され、動作されてよいが、二次ラッチに含まれるクロスカップルされたpチャネルトランジスタ(例えば、PMOSトランジスタ)の対は、その各ソースが供給電圧(例えば、VDD)に結合されてよく、二次ラッチのクロスカップルされたnチャネルトランジスタ(例えば、NMOSトランジスタ)の対は、その各ソースが基準電圧(例えば、接地)に選択的に結合されてよく、その結果、二次ラッチは、連続的に有効にされる。計算コンポーネント231の構成は、図2に示す構成に限定されず、例えば、図4の論理ストライプ424−1、...、424−Nとの関連で記載した計算
コンポーネント431−1、...、431−Zとして使用するために様々な他の実施形態が実行可能である。
本明細書に記載のように、メモリデバイス(例えば、図1Aの120)は、ホスト(例えば、110)にデータバス(例えば、156)及び制御バス(例えば、154)を介して結合されるように構成されてよい。メモリデバイス120のバンク121は、メモリセルの複数のバンク区分(図1Bの123−1、...、123−N)を含んでよい。バンク121は、メモリセルの複数の列(図1B)を介して複数のアレイに結合された検出回路(例えば、図1Aの150、及び、図2及び図3の対応する参照番号)を含んでよい。検出回路は、列のそれぞれに結合されたセンスアンプ及び/または計算コンポーネント(例えば、それぞれ図2の206、231)を含んでよい。
各バンク区分123は、アレイ230にローカルな複数の共有I/O線(図1Bの155)のデータパスの計算ユニットの複数の論理ストライプ(例えば、図1Bの124−0、124−1、...、124N−1)に関連付けられてよい。バンクに結合されたコント
ローラ(例えば、図1A及び図1Bの140)は、本明細書に記載のように、アレイ230にローカルな共有I/O線355/455(図3及び図4)のデータパスの計算ユニット360/460(図3及び図4)の論理ストライプ424(図4)の計算コンポーネント431(図4)へのデータ値の移動を指示するように構成されてよい。
メモリデバイスは、複数の計算コンポーネント(例えば、図4の431−1、...、431−Z)を有する論理ストライプ(例えば、図1Bの124、及び、図4の424)を含んでよく、計算コンポーネントは、それぞれ、サブ行のメモリセル(例えば、図4の428−1、...、428−16)の複数の列のうちのある数(図1B)に対応してよい
。図3に関連してさらに論じるように、検出回路250のある数のセンスアンプ206及び/または計算コンポーネント231は、複数の共有I/O線355(図3)に選択可能に結合されて(例えば、図3の列選択回路358−1及び358−2を介して多重化されて)よい。列選択回路は、複数(例えば、他の可能性のうちで、4、8、16)のセンスアンプ及び/または計算コンポーネントに選択可能に結合されることによって、アレイのメモリセルの特定の列のデータを選択可能に検出するように構成されてよい。
ある実施形態においては、バンクの複数の論理ストライプ(例えば、図1Bの124−1、...、124−N)のある数は、そのバンクの図1Bのバンク区分123−1、..
.、123−N(例えば、複数のサブアレイを有するクワドラント)の数に対応してよい
。あるいは、または、さらに、バンクの複数の論理ストライプのある数は、DRAMアレイの行の複数のサブ行のある数に対応してよい。論理ストライプは、図2に示す計算コンポーネント231のように構成及び/または動作し得るアレイ230にローカルな共有I/O455(図4)のデータパスの複数の計算コンポーネント431−1、...、431−Z(図4)を含み得る。図3に示すように、アレイの行またはサブ行から検出されたデータ値は、複数の共有I/O線355/455(図3及び図4)のデータパスの計算ユニット360/460(図3及び図4)の複数の計算コンポーネント431(図4)に複数の共有I/O線355(図3)を介して列選択論理回路によって並行に移動されてよい。ある実施形態においては、データ量は、1Kビット幅の複数の共有I/O線に対応してよく、これは、サブ行のメモリセル及び/またはデータ値の数にも対応してよい。
様々な実施形態において、検出されたデータ値、記憶されたデータ値、及び/または演算が行われた論理ストライプのデータ値の移動のために、接続回路232−1は、例えば、217−1で、接続回路232−2は、217−2で一次ラッチ215(例えば、論理ストライプの計算コンポーネント231に関連付けられたラッチとして働くセンスアンプ206)に結合されてよい。データ値は、(例えば、共有I/O線を介した移動無しに)接続回路232−1及び232−2を介して直接(例えば、ビットシリアルリンクとして)、本明細書に記載のように、選択されたラッチ、及び/または、別の論理ストライプの計算コンポーネント231に移動されてよい。
図2は、接続回路232−1、232−2が、それぞれ、一次ラッチ215の217−1、217−2で結合されているのを示すが、実施形態は、これに限定されない。例えば、接続回路232−1及び232−2は、例えば、選択されたラッチ、及び/または、別の論理ストライプの計算コンポーネント231に接続回路232−1及び232−2を介してデータ値を移動するために二次ラッチ264(例えば、計算コンポーネント231)に結合されてよい。例えば、このような接続回路232−1及び232−2は、(例えば、図9Cに関連して記載する)複数の論理ストライプの演算のシストリックシーケンスの実行のために、(例えば、コントローラ140によって指示されて)、ラッチ及び/または、第1の論理ストライプの計算コンポーネントから、対応するラッチ及び/または第2の論理ストライプ(例えば、隣の論理ストライプ)の計算コンポーネントへのデータ値(ビット)のカスケードを有効にしてよい。
本明細書に記載のように、メモリセルアレイは、コントローラが、コマンドに応答して、ソース位置から宛先位置に共有I/O線を介してデータを移動(例えば、コピー、転送、及び/または、トランスポート)するように構成されるDRAMメモリセルの実施態様を含んでよい。様々な実施形態において、ソース位置は、第1のバンクにあってよく、宛先位置は、アレイ230にローカルな共有I/O線355(図3)のデータパスの計算ユニット360(図3)にあってよい。
図3に記載するように、装置は、第1の数のセンスアンプ及び/または計算コンポーネントに関連付けられた特定の行(例えば、図3の319)と列のアドレスを含むソース位置からのデータを共有I/O線(例えば、図3の355)に移動(例えば、コピー、転送、及び/または、トランスポート)するように構成されてよい。さらに、装置は、共有I/O線355(図3)のデータパスの計算ユニット360(図3)に関連付けられた特定の論理ストライプ424(図4)を含む宛先位置にデータを移動するように構成されてよい。読者は理解されるように、各共有I/O線355(図3)は、1本の線であってよい、または、相補共有I/O線の対(例えば、図3の共有I/O線及び共有I/O線)を含んでよい。ある実施形態においては、2Kの共有I/O線(例えば、共有I/O線の相補対)は、2Kビット幅の共有I/O線として構成されてよい。ある実施形態においては、1Kの共有I/O線(例えば、共有I/O線の相補対)は、1Kビット幅の共有I/O
線として構成されてよい。
図3は、本開示の幾つかの実施形態による、アレイのデータパスの複数の共有I/O線の回路を示す概略図である。図3は、8つのセンスアンプ(例えば、それぞれ、306−0、306−1、...、306−7に示されるセンスアンプ0、1、...、7)を示し
、各センスアンプは、相補共有I/O線の各対355(例えば、共有I/O線、及び、共有I/O線)に結合されることを示している。図3は、8つの計算コンポーネント(例えば、331−0、331−1、...、331−7に示される計算コンポーネント0、1
、...、7)も示し、各計算コンポーネントは、各パスゲート307−1及び307−2
とデジット線305−1及び305−2とを介して、各センスアンプ(例えば、306−0にセンスアンプ0で示される)に結合されることを示している。パスゲートは、図2に示すように接続されてよく、演算選択信号Passによって制御されてよい。例えば、選択論理回路の出力は、パスゲート307−1及び307−2のゲートとデジット線305−1及び305−2とに結合されてよい。ある実施形態においては、センスアンプと計算コンポーネントの対応する対は、350−0、350−1、...、350−7に示される
検出回路の形成に寄与してよい。
相補デジット線の対305−1及び305−2に存在するデータ値は、図2に関連して記載したようにセンスアンプ306−0にロードされてよい。ある実施形態においては、パスゲート307−1及び307−2が有効にされると、相補デジット線の対305−1及び305−2のデータ値は、センスアンプから計算コンポーネント(例えば、306−0から331−0)に渡されてよい。相補デジット線の対305−1及び305−2のデータ値は、センスアンプ306−0が開始(fire)されると、センスアンプによって記憶されるデータ値であってよい。
図3のセンスアンプ306−0、306−1、...、306−7は、それぞれ、図2のセンスアンプ206に対応してよい。図3の計算コンポーネント331−0、331−1、...、331−7は、それぞれ、図2に示す計算コンポーネント231に対応してよ
い。個々のセンスアンプ、または、1つのセンスアンプと1つの計算コンポーネントとの組み合わせは、共有I/O線355のデータパスの計算ユニット360のある数の論理ストライプによって共有される共有I/O線355に結合されたDRAMメモリサブアレイ325の一部の検出回路(例えば、350−0、350−1、...、350−7)に寄与
してよい。
図3に示す実施形態の構成を明瞭になるように示しているが、この構成に限らない。例えば、センスアンプ306−0、306−1、...、306−7と計算コンポーネント331−0、331−1、...、331−7及び共有I/O線355とを組み合わせた図
3に示す構成は、検出回路のセンスアンプ306−0、306−1、...、306−7、及び/または、計算コンポーネント331−0、331−1、...、331−7の組み
合わせの半分がメモリセル(図示せず)の列322より上に形成され、半分がメモリセルの列322より下に形成される構成に限定されない。共有I/O線に結合するように構成された検出回路を形成するセンスアンプ及び/または計算コンポーネントのこのような組み合わせの数も8つに限定されない。例えば、共有I/O線に結合するように構成された検出回路を形成するセンスアンプ及び/または計算コンポーネントの数は、行あたりのサブ行の数及び/または論理ストライプの数が16である時、16であってよい。さらに、共有I/O線355の構成は、相補デジット線305−1及び305−2の2つのセットのそれぞれを選択可能に結合するために2つに分けられることに限定されず、また、共有I/O線355の位置も(例えば、センスアンプ及び計算コンポーネントの組み合わせのいずれかの側ではなく)検出回路を形成するセンスアンプ及び/または計算コンポーネントの中央であることに限定もされない。
図3に示す回路は、(例えば、図1A及び図1Bに示すコントローラ140によって指示されるように)、サブアレイ325の特定の列322、それらに関連付けられた相補デジット線305−1及び305−2、及び、共有I/O線355に対して多重送信によって、データ移動動作を実施するように構成された列選択回路358−1及び358−2も示す。例えば、列選択回路358−1は、列0(332−0)、列2、列4、及び、列6等、対応する列に結合するように構成された選択線0、2、4、及び、6を有する。列選択回路358−2は、列1、列3、列5、及び、列7等、対応する列と結合するように構成された選択線1、3、5、及び、7を有する。図3に関連して記載された列選択回路358は、様々な実施形態において、マルチプレクサ(例えば、8ウェイ・マルチプレクサ、16ウェイ・マルチプレクサ等)によって実現され、マルチプレクサに含まれる機能の少なくとも一部を表し得る。
コントローラ140は、センスアンプ、計算コンポーネントに記憶されたデータ値、及び/または、相補デジット線の対(例えば、選択トランジスタ359−1及び359−2が選択線0からの信号を介してアクティブにされる時、305−1及び305−2)に存在するデータ値にアクセスするように、選択線(例えば、選択線0)を制御するように列選択回路358に結合されてよい。(例えば、コントローラ140によって指示されるように)選択トランジスタ359−1及び359−2をアクティブにすることは、列0(322−0)のセンスアンプ306−0、計算コンポーネント331−0、及び/または、相補デジット線305−1及び305−2の結合を有効にして、デジット線0及びデジット線0上のデータ値を共有I/O線355に移動させる。例えば、移動されたデータ値は、センスアンプ306−0及び/または計算コンポーネント331−0に記憶(キャッシュ)された特定の行319からのデータ値であってよい。各列0〜7からのデータ値は、同様に、コントローラ140が適切な選択トランジスタをアクティブにすることによって選択されてよい。
さらに、選択トランジスタ(例えば、選択トランジスタ359−1及び359−2)を有効にする(例えば、アクティブにする)ことは、特定のセンスアンプ及び/または計算コンポーネント(例えば、それぞれ、306−0、及び/または、331−0)が共有I/O線355と結合されるのを可能にしてよく、それによって、アンプ及び/または計算コンポーネントによって記憶されたデータ値は、共有I/O線355に移動(例えば、配置、及び/または、転送)されてよい。ある実施形態においては、一度に1列(例えば、列322−0)が選択されて、特定の共有I/O線355に結合され、記憶されたデータ値を移動(例えば、コピー、転送、及び/または、トランスポート)する。図3の構成例においては、共有I/O線355は、共有の異なるI/O線対(例えば、共有I/O線及び共有I/O線)として示される。よって、列0(322−0)の選択は、行(例えば、行319)のサブ行から、及び/または、相補デジット線305−1及び305−2に関連付けられたセンスアンプ及び/または計算コンポーネントによって記憶された2つのデータ値(例えば、0及び/または1の値を有する2ビット)を生じさせてよい。これらのデータ値は、共有差動I/O線355の各共有差動I/O線対(例えば、共有I/O及び共有I/O*)に並行に入力されてよい。
図4は、本開示の幾つかの実施形態による、アレイ130にローカルなデータパスの複数の共有I/O線455によって複数の論理ストライプ424-1、...、424−Zを有する計算ユニット460に結合されたアレイ130(図1A)のバンク区分423を示すブロック図である。図4の実施形態においては、(例えば、複数のバンククワドラントを有する)バンク区分423が、クワドラント毎に複数のサブアレイ425−1、...、4
25−32を有するとして示される。図4においては、32のサブアレイが、バンククワドラント1に示されている。しかしながら、実施形態は、この例に限定されない。この例
は、バンク区分423を16Kの列を有するとして示され、列は、共有I/O線455に対して(例えば、358−1及び358−2に示され、図3に関連して記載される列選択回路を介して)行毎に16のサブ行428−1、...、428−16によって多重化され
てよいことを示す。ある実施形態においては、16番目の列毎、及び、結合されたメモリセルは、サブ行として移動され得るデータ値を、1Kビットのグループとして計算ユニット460に並行に提供してよい。あるいは、または、さらに、連続した1Kの列、及び、結合されたメモリセルは、サブ行として移動され得る1Kのデータ値を1Kビットのグループとして並行に計算ユニット460に提供してよい。他の可能な実施形態のうち、どちらの実施形態においても、1Kビットのグループは、16の指定された論理ストライプ424−1、...、424−Nの1Kの指定された計算コンポーネント431−1、...
、431−Zに共有I/O線455を通して16サイクルで連続して移動されてよい。
例えば、第1のサブ行428−1のシーケンスの第1のセンスアンプ及び/またはメモリセルからのビットは、第1の論理ストライプ424-1の計算コンポーネントのシーケ
ンスの第1の計算コンポーネント431-1、または、関連付けられたラッチに記憶され
るように、(例えば、コントローラ140によって)指示されてよい。第1のサブ行428−1のシーケンスの第2のセンスアンプ及び/またはメモリセルからのビットは、第1の論理ストライプ424−1の計算コンポーネントのシーケンスの第2の計算コンポーネント431−2または関連付けられたラッチに記憶されるように指示されてよい。さらに、第2のサブ行428−2のシーケンスの第1のセンスアンプ及び/またはメモリセルからのビットは、第2の論理ストライプ424−2の計算コンポーネントのシーケンスの第1の計算コンポーネント431-1または関連付けられたラッチによって記憶されるよう
に指示されてよい。第2のサブ行428−2のシーケンスの第2のセンスアンプ及び/またはメモリセルからのビットは、第2の論理ストライプ424−1の計算コンポーネントのシーケンスの第2の計算コンポーネントまたは関連付けられたラッチによって記憶されるように指示されてよい。各行のサブ行428−1、428−2、...、428−16の
シーケンスの各センスアンプ及び/またはメモリセルに対応するビットは、同様に、論理ストライプ424−1、...、424−Nのシーケンスの対応する計算コンポーネントま
たは関連付けられたラッチに記憶されるように指定されてよい。(例えば、サブ行428−1からのデータ値が、論理ストライプ424-1に移動され、サブ行428−2からの
データ値が、論理ストライプ424−2に移動される等)。移動は、共有I/0線455を介して指定された論理ストライプに向けられてよく、共有I/0線455は、1Kビット幅のデータパスを計算ユニット460に提供してよい。
図4の例において、各論理ストライプ424−1、...、424−Nは、計算コンポー
ネント231を図2の検出回路250に関連して本明細書で記載したように、複数の計算コンポーネント431−1、...、431−Zを有してよい。ある実施形態においては、複数の論理ストライプ424−1、...、424−Nは、それぞれ、複数の計算コンポ
ーネント431−1、...、431−Zを用いて、計算機能を行うように構成されてよい。ある実施形態においては、複数の論理ストライプ424-1、...、424−Zは、それぞれ、複数の計算コンポーネント431−1、...、431−Zを用いて、異なる論理演算を行ってよい。論理演算の様々な組み合わせ及び/またはシーケンスのうち、例えば、複数の論理ストライプ424-1、...、424−Zの少なくとも1つは、AND演算を行うように構成されてよく、複数の論理ストライプ424-1、...、424−Zの少なくとも1つは、NOR演算を行うように構成されてよい。
ある実施形態においては、バンク区分に関連付けられたコントローラ140(図1A)は、複数のサブアレイ425−1、...、425−32のうちの特定のアクセスされたサ
ブ行に関連する対応する1Kの多重化された列から、計算ユニット460の特定の論理ストライプ424−1、...、424−Nの特定の計算コンポーネント431−1、...
、431−Zに、1Kのデータ値の並行移動を指示するマイクロコード命令を実行してよい。
ある実施形態においては、共有I/O線を使用して、複数の論理ストライプ424−1、...、424−Nの各論理ストライプの複数の計算コンポーネント431-1、...、431−Zの各計算コンポーネントに1Kのデータ値を接続してよい。制限ではなく、例として、1Kビットのデータ値は、各サブ行に関連付けられた特定の論理ストライプに並行に移動されてよい。様々な実施形態において、例えば、バンク区分423の4つのクワドラントのそれぞれの32のサブアレイ425−1、...、425−32のそれぞれに関
連付けられた計算ユニット460があってよく、または、計算ユニットが、サブアレイ、クワドラント、及び/またはバンク区分の様々な組み合わせの間で共有されてよい。計算ユニット460の論理ストライプ424−1、...、424−Nの複数の計算コンポーネ
ント431−1、...、431−Zにロードされたデータ値は、コントローラ140(図1A)からのマイクロコード命令に従って操作されて、図2の検出回路250に関連して、本明細書に記載されたのと同じように、データ値に対して演算(例えば、AND、OR、NOR、XOR、加算、減算、乗算、除算等)を行ってよい。
本明細書に記載のように、例えば、第1のサブ行428−1の1Kのデータ値が、計算ユニット460の第1の論理ストライプ424−1に移動(例えば、ロード)されると、第2のサブ行428−2からのデータ値が計算ユニット460の第2の論理ストライプ424−2に移動される前に、及び/または、移動されるのとほぼ同時に、計算動作が、第1のサブ行428−1の1Kのデータ値に対して開始されてよい。計算ユニットの論理ストライプで行われるこのような動作は、データ値をアレイ130の行(図1A)に戻す必要無く、コントローラ140(図1A)によって実行されるマイクロコードに従って、ずっと速く(例えば、約2nsの速さで)制御されてよい。例えば、アレイ130(図1A)の行を開始(fire)または行にアクセスするのに必要とされる時間の例(例えば、
約60ns)と比較して、ずっと速く計算ユニット460を用いて、計算動作が行われてよい。図2に関連して記載したように、接続回路232−1及び232−2は、検出された、記憶された、及び/または、演算が行われた論理ストライプのデータ値の論理ストライプ間での移動を、共有I/O線を介した移動無しに、可能にし得る。
従って、メモリデバイス120は、様々な実施形態において、メモリセルのアレイ130に関連付けられたインデータパス計算動作のデータパスとして共有される複数のI/O線を含んでよい。複数の共有I/O線は、アレイの行の第1のサブ行(例えば、428-
1)を、検出回路(例えば、350)を介してデータパスの第1の計算コンポーネント(例えば、431−1)に選択可能に結合して、第1のサブ行から第1の計算コンポーネントに第1のデータ値を移動してよい。複数の共有I/O線は、各行の第2のサブ行(例えば、428-2)を、検出回路を介してデータパスの第2の計算コンポーネント(例えば
、第1の論理ストライプの第1の計算コンポーネントの位置に対応する計算コンポーネント)に選択可能に結合して、第2のサブ行から第2の計算コンポーネントに第2のデータ値を移動してよい。例えば、第1の論理ストライプ(例えば、424−1)は、第1の計算コンポーネントを含んでよく、第2の論理ストライプ(例えば、424−2)は、第2の計算コンポーネントを含んでよい。本明細書に記載のように、第2のサブ行から第2の計算コンポーネントへの第2のデータ値の移動とほぼ同時に、第1の計算コンポーネントを用いて、第1のサブ行からの第1のデータ値に対して演算を行ってよい。
様々な実施形態において、データパスは、第1のサブ行(例えば、428-1)の複数
のメモリセル(図示せず)のある数に対応する複数の第1の計算コンポーネント(例えば、431−1、...、431−Z)の数を含み得る第1の論理ストライプ(例えば、424−1)と、第2のサブ行の複数のメモリセル(例えば、428−2)のある数に対応
する複数の第2の計算コンポーネントの数を含み得る第2の論理ストライプ(例えば、424−2)とをさらに含んでよい。複数の論理ストライプ(例えば、424−1、...、
424N)のある数は、各行の複数のサブ行(例えば、428−1、...、428−16
)のある数に対応してよい。計算ユニット(例えば、460)は、複数の論理ストライプ(例えば、424−1、...、424N)を含んでよく、複数の論理ストライプは、それ
ぞれ、複数の計算コンポーネント(例えば、431−1、...、431−Z)を含んでよく、複数の計算コンポーネントのそれぞれは、アレイにローカルな複数の共有I/O線455の少なくとも1つに関連付けられて(例えば、選択可能に結合されて)よい。複数の共有I/O線のある数は、各行のサブ行の複数のメモリセルのある数に対応してよい(例えば、他の可能な構成のうち、サブ行または行の8または16のメモリセル及び/または列毎に、個別の共有I/O線)。論理ストライプ(例えば、424−1)は、各論理ストライプに結合されたサブ行の複数のメモリセルのある数に対応する複数の計算コンポーネント(例えば、431−1、...、431−Z)の数を含んでよい。
図5は、本開示の幾つかの実施形態による、メモリデバイス520のコントローラ540の例を示すブロック図である。ある実施態様においては、図5のブロック図は、図1A及び図1Bのメモリデバイス120等、PIM対応デバイスの例の一部をより詳細に提供する。図5の例において、(総称して、コントローラ540と呼ばれる)コントローラ540−1、...、540−7は、PIM対応デバイス520の(総称してバンク521と呼ばれる)各バンク521−1、...、521−7に関連付けられてよい。8つのバンクが、図5の例に示されている。しかしながら、実施形態は、この例の数に限定されない。コントローラ540は、例えば、図1Aに示すコントローラ140を表してよい。各バンクは、メモリセルの1つまたは複数のアレイ(図示せず)を含んでよい。例えば、各バンクは、図1Aのアレイ130等の1つまたは複数のアレイを含んでよく、図1Aに示すように、デコーダ、他の回路、及び/または、レジスタを含んでよい。図5に示すメモリデバイス520の例において、コントローラ540−1、...、540−7は、メモリデバイス520の1つまたは複数のメモリバンク521上のコントローラ540の一部として、制御回路531−1、...、531−7、シーケンス制御装置532−1、...、532−7、及び、タイミング回路533−1、...、533−7を有するとして示されている。PIM対応デバイス520は、図1Aに示すメモリデバイス120の一部を表してよい。
図5に示すように、メモリデバイス520は、PIM対応デバイス520で、データ、アドレス、制御信号、及び/または、コマンドを受信する高速インタフェース(HSI)541を含んでよい。様々な実施形態において、HSI541は、PIM対応デバイス520に関連付けられたバンクアービター545に結合されてよい。HSI541は、ホスト(例えば、図1Aの110)からコマンド及び/またはデータを受信するように構成されてよい。図5に示すように、バンクアービター545は、複数のバンク521-1、...
、521-7に結合されてよい。
図5に示す例の制御論理回路531−1、...、531−7は、各バンク521-1
、...、521-7の一部であるメモリセルアレイ(例えば、図1Aのアレイ130)か
ら機械命令(例えば、マイクロコード命令)のフェッチ及び実行を担当するマイクロコードエンジンの形態であってよい。シーケンス制御装置532−1、...、532−7もマ
イクロコードエンジンの形態であってよい。あるいは、制御論理回路531−1、...、531−7は、超長命令語(VLIW:very large instruction word)型の処理リソースの形態であってよく、シーケンス制御装置532−1、...、532−7及びタイミング回路533−1、...、533−7は、状態機械及びトランジスタ回路の形態であってよい。
制御回路531−1、...、531−7は、マイクロコード命令を、シーケンス制御装置532−1、...、532−7によって実施される関数呼び出し(例えば、マイクロ
コード関数呼び出し(uCODE))にデコードしてよい。図6は、本開示の実施形態による、図6に642として示されるコントローラ540の別の実施形態を示し、シーケンス制御装置のより詳細な部分を示す。マイクロコード関数呼び出しは、シーケンス制御装置532−1、...、532−7が受信し、実行して、メモリデバイス520に、図1A
の検出回路150等の検出回路を用いて、または、図4に示される計算ユニット460の計算コンポーネント431−1、...、431−Z、図6に示される計算ユニット660の計算コンポーネント631−1、...、631−Zを用いて、特定の論理演算を行わせる演算であってよい。タイミング回路533−1、...、533−7は、図4に示さ
れる計算ユニット460の論理ストライプ424−1、...、424−N及び図6に示さ
れる計算ユニット660の論理ストライプ624−1、...、624−Nによる論理演算の実行を調整するタイミングを提供してよく、及び/または、図1Aのアレイ130等のアレイへのコンフリクトの無いアクセスの提供を担当してよい。
図1Aに関連して記載したように、コントローラ540−1、...、540−7は、555−1、555−7として図5に示される制御線及びデータパスを介してメモリセルアレイに関連付けられる、キャッシュ、バッファ、センスアンプ、拡張行アドレス(XRA)ラッチ、及び/または、レジスタを含む、検出回路150、計算ユニット460/660、及び/または、追加論理回路170に結合されてよい。従って、図1A、図4、及び、図6に示される検出回路150、計算ユニット460/660、論理回路170は、(例えば、図5の555−1、...、555−7、及び/または、他のI/O回路に示される共有I/O線を用いて)メモリセルアレイ130に関連付けられてよい。コントローラ540−1、...、540−7は、読み出し、書き込み、コピー、及び/または、消去動作等、アレイの規則的なDRAM動作を制御してよい。しかしながら、追加で、制御論理回路531−1、...、531−7によって読み出し、実行されるマイクロコード命令と、シーケンス制御装置532−1、...、532−7によって受信、実行される
マイクロコード関数呼び出しは、図1A、図4、及び、図6に示す検出回路150及び/または計算ユニット460/660に、加算、乗算等の追加の論理演算、または、より具体的な例としては、規則的なDRAM読み出し及び書き込み動作とは異なる(例えば、より複雑な)AND、OR、XOR等のブール演算を行わせる。よって、この例のメモリデバイス520においては、マイクロコード命令実行及び/または論理演算は、PIM対応デバイスのバンク521-1、...、521-7で行われてよい。
様々な実施形態において、制御回路531−1、...、531−7、シーケンス制御装置532−1、...、532−7、及び、タイミング回路533−1、...、533−7は、DRAMアレイの演算サイクルのシーケンスを生成するように動作してよく、及び/または、メモリデバイス520上(例えば、共有I/O線455−1、455−7のデータパスの計算ユニット460/660に含まれるバンク521-1、...、521-7上)の演算(例えば、論理演算)の実行を指示してよい。PIM対応デバイスの例においては、各シーケンスは、一緒になって特定の関数を達成するブール論理演算AND、OR、XOR等の演算を行うように設計されてよい。例えば、演算シーケンスは、複数のビットの合計を計算するために、1ビット加算の論理演算を繰り返し行ってよい。別の例においては、演算シーケンスの命令は、様々な他の種類の演算のうち、ある数のアルファブレンドグラフィック処理を行うように実行されてよい。演算の各シーケンスは、図1Aに示すメモリセルアレイ130(例えば、DRAMアレイ)に関連付けられた検出回路150、計算ユニット460/660、及び/または、追加論理回路170とのタイミング調整を提供するタイミング回路533−1、...、533−7に結合された先入れ先出し(FIF
O)バッファに供給されてよい。
図5に示すPIM対応メモリデバイス520の例において、タイミング回路533−1、...、533−7は、タイミングを提供してよく、4つのFIFOキューからのアレイに
対してコンフリクトのないアクセスを提供してよく、及び/または、計算ユニット460/660の演算に対するタイミングを調整してよい。この例においては、FIFOキューの1つは、アレイの計算をサポートしてよく、FIFOキューの1つは、マイクロコード(例えば、Ucode)命令フェッチのためであってよく、FIFOキューの1つは、共有I/O線、論理ストライプ、計算ユニット、接続回路等に関連するデータパスの制御のためであってよく、FIFOキューの1つは、DRAM I/Oのためであってよい。制御回路531−1、...、531−7とシーケンス制御装置532−1、...、532
−7は両方とも、ステータス情報を生成してよく、ステータス情報は、FIFOインタフェースを介してバンクアービター545に戻されてよい。バンクアービター545は、このステータスデータを集めて、例えば、HSI541を介して、ホスト110にステータスデータを報告してよい。
図6は、メモリデバイス520(図5)のコントローラ642の一部の別の例を示すブロック図である。コントローラ642は、本開示の幾つかの実施形態による、他の機能のうち、アレイ130(図1A)にローカルなデータパスの共有I/O線655を用いて、複数の論理ストライプ624−1、...、624−Nを有する計算ユニット660へのデータ値への移動を制御するように構成される。図6の例において、コントローラ642の一部は、図5のシーケンス制御装置532等、コントローラのシーケンス制御装置の部分の例である。
図6の実施形態例においては、コントローラ642のシーケンス制御装置部分はアレイ動作、計算コンポーネント動作、及び、制御動作の3つのクラスのマイクロコード命令に対して動作してよい。601で示されるように、ビット値は、上記のように、バンク区分のクワドラントの特定のサブアレイを特定するサブアレイマスクの一部として提供されてよい。602−1及び602−2で、図2の検出回路250に関して記載され、図7の731(A)及び706(B)としてより詳細に示される一次ラッチ及び二次ラッチに関連付けられたA及びBのアドレスポインタは、アレイ130(図1A)のデータ値の物理的アドレスに対するポインタを提供する。603において、ビット値は、さらに、アレイ130(図1A)内に追加のインデックスを提供し得る。図6の例で示すように、アドレスポインタ602−1及び602−2と、インデックス603とを使用して、アレイ130(図1A)の特定の行及びセンス線(例えば、行ワード線及びビット線)にアクセスする。
本明細書に記載の複数の共有I/O線655は、アレイ130(図1A)をアレイにローカルな共有I/O655のデータパスの計算ユニット660に接続してよい。命令が、コントローラ642から計算ユニットに提供されて、共有I/O線655から計算ユニット660の所与の論理ストライプ624−1、...、624−Nの所与の計算コンポーネント631−1、...、631−Zにデータ値をロードする。計算ユニット660へのマスクストライプ641は、読み出しまたは書き込みのためにセンス線と計算コンポーネントの値の選択を有効にしてよい。
604において、有線OR論理構成からの条件コードは、計算ユニット660を用いた有線OR演算のビット値結果を提供してよい。611において、ビット値は、計算コンポーネント演算命令のための第2のレジスタソースへのポインタとして、レジスタアドレスを提供してよい。612において、ビット値は、計算コンポーネント演算命令611の第2のレジスタソースへのレジスタアドレスポインタと共に、計算ユニット660の論理ストライプ624−1、...、624−Nのレジスタインデックスを示してよい。
図7は、本開示の幾つかの実施形態による、(例えば、124、424、及び、624で示され、図1B、図4、及び、図6に関連して記載される)論理ストライプの計算コンポーネント731を示す概略図である。図7は、本開示の幾つかの実施形態による、論理演算を実施できる計算ユニット460/660回路を示す概略図でもある。
図7は、ある実施形態における、(例えば、図3の共有I/O線355と関連して示され、記載される)相補共有I/O線対755−1及び755−2に直接結合されたラッチ706、及び/または、論理演算選択論理回路713、及び、パスゲート707−1及び707−2を介してラッチ706に結合された計算コンポーネント731を示す。ラッチ706は、制限ではなく例示として、相補共有I/O線対755−1及び755−2に直接結合されているのが図7に示されている。例えば、共有I/O線は、1つの共有I/O線755であってもよく、または、図7に示す相補共有I/O線対を含んでもよい。共有I/O線のどちらの実施形態も、様々な実施形態において、ラッチ706に選択可能に及び/または直接、結合されて、アレイの第1の行の第1のサブ行から第1のデータ値をロード(例えば、記憶)し、及び/または、計算コンポーネント731に選択可能に及び/または直接、結合されて、第2の行の第2のサブ行から第2のデータ値をロード(例えば、記憶)して、2つの記憶されたデータ値を用いて、計算コンポーネント731による論理演算の実行を可能にしてよい。
ある実施形態においては、計算コンポーネント731に関連付けられた複数のラッチ706があってよく、それによって、ラッチは、様々な実施形態において、選択可能に、直接、及び/または、間接的に、共有I/O線に結合されて、データ値を各ラッチにロードしてよく、ラッチは、次に、(例えば、ラッチの数に二乗よって決定される)複数の論理演算を実行するために、関連付けられた計算コンポーネントによって(例えば、コントローラによって指示されるように)選択可能に使用されてよい。よって、パスゲート707−1及び707−2を使用して、様々な実施形態において、ラッチ706、計算コンポーネント731、及び/または、論理演算選択論理回路713を互いに直接及び/または間接的に結合してよい、及び/または、共有I/O線755をラッチ706、計算コンポーネント731、及び/または、論理演算選択論理回路713に間接的に接続してよい。
図7に示すラッチ706は、図2に示し、図2に関連して記載した検出回路250に関連付けられたセンスアンプ206(例えば、一次ラッチ)に類似した方法で機能してよい。図7に示す計算コンポーネント731は、検出回路250に関連付けられた図2に示す計算コンポーネント231(例えば、二次ラッチ)に類似するように機能してよい。図7に示す論理演算選択論理回路713は、検出回路250に関連付けられた図2に示す論理演算選択論理回路213と類似するように機能してよい。パスゲート707−1及び707−2のゲートは、論理演算選択論理回路713の信号(例えば、Pass)によって制御されてよい。例えば、論理演算選択論理回路713の出力は、パスゲート707−1及び707−2のゲートに結合されてよい。さらに、計算コンポーネント731は、データ値を左右にシフトするように構成されたロード可能シフトレジスタを含んでよい。
図7に示す実施形態によると、計算コンポーネント731は、データ値を左右にシフトするように構成されたロード可能シフトレジスタの各段(例えば、シフトセル)を含んでよい。例えば、図7に示すように、シフトレジスタの各計算コンポーネント731(例えば、段)は、右シフトトランジスタ対781及び786と、左シフトトランジスタ対789及び790と、インバータ対787及び788とを含む。信号PHASE 1R、PHASE 2R、PHASE 1L、及び、PHASE 2Lが、各制御線782、783、791、及び、792に印加されて、本明細書に記載の実施形態による、論理演算の実行、及び/または、データのシフトに関連する対応する計算コンポーネント731のラッチへのフィードバックを有効/無効にしてよい。
図7に示す計算ユニット460/660回路は、ISO、TF、TT、FT、及び、FFを含むある数の論理選択制御入力制御線に結合された演算選択論理回路713を示す。分離トランジスタ750−1及び750−2が、ISO制御信号をアサートされことによって、有効にされると、複数の論理演算からの論理演算の選択が、論理選択制御入力線上の論理選択制御信号の条件と、相補共有I/O線対755−1及び755−2上に存在するデータ値とから決定される。
様々な実施形態によると、演算選択論理回路713は、スワップトランジスタ742のゲートとTF信号制御線との間に結合された論理選択トランジスタ762、パスゲート707−1及び707−2のゲートとTT信号制御線との間に結合された論理選択トランジスタ752、パスゲート707−1及び707−2のゲートとFT信号制御線との間に結合された論理選択トランジスタ754、及び、スワップトランジスタ742のゲートとFF信号制御線との間に結合された論理選択トランジスタ764の、4つの論理選択トランジスタを含んでよい。論理選択トランジスタ762及び752のゲートは、(ISO信号制御線に結合されたゲートを有する)分離トランジスタ750−1を通して真センス線に結合される。論理選択トランジスタ764及び754のゲートは、(ISO信号制御線に結合されたゲートを有する)分離トランジスタ750−2を通して相補センス線に結合される。
相補共有I/O線対755−1及び755−2に存在するデータ値は、パスゲート707−1及び707−2を介して計算コンポーネント731にロードされてよい。計算コンポーネント731は、ロード可能シフトレジスタを含んでよい。パスゲート707−1及び707−2がOPENである時、相補共有I/O線対755−1及び755−2上のデータ値(「A」)は、計算コンポーネント731に渡され、それによって、ロード可能シフトレジスタにロードされる。相補共有I/O線対755−1及び755−2上のデータ値は、センスアンプ706が開始(fire)される時、センスアンプによって記憶され
たデータ値(「B」)であってよい。この例においては、論理演算選択論理回路信号Passは高く、パスゲート707−1及び707−2をOPENする。
ISO、TF、TT、FT、及び、FF制御信号は、センスアンプ706のデータ値(「B」)と計算コンポーネント731のデータ値(「A」)とに基づいて、実施する論理関数を選択するように動作してよい。特に、ISO、TF、TT、FT、及び、FF制御信号は、相補共有I/O線対755−1及び755−2に存在するデータ値から独立して実施する論理関数を選択するように構成される(が、実施された論理演算の結果は、相補共有I/O線対755−1及び755−2に存在するデータ値に依存してよい)。相補共有I/O線対755−1及び755−2に存在するデータ値は、パスゲート707−1及び707−2のゲートを動作させるように論理回路を通して渡されないので、例えば、ISO、TF、TT、FT、及び、FF制御信号は、実施する論理演算を直接、選択する。
さらに、図7は、センスアンプ706と計算コンポーネント731との間で相補共有I/O線対755−1及び755−2の向きを交換するように構成されたスワップトランジスタ742を示す。スワップトランジスタ742がOPENの時、スワップトランジスタ742のセンスアンプ706側の相補共有I/O線対755−1及び755−2上のデータ値は、スワップトランジスタ742の計算コンポーネント731側の相補共有I/O線対755−1及び755−2に反対向きに結合され、それによって、計算コンポーネント731のロード可能シフトレジスタ内にロードされる。
ISO制御信号線がアクティブにされ、且つ、TT制御信号がアクティブに(例えば、高く)されて、真の共有I/O線上のデータ値が「1」となる、または、FT制御信号が
アクティブに(例えば、高く)されて、相補共有I/O線上のデータ値が「1」となる時、論理演算選択論理回路713の信号Passが、アクティブに(例えば、高く)されて、パスゲート707−1及び707−2をOPEN(例えば、通電)してよい。
真の共有I/O線上のデータ値が「1」であると、論理選択トランジスタ752及び762をOPENする。相補共有I/O線上のデータ値が「1」であると、論理選択トランジスタ754及び764をOPENする。ISO制御信号も、対応する共有I/O線(例えば、特定の論理選択トランジスタのゲートが結合される共有I/O線)上の各TT/FT制御信号もデータ値も高くない場合、パスゲート707−1及び707−2は、特定の論理選択トランジスタによってOPENされない。
ISO制御信号線がアクティブにされ、且つ、TF制御信号がアクティブに(例えば、高く)されて真の共有I/O線のデータ値が「1」である、または、FF制御信号がアクティブに(例えば、高く)されて相補共有I/O線上のデータ値が「1」である時、論理演算選択論理回路信号Passは、アクティブに(例えば、高く)されて、スワップトランジスタ742をOPEN(例えば、通電)してよい。対応する共有I/O線(例えば、特定の論理選択トランジスタのゲートが結合される共有I/O線)上の各制御信号もデータ値も高くない場合、スワップトランジスタ742は、特定の論理選択トランジスタによってOPENされない。
Pass制御信号は、必ずしも、Pass制御信号に対して相補的ではない。Pass制御信号及びPass制御信号が、同時に両方ともアクティブにされる、または、非アクティブにされることは可能である。しかしながら、Pass制御信号及びPass制御信号の両方と同時にアクティブにすることは、相補共有I/O線対を一緒に短絡させ、これは、避けるべき破壊的構成となり得る。
図7に示す計算ユニット460/660回路は、実施する複数の論理演算の1つを、4つの論理選択制御信号から直接、選択するように構成される(例えば、論理演算選択は、相補共有I/O線対に存在するデータ値に依存しない)。論理選択制御信号の一部の組み合わせは、パスゲート707−1及び707−2と、スワップトランジスタ742との両方を同時にOPENさせてよく、これは、相補共有I/O線対755−1及び755−2を一緒に短絡させる。本開示のある数の実施形態によると、図7に示す計算ユニット460/660回路によって実施され得る論理演算は、図8に示す論理表にまとめられた論理演算であってよい。
図8は、本開示の幾つかの実施形態による、図7に示す計算コンポーネント731及び関連する回路によって実施される選択可能な論理演算の結果を示す論理表である。選択可能な論理演算の結果は、図7に示す複数の共有I/O線755−1及び755−2のデータパスの計算ユニット460/660回路によって実施されてよい。4つの論理選択制御信号(例えば、TF、TT、FT、及び、FF)は、相補共有I/O線に存在する特定のデータ値と共に使用されて、計算ユニット460/660回路のセンスアンプ706(例えば、一次ラッチ)及び計算コンポーネント731(例えば、二次ラッチ)によって記憶された開始データ値(「A」及び「B」)を用いて、実施する複数の論理演算を選択してよい。4つの制御信号は、相補共有I/O線に存在する特定のデータ値と共に、パスゲート707−1及び707−2とスワップトランジスタ742との連続性を制御し、その後、計算コンポーネント731及び/またはセンスアンプ706のデータ値に、開始(firing)の前/後に影響を与える。スワップトランジスタ742の連続性を選択可能に制御する能力は、特に、逆元のデータ値(例えば、逆元のオペランド、及び/または、逆元の結果)を含む論理演算の実施を容易にする。
図8の論理表8−1は、844の列Aに示された計算コンポーネント731(例えば、二次ラッチ)に記憶された開始データ値と、845の列Bに示されたラッチ(例えば、一次ラッチとしてのセンスアンプ706)に記憶された開始データ値とを示す。論理表8−1の他の3つの列の見出しは、パスゲート707−1及び707−2とスワップトランジスタ742との連続性を指し、それらは、それぞれ、相補共有I/O線対755−1及び755−2に存在する特定のデータ値と共に、4つの論理選択制御信号(例えば、TF、TT、FT、及び、FF)の状態に応じて、OPENまたはCLOSEDに制御されてよい。「Not Open」の列は、パスゲート707−1及び707−2とスワップトランジスタ742との両方が通電していない状態に対応する。「Open True」は、パスゲート707−1及び707−2が通電状態にあることに対応し、「Open Invert」は、スワップトランジスタ742が通電状態にあることに対応する。パスゲート707−1及び707−2とスワップトランジスタ742の両方が通電状態にあることに対応する構成は、センス線が一緒に短絡される結果になるので、論理表8−1には反映されていない。
パスゲート707−1及び707−2とスワップトランジスタ742との連続性の選択的制御を介して、論理表8−1の上部の3つの列は、それぞれ、論理表8−1の下部の3つの列のそれぞれと組み合わされて、875で示される様々な接続パスによって示される9つの異なる論理演算に対応する3x3=9の異なる結果の組み合わせを提供してよい。AND、OR、NOT、NAND、NOR及びXORの論理演算を含む、計算ユニット460/660回路によって実施され得る9つの異なる選択可能な論理演算は、図8の論理表8−2にまとめられる。
図8の論理表8−2の列は、論理選択制御信号の状態を含む見出し880を示す。例えば、第1の論理選択制御信号の状態が、表8−2の行876に提供され、第2の論理選択制御信号の状態が、表8−2の行877に提供され、第3の論理選択制御信号の状態が、表8−2の行878に提供され、第4の論理選択制御信号の状態が、表8−2の行879に提供される。結果に対応する特定の論理演算は、表8−2の行847にまとめられる。
図9A〜図9Cは、本開示の幾つかの実施形態による、メモリデバイスのデータ値に対する演算を実行するための幾つかのスケジューリング方針の実施を示す概略図である。図9A〜図9Cに示す実施形態は、図の上から下に進む連続したタイムフレーム(演算サイクル)に示される計算ユニット960のある数の論理ストライプ924に共有I/O線及び/または接続回路を介して移動されたデータ値(ビット)の構成を示す。
ある実施形態においては、演算サイクルは、論理ストライプの数に対応するある数のサブ行から、共有I/O線を用いて、データ値を移動するための前述した連続サイクルに対応してよい。従って、1つのサブ行の論理ストライプに関して計算コンポーネントによって演算が行われる演算サイクルの各部分は、例えば、約2ns続いてよく、そのタイムフレーム中、次の演算サイクルに対して、他のサブ行からのデータ値の移動が開始されてよい。図9A及び図9Bは、L1、L2、...、L16とラベル付けされる924−1、9
24−2、...、924−16の16の論理ストライプを示し、各論理ストライプの1Kの計算コンポーネント及び/またはラッチが、特定の演算サイクル中、移動されたデータ値を保持(記憶)することは、整数1をその演算サイクルに示すことによって表される。
本明細書に記載のように、メモリデバイス(例えば、図1A及び図1Bの120)は、メモリセルアレイ(例えば、図1Aの130)と、メモリセルアレイに選択可能に結合された検出回路(例えば、図1Aの150、及び、図2の250)とを含んでよい。メモリデバイスは、アレイに関連付けられたインデータパス計算動作のデータパスとして共有さ
れる複数のI/O線(例えば、それぞれ、図1及び図3〜図7の155、355、455、555、655、755)をさらに含んでよい。複数の共有I/O線は、共有I/O線のデータパスの計算コンポーネント(例えば、図2〜図4、図6及び図7の231、331、431、631、731)に検出回路を選択可能に結合してよい。
コントローラ(例えば、図1A及び図1Bの140)は、アレイと関連付けられてよい。コントローラ140は、検出回路を介して、アレイの第1の行の第1のサブ行(例えば、図4の428−1)からの共有I/O線を介したデータパスの第1の論理ストライプ(例えば、図4の424−1)の第1の計算コンポーネント(例えば、図4の431−1)への第1のデータ値の移動を指示するように、また、検出回路を介して、第1の行の第2のサブ行(例えば、図4の428−2)からの共有I/O線を介したデータパスの第2の論理ストライプ(例えば、図4の424−2)の第2の計算コンポーネント(例えば、図4の431−1)への第2のデータ値の移動を指示するように構成されてよい。
コントローラ140は、第1の演算サイクルで、第1のサブ行(例えば、図4の428−1)からの第1のデータ値の移動を指示するように、また、第2の演算サイクルで、第2のサブ行(例えば、図4の428−2)から第2のデータ値の移動を指示するように構成されてよい。例えば、コントローラは、第1の演算サイクルにおいて、第1のサブ行の複数のデータ値のある数の、第1の論理ストライプの複数の第1の計算コンポーネントの対応する数への共有I/O線を介した第1の並行移動を指示するように構成されてよい。コントローラは、第2の演算サイクルにおいて、第2のサブ行の複数のデータ値のある数の、第2の論理ストライプの複数の第2の計算コンポーネントの対応する数への共有I/O線を介した第2の並行移動を指示するようにさらに構成されてよい。コントローラ140は、第1の演算サイクルにおいて、複数の第1の計算コンポーネントのある数によって、第1の論理ストライプに並行に移動された第1のサブ行の複数のデータ値の対応する数に対して演算(例えば、論理演算)の実行の開始を指示するように、且つ、第2の演算サイクルにおいて、複数の第2の計算コンポーネントのある数によって、第2の論理ストライプに並行に移動された第2のサブ行の複数のデータ値の対応する数に対して演算の実行の開始を指示するように構成されてよい。
図9Aに示すように、コントローラは、「ロックステップ」スケジューリングを実施するように構成されてよい。従って、コントローラは、第2の論理ストライプ(例えば、論理ストライプ924-2)の計算コンポーネントによる演算の実行の開始とほぼ同時に、第
2の演算サイクルにおいて、第1の論理ストライプ(例えば、論理ストライプ924−1)の計算コンポーネントによる演算の実行の開始を指示するように構成されてよい。例えば、論理ストライプL1、L2、...、L16の計算コンポーネントによる演算の実行は
、演算サイクルが完了し、論理ストライプの計算コンポーネント及び/またはラッチの全てに、対応するサブ行(例えば、図4の428-1、428−2、...、428−16
)から共有I/O線を介してデータ値が移動された後、開始されてよい。
あるいは、または、さらに、図9Bに示すように、コントローラは、「パイプライン」スケジューリングを実施するように構成されてよい。従って、コントローラは、第2の演算サイクルにおいて、第2のサブ行の複数のデータ値(例えば、図4の428−2)のある数の、第2の論理ストライプ(例えば、論理ストライプ924−1)への移動とほぼ同時に、第1の演算サイクルにおいて、第1の論理ストライプ(例えば、論理ストライプ924−1)の計算コンポーネントによる第1のサブ行(例えば、図4の428−1)の複数のデータ値のある数に対する演算の実行の開始を指示するように構成されてよい。
例えば、論理ストライプL1の計算コンポーネントによる演算の実行は、第1の演算サイクルにおいて、論理ストライプL1の計算コンポーネント及び/またはラッチへの第1
のサブ行からのデータ値のロード(記憶)の完了後であるが、それに続く演算サイクルにおいて、次のサブ行に対応する論理ストライプに対する演算が開始される前に、開始されてよい。しかしながら、様々な実施形態において、論理ストライプL1のデータ値に対する演算の実行中、次のサブ行からのデータ値の移動が、第2の演算サイクルにおける第2の論理ストライプでのそのデータ値への演算の実行のために開始されてよい。
図9Bの特定の論理ストライプの計算コンポーネント及び/またはラッチによる特定の演算サイクルにおけるデータ値の記憶の後、元のデータ値、及び/または、2つの元のデータ値に対する論理演算の結果は、整数1によって示されるように、論理ストライプに残ってよい。従って、コントローラは、図9Aのロックステップスケジューリングまたは図9Bのパイプラインスケジューリングに示すように、同じ論理ストライプに記憶及び/または移動されたデータ値に対する演算のシーケンス(例えば、AND、OR、NOT、NAND、NOR、及び、XORの論理演算の任意の数及び/または組み合わせ)の実行を指示してよい。
よって、L2において演算が開始される前に、L1において、1演算サイクル前の演算が開始され、L3において演算が開始される前に、L2において、1演算サイクル前の演算が開始される等なので、演算シーケンスの実行の完了は、時間的にずらされてよい。例えば、図9Bの一番下の最後の演算サイクルに関して示すように、L1が実行する演算シーケンスは、L2が実行する演算シーケンスの1演算サイクル前に完了し、L2が実行する演算シーケンスは、L3が実行する演算シーケンスが完了する1演算サイクル前に完了する等である。
従って、コントローラ140は、1つの論理ストライプの複数の計算コンポーネントを用いて、連続した複数の演算の実行を指示するように構成されてよい。連続した複数の演算の最後の演算が完了するまで、連続した複数の演算が、複数の計算コンポーネントのある数に対応する論理ストライプにアレイのサブ行から移動された複数のデータ値のある数、及び/または、連続した複数の演算の部分的完了の結果に対して行われてよい。
コントローラ140は、第1のデータ値に対する第1の演算の実行及び第2のデータ値に対する第2の演算の実行のためのスケジューリング方針(例えば、本明細書に記載のロックステップ、パイプライン、及び/または、シストリックなスケジューリング方針)を適用するように構成されてよい。特定のスケジューリング方針の適用は、(例えば、コントローラ540のシーケンス制御装置532及び/またはタイミング回路533によって指示される)、第1の論理ストライプの第1の計算コンポーネントによる第1のデータ値の意図した記憶のタイミング、及び、第2の論理ストライプの第2の計算コンポーネントによる第2のデータ値の意図した記憶のタイミングに基づいてよい。様々な実施形態において、第1の演算(例えば、第1の演算シーケンス)は、第2の演算(例えば、第2の演算シーケンス)と同じ演算であってよい、または、第1の演算は、第2の演算と異なってよい。コントローラは、第1の論理ストライプの第1の計算コンポーネントを用いた第1のデータ値に対する第1の演算の実行を特定のスケジューリング方針に基づいて指示するように、且つ、第2の論理ストライプの第2の計算コンポーネントを用いた第2のデータ値に対する第2の演算の実行をそのスケジューリング方針に基づいて指示するように構成されてよい。
ある実施形態においては、第1の論理ストライプの第1の計算コンポーネントは、第1のラッチに関連付けられてよい。よって、コントローラは、検出回路を介して、アレイの第2の行の第3のサブ行(例えば、異なる行の任意のサブ行)からの第3のデータ値の共有I/O線を介した第1の論理ストライプの第1のラッチへの移動を指示するように、且つ、第1の計算コンポーネントによって記憶された第1の行からの第1のデータ値と第1
のラッチに記憶された第2の行からの第3のデータ値とに対して論理演算の実行を指示するように構成されてよい。ある実施形態においては、第1のラッチは、第3のデータ値を記憶するセンスアンプ(例えば図2及び本明細書の他の箇所に関連して示され、記載されるセンスアンプ206)を含んでよい、または、であってよい。
本明細書に記載の複数の共有I/O線は、第1の行の第1のサブ行の複数のメモリセルのある数に対応する検出回路に記憶された複数のデータ値のある数の並行移動を、(358に示され、図3に関して記載される列選択回路を含んでよい、または、であってよい)マルチプレクサを介して選択可能に有効にする検出回路に、コントローラが指示するように、選択可能に結合するように構成されてよい。マルチプレクサは、本明細書に記載のように、複数のデータ値のある数のデータ値を、第1の論理ストライプの複数の第1の計算コンポーネントの対応する数に移動するように構成されてよい。第1のサブ行(例えば、428-1)の複数のメモリセルのある数は、第1の論理ストライプ(例えば、424−
1)の複数の第1の計算コンポーネント(例えば、431−1)のある数に対応してよい。
あるいは、または、さらに、図9Cに示すように、コントローラは、「シストリック」スケジューリングを実施するように構成されてよい。本明細書で使用される場合、シストリックは、配線で接続されたインデータパスプロセッサノード(例えば、本明細書に記載の論理ストライプの計算コンポーネント)のネットワークを通して流れるようにデータを入力して、メモリアレイ(例えば、130に示すDRAM型アレイ)の行及び/またはサブ行からのデータ入力を組み合わせ、処理、結合、及び/または、ソートして導き出された最終結果にすることを意味する。各ノードは、独立して、部分的な結果を計算してよく、部分的な結果をノード内に記憶してよく、また、(例えば、メモリアレイのある数の行及び/またはサブ行に記憶するために)導き出される最終結果を計算及び出力するまで部分的な結果をさらに処理するために、部分的な結果を下流に移動(例えば、転送及び/またはコピー)してよい。シストリックアレイは、複数命令複数データ(MIMD:multiple instruction multiple data)アーキテクチャと呼ばれてよい。
例えば、6つの論理ストライプ(例えば、領域924−A)のシーケンスの第1の論理ストライプ(例えば、図9Cの論理ストライプ924−1の計算コンポーネント及びラッチ)に入力された未処理のデータの第1のバッチ(例えば、2個のデータ値)が、処理されて、シストリック処理のために、別の(例えば、第2の)論理ストライプ(例えば、論理ストライプ924−2の計算コンポーネント及びラッチ)に移動(例えば、転送及び/またはコピー)されてよい。ある実施形態においては、未処理のデータの第2のバッチは、第1の論理ストライプに入力されてよく、第2のバッチが第2の論理ストライプに移動(例えば、転送及び/またはコピー)され、第1のバッチが第3の論理ストライプに移動(例えば、転送及び/またはコピー)された後、第3のバッチが続く等である。
待ち時間は、本明細書の記載では、第1の演算を実行するための未処理のデータの第1のバッチの第1の論理ストライプへの入力と、完全に処理されたデータとしての第1のバッチの出力との間の時間を意味する。例えば、6つの命令シーケンスを実行し、6つの演算サイクルの後(例えば、6つの演算シーケンスの6番目の演算を実行した後)処理されたデータが出力されると、6つの論理ストライプのシーケンスからの出力の待ち時間が終了する。
従って、ある実施形態においては、演算サイクルが終わる毎に、データの追加のバッチが入力されるので、待ち時間に続くメモリデバイスのあらゆる演算サイクルは、完全に処理されたデータのバッチを出力してよい。ある実施形態においては、複数の完全に処理さ
れたデータのバッチが、演算サイクル毎に、例えば、(例えば、図9Cの領域924−A、924−B、及び、924−Cによって示される)論理ストライプの複数の領域を用いてほぼ同時に、出力されてよい。
各演算が行われた後、未処理のデータがシーケンスの第1の論理ストライプに入力され、結果データ値が次の論理ストライプに移動されるのではなく、ある実施形態においては、未処理のデータの新しいバッチ(例えば、2個のデータ値)が、ある数の演算サイクルの経過(例えば、6つの演算のシーケンスの最初の演算が実行された後1〜5の演算サイクルが経過)した後、領域の第1の論理ストライプに入力されてよい。データ値の第1の論理ストライプへの入力のこのような遅延は、論理ストライプにバッファを導入し得る。例えば、前述の6つの論理演算シーケンスの第1のOR演算が、そのシーケンスの他の論理演算を実行するために6つの論理ストライプ進んだ箇所と、別の演算シーケンスを開始するために第1のOR演算の実行のために第1の論理ストライプに新しいデータ値を導入する箇所との間にバッファを導入し得る。このようなバッファに含まれる演算サイクルの数は、他の可能な要因のうち、あるシーケンスの異なる論理演算の実行に利用される時間の、及び/または、メモリアレイのサブ行から共有I/O線を介して第1の論理ストライプに移動されたデータ値に対する演算の実行の、論理ストライプの計算コンポーネントに関連付けられた複数のラッチによって前もって記憶されているデータ値に対する演算の実行に対する利用される時間の、起こり得る分散及び/または予測不能性等の要因によって決定される。
領域924−A、924−B、及び、924−Cは、それぞれ、6つの論理ストライプ(例えば、領域924−Aの論理ストライプ924−1(L1)、...、924−6(L
6)、領域924−Bの論理ストライプ924−7(L7)、...、924−12(L1
2)、及び、領域924−Cの論理ストライプ924−13(L13)、...、924−18(L18))を含むとして示され、各論理ストライプは、制限ではなく例として、6つの論理演算シーケンスで論理演算を行う。例えば、各領域は、6つより多いまたは少ない論理演算を有するシーケンスを行う6つより多いまたは少ない論理ストライプを含んでよい、及び/または、図9Cに示す計算ユニット960の18の論理ストライプ(例えば、924−1、...、924−18)の総数より多く、または、少なくなるように、3
つより多いまたは少ない領域があってよい。
多くのアプリケーションが、データ処理のために、長い及び/または連続したデータストリームの入力を伴い得る。このようなアプリケーションは、長い及び/または連続したデータストリームに動作し得る、他のアプリケーションのうち、例えば、信号処理、画像処理、音声認識、パケット検査、カンマ区切り(CSV)構文解析、アルファブレンドグラフィック処理、行列の乗算、及び、ニューラルネットを含み得る。ある実施形態においては、図9Cに示すように、この未処理のデータは、論理ストライプのアレイ(例えば、計算ユニット960)の図の(figurative)左側に入力されてよく、そのデータは、連続した論理ストライプの命令シーケンスの実行によって処理されてよく、また、結果(複数可)は、論理ストライプのシーケンス(複数可)の図の(figurative)左側で出力されてよい。
従って、本明細書に記載のように、メモリデバイス(例えば、図1A及び図1Bの120)は、メモリセルアレイ(例えば、図1Aの130)と、メモリセルアレイに選択可能に結合された検出回路(例えば、図1Aの150、及び、図2の250)とを含んでよい。検出回路は、様々な実施形態において、(例えば、206で示され、図2及び本明細書の他の箇所に関連して記載されるように)ある数のセンスアンプを含んでよい。メモリデバイスは、アレイに関連付けられたインデータパス計算動作のためのデータパスとして共有される複数のI/O線(例えば、それぞれ、図1及び図3〜図7の155、355、45
5、555、655、755)を含んでよい。複数の共有I/O線は、共有I/O線のデータパスの計算コンポーネント(例えば、図2〜図4、図6及び図7の231、331、431、631、731)に検出回路を選択可能に結合してよい。メモリデバイスは、データパスの複数の論理ストライプ(例えば、924−1、...、924−18)を含んで
よい。複数の論理ストライプは、第1の論理ストライプ(例えば、924−1)を含んでよく、第1の論理ストライプは、アレイの行(例えば、319)の第1のサブ行(例えば、428-1)の複数のメモリセル(図示せず)のある数に対応する複数の第1の計算コ
ンポーネント(例えば、631−1、...、631−Z)のある数を含んでよい。
コントローラ(例えば、図1A及び図1Bの140)は、アレイに関連付けられてよい。コントローラ140は、検出回路を介して、アレイの第1の行の第1のサブ行(例えば、428-1)からの第1のデータ値の共有I/O線を通ってデータパスの第1の論理ス
トライプの第1の計算コンポーネント(例えば、L1)への移動を指示するように構成されてよい。コントローラ140は、第1の計算コンポーネントを用いて、第1のサブ行からの第1のデータ値に対する第1の演算の実行を指示するように、また、第1の演算の実行によって生じる第2のデータ値の第1の論理ストライプ(例えば、L1)から接続回路(例えば、232)を介してデータパスの第2の論理ストライプ(例えば、L2)の第2の計算コンポーネント(例えば、第1の論理ストライプの第1の計算コンポーネントの位置に対応する計算コンポーネント)への移動を指示するようにさらに構成されてよい。
コントローラは、第2の論理ストライプ(例えば、L2)の第2の計算コンポーネントを用いて、第2のデータ値に対して第2の演算の実行を指示するように構成されてよい。コントローラは、第2の演算の実行によって生じる第3のデータ値を第2の論理ストライプ(例えば、L2)から接続回路(例えば、232)を介して第3の論理ストライプ(例えば、L3)の第3の計算コンポーネント(例えば、第1の論理ストライプの第1の計算コンポーネントの位置と第2の論理ストライプの第2の計算コンポーネントの位置とに対応する計算コンポーネント)に移動させることを指示するように構成されてよい。
従って、コントローラは、複数の論理ストライプの対応する数(例えば、領域924−AのL1、...、L6、領域924−BのL7、...、L12、及び、領域924−CのL13、..、L18)を通して、論理演算結果のシストリック移動によって、複数の論理演算シーケンスのある数(例えば、各領域924−A、924−B、及び/または、924−Cの上から下に示す演算サイクルの数)の実行を指示するように構成されてよい。複数の論理演算結果のある数が、複数の論理ストライプの対応する数の複数の計算コンポーネントの対応する数を用いて計算されてよい。例えば、領域(例えば、924−A)の第1の論理ストライプ(例えば、L1)または全ての論理ストライプ(例えば、L1、...、L6)の計算コンポーネント(例えば、631−1、...、631−Z)の数は、論理演算の結果(例えば、論理ストライプL6からの出力)の数に対応してよい。
様々な実施形態において、(例えば、領域924−A、924−B、及び、924−Cに示される)複数の論理演算シーケンスは、それぞれ、同じ論理演算シーケンス(例えば、OR、AND、XOR、OR、AND、及び、NOTのシーケンス)であってよい、または、複数の論理演算シーケンスは、他の論理演算シーケンスとは異なる少なくとも1つの論理演算シーケンスを含んでよい。例えば、複数の論理ストライプは、複数の論理演算シーケンスのある数に対応する複数の領域のうちのある数(例えば、924−A、924−B、及び、924−C)として構成されてよい。ある実施形態においては、コントローラは、複数の論理演算シーケンスのほぼ同時の開始を指示するように構成されてよく、ここで、複数の論理演算シーケンスのそれぞれは、複数の領域のうちの異なる領域で行われるように指示される。複数の領域の数(例えば、3つの領域924−A、924−B、及び、924−C)は、複数の論理演算シーケンスのある数(例えば、3つの領域924−
A、924−B、及び、924−Cの3つの論理演算シーケンス)によって分けられるアレイの行の複数のサブ行(例えば、サブ行428−1、...、428−18)の数に対応してよい。
コントローラは、第1の演算サイクル(例えば、第1の領域924−Aの上端からの第1の演算サイクル)において、第1の領域の複数の論理ストライプの対応する数上の複数の第1の計算コンポーネントのある数(例えば、各論理ストライプの計算コンポーネント631−1)による、第1のサブ行(例えば、428-1)からの第1のデータ値に対する
第1の論理演算シーケンスの実行の開始を指示するように構成されてよい。コントローラは、第2の演算サイクル(例えば、第1の領域924−Aの上端からの第2の演算サイクル)において、第2の領域(例えば、領域924−B)の複数の論理ストライプの対応する数上の複数の第2の計算コンポーネントのある数の第2の計算コンポーネント(例えば、各論理ストライプの計算コンポーネント631−1)による、第2のサブ行(例えば、428-2)からの第2のデータ値に対する第2の論理演算シーケンスの実行の開始を指
示するように構成されてよい。
コントローラは、第1の演算サイクルにおいて、第1の領域の論理ストライプの計算コンポーネントによる第1のデータ値に対する第1の論理演算シーケンスの実行を指示するように構成されてよい。コントローラは、第2のサブ行からの第2のデータ値を共有I/O線を介して第2の領域の第2の計算コンポーネントに移動するのとほぼ同時に、第2の演算サイクルにおいて、第1のサブ行からの第1のデータ値の共有I/O線を介した第1の領域の第1の計算コンポーネントへの移動を指示するようにさらに構成されてよい。
コントローラは、第2の領域(例えば、領域924−B)の論理ストライプ(例えば、L7、...、L12)の計算コンポーネントによる第2のデータ値に対する第2の論理演算シーケンスの実行とほぼ同時に、第2の演算サイクルにおいて、第1の領域(例えば、領域924−A)の論理ストライプ(例えば、L1、...、L6)の計算コンポーネントによる第1のデータ値に対する第1の論理演算シーケンスの実行を指示するように構成されてよい。同様に、第3の演算サイクルにおいて、コントローラは、第2の領域(例えば、領域924−B)の論理ストライプ(例えば、L7、...、L12)の計算コンポーネントによる第2のデータ値に対する第2の論理演算シーケンスの実行と、第3の領域(例えば、領域924−C)の論理ストライプ(例えば、L13、..、L18)の計算コンポーネントによる第3のデータ値に対する第3の論理演算シーケンスの実行とほぼ同時に、第1の領域(例えば、領域924−A)の論理ストライプ(例えば、L1、...、L6)の計算コンポーネントによる第1のデータ値に対する第1の論理演算シーケンスの実行を指示するように構成されてよい。
よって、領域924−BのL7で論理演算シーケンスが開始される1演算サイクル前に、領域924−AのL1で論理演算シーケンスが開始され、L13で演算が開始される1演算サイクル前に、L7で論理演算シーケンスが開始されるので、論理演算のシーケンスの実行の完了は、時間的にずらされてよい。例えば、図9Cの一番下の最後の演算サイクルに関して示されるように、L1によって開始された演算シーケンスは、L7によって開始された演算シーケンスが完了する1演算サイクル前に完了しており、L7によって開始された演算シーケンスは、L13によって開始された演算シーケンスが完了する1演算サイクル前に完了している。
図9A、図9B及び図9Cの上から下に示される演算サイクルの数は、制限ではなく例として、示している。例えば、演算サイクルの数は、各図によって異なっているが、図の1つまたは複数の演算サイクルの数は、他の図の演算サイクルの数と同じであってもよく、異なっていてもよい。
本明細書に記載のインデータパス計算動作の装置及び方法は、例えば、P1M DRAMの実施態様のコントローラの動作に対する幾つかの変更を含む。例えば、コントローラは、ある数のサブコントローラ(図示せず)に対する演算シーケンスの個々の演算の命令の割り当てを調整してよく、それによって、例えば、バンク121、バンク区分423、サブアレイ425−1、...、425−32、計算ユニット660、論理ストライプ92
4−1、...、924−18、及び/または、領域924−A、924−B、924−C
のそれぞれに記憶されたデータ値に関して、各サブコントローラが別個の演算を指示し得る。例えば、論理ストライプ毎に1Kの計算コンポーネントを有する論理ストライプに関して、1Kの異なる論理演算シーケンスが、潜在的に、コントローラ140、及び/または、対応する数のサブコントローラによって指示されるように、(例えば、ほぼ同時に)開始されてよい。
例えば、サブコントローラは、入力データ値を行のサブ行から検出回路を介して特定の計算ユニットの特定の論理ストライプの特定の計算コンポーネントに移動(例えば、転送及び/またはコピー)することを(例えば、命令の実行によって)指示するように構成されてよい。サブコントローラは、シーケンスの論理演算の各実行の後、結果として生じる処理されたデータ値を演算が行われた論理ストライプから、別の(例えば、次の)論理ストライプの対応する計算コンポーネントに、演算シーケンス(例えば、シストリックシーケンス)の次の演算の実行のために、移動(例えば、転送、及び/または、コピー)することを指示するように構成されてよい。
本明細書に記載のインデータパス計算動作のシストリックデータ移動の利点は、このように構成されたメモリデバイスが超並列化及び計算能力を有効に利用し得ることを含んでよい。例えば、メモリデバイスは、処理されたデータ値を1つの演算から次の演算に並行に出力している間、演算シーケンスの複数の、独立した、及び/または、一意の演算をほぼ同時に行うために、メモリデバイスの計算能力及び実行能力を拡張してよい。
従って、本明細書に記載の実施形態は、処理リソースによる非一時的命令の実行によって行われる(例えば、本明細書に記載のシストリックデータ移動による)インデータパス計算動作のためにメモリデバイスを動作させる方法を提供する。本明細書に記載のように、方法は、メモリセルアレイ第1の行の第1のサブ行のメモリセルから第1の論理ストライプに移動したデータ値であって、アレイとデータパスの複数の論理ストライプとによって共有されたI/Oを介して移動されたデータ値に対して第1の演算を行うことを含んでよい。方法は、また、第1の演算が実行されると、データ値を、第1の論理ストライプと第2の論理ストライプを選択可能に結合する接続回路を介して、選択された第2の論理ストライプに移動することと、2の論理ストライプに移動されたデータ値に対して第2の演算を行うこととを含んでよい。
方法は、非一時的命令のセットの実行によって、第1の演算を実行することと、データ値を移動することと、第2の演算を行うこととをさらに含んでよい。非一時的命令のセットは、本明細書に記載のように、他のコンポーネントのうち、アレイの処理リソース、共有I/O線、複数の論理ストライプ、及び/または、接続回路を介して、コントローラ及び/またはサブコントローラによって実行されてよい。
方法は、第1の論理ストライプの第1の計算コンポーネントを用いて第1の演算を行うことと、第2の論理ストライプの第2の計算コンポーネント(例えば、第1の論理ストライプの第1の計算コンポーネントの位置に対応する計算コンポーネント)を用いて第2の演算を行うこともさらに含んでよい。様々な実施形態において、第1の演算及び第2の演算は、コントローラ及び/またはサブコントローラが指示するように、行われてよい。第
1の演算及び第2の演算は、複数の論理ストライプのある数(例えば、領域924−AのL1、...、L6、領域924−BのL7、...、L12、及び、領域924−CのL13、...、L18)に対応する複数の論理演算の数(例えば、論理演算シーケンスの6つの論理演算)の最初の2つの演算として行われてよい。複数の論理演算は、第1のサブ行のメモリセルから移動されたデータ値とは異なる結果を生むように行われた連続した複数の論理演算であってよい。
方法は、連続した複数の論理演算の最後の演算の完了の結果を、最後の論理ストライプ(例えば、領域924−AのL6、領域924−BのL12、及び/または、領域924−CのL18)からアレイの行の選択されたメモリセルに共有I/O線を介して移動することをさらに含んでよい。最後の論理ストライプとは、連続した複数の論理演算の最後の演算が行われる論理ストライプを意味する。結果を記憶するためのアレイの行は、様々な実施形態において、以前、入力データ値がそこから移動された行(単数または複数)のサブ行(単数または複数)と、同じまたは異なるバンク、バンク区分、クワドラント、及び/または、サブアレイの(例えば、DRAMメモリデバイス)の行であってよい。
本開示の実施形態は、DRAMの実施態様の改良されたデータパス(例えば、共有I/O線)を用いることによって、PIMアレイのデータ移動の速さ、レート、及び/または効率を向上させてよい。本明細書に記載のように、メモリデバイスのバンク位置の対のソース位置及び宛先位置は、複数の共有I/O線を介して結合するように構成されてよい。メモリデバイスのバンクは、本明細書に記載のように、メモリセルアレイと、複数のセンス線を介してアレイに結合された検出回路であってセンスアンプ及び計算コンポーネントを含む検出回路と、アレイ及び検出回路に複数の共有I/O線を介して結合された計算ユニット回路であってセンスアンプ及び計算コンポーネントを有し、演算を実行するように構成された複数の論理ストライプを含む計算ユニット回路とを含み得る。コントローラは、アレイ、検出回路、及び、計算ユニット回路に結合される。
アレイのソース位置から計算ユニット回路の宛先位置にデータ値を移動(例えば、コピー、転送、及び/または、トランスポート)するコマンドをコントローラから受信してよい。データ値は、センスアンプ及び/または計算コンポーネントを用いて、複数の共有I/O線を介してソース位置から宛先位置に移動されてよい。
検出回路、センスアンプ、計算コンポーネント、ラッチ、論理ストライプ、共有I/O線、列選択回路、接続回路、マルチプレクサ等の様々な組み合わせ及び構成を含む実施形態の例を本明細書に示し記載したが、本開示の実施形態は、本明細書に明示的に記載したこれらの組み合わせに限定されない。本明細書に開示された検出回路、センスアンプ、計算コンポーネント、ラッチ、論理ストライプ、共有I/O線、列選択回路、接続回路、マルチプレクサ等の他の組み合わせ及び構成は、開示の範囲内に明示的に含まれる。
具体的な実施形態を本明細書に示し、記載したが、同じ結果を得るために計算された配置が、図示した具体的な実施形態に代わってよいことを当業者は理解されよう。本開示は、本開示の1つまたは複数の実施形態の適合または変形を含むものとする。上記記載は、制限ではなく例示的に行ったものであることは理解されたい。上記実施形態、及び、本明細書に具体的に記載しなかった他の実施形態の組み合わせは、上記記載を読むと、当業者には明らかであろう。本開示の1つまたは複数の実施形態の範囲は、上記構造及びプロセスが使用される他の適用例も含む。よって、本開示の1つまたは複数の実施形態の範囲は、添付の特許請求の範囲を、このような特許請求の範囲の権利がある均等物の全範囲と共に、参照して、決定される。
上記発明の詳細な説明において、開示の簡素化の目的で、幾つかの特徴は、1つの実施
形態にまとめられる。開示のこの方法は、本開示の開示された実施形態が、各請求項に明示的に記載されるよりも多くの特徴を使用する必要があるという意図を反映するものと解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明の主題は、開示された1つの実施形態の全ての特徴より少ない特徴にある。従って、以下の特許請求の範囲は、発明の詳細な説明に組み込まれ、各請求項は、それ自体が、別個の実施形態として成立する。

Claims (15)

  1. 複数の共有入力/出力(I/O)線であって、
    メモリセルのアレイの行の第1のサブ行をデータパスの第1の計算コンポーネントに検出回路を介して選択可能に結合して、前記第1のサブ行から前記第1の計算コンポーネントに第1のデータ値を移動するように、且つ、
    前記行の第2のサブ行を前記データパスの第2の計算コンポーネントに前記検出回路を介して選択的に結合して、前記第2のサブ行から前記第2の計算コンポーネントに第2のデータ値を移動するように、
    構成された前記複数の共有入力/出力(I/O)線と、
    前記第2のデータ値の前記第2のサブ行から前記第2の計算コンポーネントへの移動とほぼ同時に、前記第1のサブ行から移動された前記第1のデータ値に対して計算動作を行うように前記第1の計算コンポーネントに指示するように構成されたコントローラと、
    を含む、装置。
  2. 前記データパスは、前記第1のサブ行の複数のメモリセルのある数に対応する複数の第1の計算コンポーネントのある数を含む第1の論理ストライプと、
    前記第2のサブ行の複数のメモリセルのある数に対応する複数の第2の計算コンポーネントのある数を含む第2の論理ストライプと、
    をさらに含む、請求項1に記載の装置。
  3. 前記データパスは、複数の論理ストライプであって、それぞれ、複数の計算コンポーネントを含む前記複数の論理ストライプを含む計算ユニットをさらに含み、
    前記複数の計算コンポーネントは、それぞれ、前記アレイにローカルな前記複数の共有I/O線の少なくとも1つに関連付けられる、
    請求項1に記載の装置。
  4. 前記データパスは、前記行の複数のサブ行のある数に対応する複数の論理ストライプのある数をさらに含む、請求項1〜3のいずれか1項に記載の装置。
  5. 前記データパスは、前記行のサブ行の複数のメモリセルのある数に対応する前記複数の共有I/O線のある数をさらに含み、
    論理ストライプは、前記論理ストライプに結合された前記サブ行の前記複数のメモリセルの前記数に対応する複数の計算コンポーネントのある数を含む、
    請求項1〜3のいずれか1項に記載の装置。
  6. 命令を生成するように構成されたホストと、
    前記ホストに結合されたメモリデバイスであって、
    オペランドを記憶するように構成されたメモリセルアレイと、
    前記アレイの行の第1のサブ行の複数のメモリセルのある数に対応する複数の第1の計算コンポーネントのある数を含む第1の論理ストライプを含む、データパス計算動作のためのデータパスの複数の論理ストライプと、
    を含む前記メモリデバイスと、
    制御回路であって、
    前記アレイの第1の行の第1のサブ行からの、データパスとして共有される入力/出力(I/O)線を介した、前記データパスの前記第1の論理ストライプの第1の計算コンポーネントへの第1のデータ値の移動と、
    前記第1の計算コンポーネントを用いた、前記第1のサブ行からの前記第1のデータ値に対する第1の演算の実行と、
    前記第1の演算の実行により生じる第2のデータ値の、接続回路を介した前記第1の論理ストライプから前記データパスの第2の論理ストライプの第2の計算コンポーネントへの移動と、
    を指示する前記ホストからの命令を実行するように構成された前記制御回路と、
    を含む、システム。
  7. 前記制御回路は、前記メモリデバイスにローカルで、前記ホストの外部にある、請求項6に記載のシステム。
  8. 前記制御回路は、前記第2の論理ストライプの前記第2の計算コンポーネントを用いて、前記第2のデータ値に対する第2の演算の実行を指示する前記ホストからの命令を実行するようにさらに構成される、請求項6に記載のシステム。
  9. 前記制御回路は、前記第2の演算の実行により生じる第3のデータ値の、前記接続回路を介した前記第2の論理ストライプから第3の論理ストライプの第3の計算コンポーネントへの移動を指示する前記ホストからの命令を実行するようにさらに構成される、請求項6〜8のいずれか1項に記載のシステム。
  10. 前記制御回路は、複数の論理ストライプの対応する数を通して論理演算結果のシストリック移動による複数の論理演算シーケンスのある数の実行を指示する前記ホストからの命令を実行するようにさらに構成され、
    複数の前記論理演算結果のうちのある数は、前記複数の論理ストライプの前記対応する数の複数の計算コンポーネントの対応する数を用いて計算される、
    請求項6〜8のいずれか1項に記載のシステム。
  11. 前記複数の論理ストライプは、複数の論理演算シーケンスのある数に対応する複数の領域のある数を含み、
    前記制御回路は、前記複数の論理演算シーケンスの開始をほぼ同時に指示する前記ホストからの命令を実行するようにさらに構成され、
    前記複数の論理演算シーケンスは、それぞれ、前記複数の領域の異なる領域で行われるように指示される、
    請求項6〜8のいずれか1項に記載のシステム。
  12. メモリデバイスを動作させる方法であって、
    メモリセルアレイの第1の行の第1のサブ行のメモリセルからインデータパス計算動作のためにデータパスの第1の計算コンポーネントに移動されたデータ値に対して第1の演算を行うことと、
    前記第1の計算コンポーネントと第2の計算コンポーネントとを選択可能に結合する接続回路を介して、前記第1の行の第2のサブ行のメモリセルから前記データパスの選択された前記第2の計算コンポーネント第2の演算の実行を可能にするために、第2のデータ値を前記第1の演算の実行と同時に移動することと、
    を含
    複数の共有入力/出力(I/O)線は、
    前記第1のサブ行を前記第1の計算コンポーネントに、および
    前記第2のサブ行を前記第2の計算コンポーネントに
    検出回路を介して選択的に結合されるように構成される、
    前記方法。
  13. 前記方法は
    1の論理ストライプの前記第1の計算コンポーネントを用いて前記第1の演算を行うことと
    2の論理ストライプの前記第2の計算コンポーネントを用いて前記第2の演算を行うことと、
    をさらに含む、請求項12に記載の方法。
  14. 前記方法は、
    前記第1の演算及び前記第2の演算を、複数の論理ストライプのある数に対応する複数の論理演算のある数の最初の2つの演算として行うことをさらに含み、
    前記複数の論理演算は、前記第1のサブ行の前記メモリセルから移動された前記データ値と、ある数の出力されたデータ値とに対して行われて、結果であるデータ値を生む連続した複数の論理演算である、
    請求項12または13に記載の方法。
  15. 前記方法は、前記連続した複数の論理演算の最後の演算の完了の結果を、最後の論理ストライプから前記アレイの行の選択されたメモリセルに移動することをさらに含み、
    前記最後の論理ストライプは、前記最後の演算が行われる論理ストライプである、
    請求項12または13に記載の方法。
JP2019551436A 2017-03-22 2018-03-12 インデータパス計算動作のための装置及び方法 Active JP6791522B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/466,477 US10185674B2 (en) 2017-03-22 2017-03-22 Apparatus and methods for in data path compute operations
US15/466,477 2017-03-22
PCT/US2018/021931 WO2018175129A1 (en) 2017-03-22 2018-03-12 Apparatus and methods for in data path compute operations

Publications (2)

Publication Number Publication Date
JP2020512653A JP2020512653A (ja) 2020-04-23
JP6791522B2 true JP6791522B2 (ja) 2020-11-25

Family

ID=63582613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019551436A Active JP6791522B2 (ja) 2017-03-22 2018-03-12 インデータパス計算動作のための装置及び方法

Country Status (7)

Country Link
US (5) US10185674B2 (ja)
EP (1) EP3583597A4 (ja)
JP (1) JP6791522B2 (ja)
KR (2) KR20190121873A (ja)
CN (1) CN110462738B (ja)
TW (1) TWI659427B (ja)
WO (1) WO2018175129A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10185674B2 (en) * 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
KR20190073102A (ko) * 2017-12-18 2019-06-26 삼성전자주식회사 비트 라인 감지 증폭기, 반도체 메모리 장치, 그리고 그것의 멀티 비트 데이터의 센싱 방법
US11094371B2 (en) 2019-03-11 2021-08-17 Samsung Electronics Co., Ltd. Memory device for processing operation and method of operating the same
US11769043B2 (en) 2019-10-25 2023-09-26 Samsung Electronics Co., Ltd. Batch size pipelined PIM accelerator for vision inference on multiple images
KR102299020B1 (ko) * 2020-05-11 2021-09-07 윈본드 일렉트로닉스 코포레이션 인공지능 동작을 위한 메모리 장치
US11262949B2 (en) * 2020-05-28 2022-03-01 Advanced Micro Devices, Inc. Command throughput in PIM-enabled memory using available data bus bandwidth
US11152056B1 (en) * 2020-09-14 2021-10-19 Micron Technology, Inc. Integrated assemblies
TWI773106B (zh) * 2021-01-28 2022-08-01 華邦電子股份有限公司 具有運算功能的記憶體裝置及其操作方法
CN113625994B (zh) * 2021-10-12 2022-01-04 华控清交信息科技(北京)有限公司 一种数据处理方法和处理核
US11836128B1 (en) * 2023-07-21 2023-12-05 Sadram, Inc. Self-addressing memory

Family Cites Families (324)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380046A (en) 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
JPS6032911B2 (ja) 1979-07-26 1985-07-31 株式会社東芝 半導体記憶装置
US4435792A (en) 1982-06-30 1984-03-06 Sun Microsystems, Inc. Raster memory manipulation apparatus
US4727474A (en) 1983-02-18 1988-02-23 Loral Corporation Staging memory for massively parallel processor
EP0214718A3 (en) 1985-07-22 1990-04-04 Alliant Computer Systems Corporation Digital computer
US5201039A (en) 1987-09-30 1993-04-06 Mitsubishi Denki Kabushiki Kaisha Multiple address-space data processor with addressable register and context switching
US4843264A (en) 1987-11-25 1989-06-27 Visic, Inc. Dynamic sense amplifier for CMOS static RAM
US5276643A (en) 1988-08-11 1994-01-04 Siemens Aktiengesellschaft Integrated semiconductor circuit
JPH0713858B2 (ja) 1988-08-30 1995-02-15 三菱電機株式会社 半導体記憶装置
US5023838A (en) 1988-12-02 1991-06-11 Ncr Corporation Random access memory device with integral logic capability
US4958378A (en) 1989-04-26 1990-09-18 Sun Microsystems, Inc. Method and apparatus for detecting changes in raster data
US5253308A (en) 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
DE69132495T2 (de) 1990-03-16 2001-06-13 Texas Instruments Inc., Dallas Verteilter Verarbeitungsspeicher
JP2979584B2 (ja) * 1990-05-28 1999-11-15 日本電気株式会社 半導体記憶装置の読み出し方法
US5034636A (en) 1990-06-04 1991-07-23 Motorola, Inc. Sense amplifier with an integral logic function
US5210850A (en) 1990-06-15 1993-05-11 Compaq Computer Corporation Memory address space determination using programmable limit registers with single-ended comparators
JP3361825B2 (ja) 1990-08-22 2003-01-07 テキサス インスツルメンツ インコーポレイテツド メモリ・アレイ・アーキテクチャ
JPH06103599B2 (ja) 1990-11-16 1994-12-14 三菱電機株式会社 半導体集積回路装置
US5325519A (en) 1991-10-18 1994-06-28 Texas Microsystems, Inc. Fault tolerant computer with archival rollback capabilities
FR2685973B1 (fr) 1992-01-03 1994-02-25 France Telecom Point memoire pour memoire associative.
KR950005095Y1 (ko) 1992-03-18 1995-06-22 문정환 양방향성 그로벌 비트 라인을 갖는 dram
KR940004434A (ko) 1992-08-25 1994-03-15 윌리엄 이. 힐러 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법
KR950004854B1 (ko) 1992-10-08 1995-05-15 삼성전자 주식회사 반도체 메모리 장치
US5485373A (en) 1993-03-25 1996-01-16 Taligent, Inc. Language-sensitive text searching system with modified Boyer-Moore process
US5440482A (en) 1993-03-25 1995-08-08 Taligent, Inc. Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order
US5369622A (en) 1993-04-20 1994-11-29 Micron Semiconductor, Inc. Memory with isolated digit lines
US5754478A (en) 1993-04-20 1998-05-19 Micron Technology, Inc. Fast, low power, write scheme for memory circuits using pulsed off isolation device
JP2663838B2 (ja) 1993-07-27 1997-10-15 日本電気株式会社 半導体集積回路装置
JP3252306B2 (ja) 1993-08-10 2002-02-04 株式会社日立製作所 半導体不揮発性記憶装置
JP3904244B2 (ja) 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
JP3251421B2 (ja) 1994-04-11 2002-01-28 株式会社日立製作所 半導体集積回路
US5655113A (en) 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
JPH0831168A (ja) 1994-07-13 1996-02-02 Hitachi Ltd 半導体記憶装置
US5481500A (en) 1994-07-22 1996-01-02 International Business Machines Corporation Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories
US5615404A (en) 1994-10-31 1997-03-25 Intel Corporation System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals
US5638128A (en) 1994-11-08 1997-06-10 General Instrument Corporation Of Delaware Pixel interpolation filters for video decompression processor
US5724366A (en) 1995-05-16 1998-03-03 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
KR0146530B1 (ko) 1995-05-25 1998-09-15 김광호 단속제어회로를 구비한 반도체 메모리 장치와 제어방법
US7301541B2 (en) 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US6385634B1 (en) 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
JP2812262B2 (ja) 1995-08-31 1998-10-22 日本電気株式会社 連想記憶装置
JP2817836B2 (ja) 1995-11-30 1998-10-30 日本電気株式会社 半導体メモリ装置
JP3356612B2 (ja) 1996-02-29 2002-12-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 高速な輪郭スムージング方法及び装置
US6092186A (en) 1996-05-07 2000-07-18 Lucent Technologies Inc. Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device
US5915084A (en) 1996-09-30 1999-06-22 Advanced Micro Devices, Inc. Scannable sense amplifier circuit
US5991209A (en) 1997-04-11 1999-11-23 Raytheon Company Split sense amplifier and staging buffer for wide memory architecture
JP3592887B2 (ja) 1997-04-30 2004-11-24 株式会社東芝 不揮発性半導体記憶装置
US6510098B1 (en) 1997-05-28 2003-01-21 Cirrus Logic, Inc. Method and apparatus for transferring data in a dual port memory
JPH1115773A (ja) 1997-06-24 1999-01-22 Matsushita Electron Corp 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法
US5935263A (en) 1997-07-01 1999-08-10 Micron Technology, Inc. Method and apparatus for memory array compressed data testing
US6195734B1 (en) 1997-07-02 2001-02-27 Micron Technology, Inc. System for implementing a graphic address remapping table as a virtual register file in system memory
US6181698B1 (en) 1997-07-09 2001-01-30 Yoichi Hariguchi Network routing table using content addressable memory
US6025221A (en) 1997-08-22 2000-02-15 Micron Technology, Inc. Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks
US5991785A (en) 1997-11-13 1999-11-23 Lucent Technologies Inc. Determining an extremum value and its index in an array using a dual-accumulation processor
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6163862A (en) 1997-12-01 2000-12-19 International Business Machines Corporation On-chip test circuit for evaluating an on-chip signal using an external test signal
JP3488612B2 (ja) 1997-12-11 2004-01-19 株式会社東芝 センス増幅回路
US5986942A (en) 1998-01-20 1999-11-16 Nec Corporation Semiconductor memory device
JPH11260057A (ja) 1998-03-13 1999-09-24 Nec Corp 半導体記憶装置
JPH11265995A (ja) 1998-03-17 1999-09-28 Mitsubishi Electric Corp 半導体記憶装置
JPH11306751A (ja) 1998-04-22 1999-11-05 Toshiba Corp 半導体記憶装置
US6005799A (en) 1998-08-06 1999-12-21 Silicon Aquarius Methods and circuits for single-memory dynamic cell multivalue data storage
US6141286A (en) 1998-08-21 2000-10-31 Micron Technology, Inc. Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines
US7409694B2 (en) 1998-09-09 2008-08-05 Microsoft Corporation Highly componentized system architecture with loadable virtual memory manager
JP2000173269A (ja) 1998-12-08 2000-06-23 Mitsubishi Electric Corp 半導体記憶装置
KR100381968B1 (ko) 1998-12-30 2004-03-24 주식회사 하이닉스반도체 고속동작용디램
US5999435A (en) 1999-01-15 1999-12-07 Fast-Chip, Inc. Content addressable memory device
US6389507B1 (en) 1999-01-15 2002-05-14 Gigabus, Inc. Memory device search system and method
US6134164A (en) 1999-04-22 2000-10-17 International Business Machines Corp. Sensing circuit for a memory cell array
US6741104B2 (en) 1999-05-26 2004-05-25 Micron Technology, Inc. DRAM sense amplifier for low voltages
US6157578A (en) 1999-07-15 2000-12-05 Stmicroelectronics, Inc. Method and apparatus for accessing a memory device
US6208544B1 (en) 1999-09-09 2001-03-27 Harris Corporation Content addressable memory cell providing simultaneous read and compare capability
US6578058B1 (en) 1999-10-06 2003-06-10 Agilent Technologies, Inc. System and method for comparing values from target systems
US7124221B1 (en) 1999-10-19 2006-10-17 Rambus Inc. Low latency multi-level communication interface
US6418498B1 (en) 1999-12-30 2002-07-09 Intel Corporation Integrated system management memory for system management interrupt handler independent of BIOS and operating system
JP4627103B2 (ja) 2000-01-18 2011-02-09 富士通セミコンダクター株式会社 半導体記憶装置及びその制御方法
WO2001057875A1 (fr) 2000-02-04 2001-08-09 Hitachi, Ltd. Dispositif semi-conducteur
WO2001065359A2 (en) 2000-02-29 2001-09-07 Peter Petrov Method and apparatus for building a memory image
US7028170B2 (en) 2000-03-08 2006-04-11 Sun Microsystems, Inc. Processing architecture having a compare capability
JP3983969B2 (ja) 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
US6678678B2 (en) 2000-03-09 2004-01-13 Braodcom Corporation Method and apparatus for high speed table search
JP3822412B2 (ja) 2000-03-28 2006-09-20 株式会社東芝 半導体記憶装置
US6965648B1 (en) 2000-05-04 2005-11-15 Sun Microsystems, Inc. Source synchronous link integrity validation
KR100869870B1 (ko) 2000-07-07 2008-11-24 모사이드 테크놀로지스, 인코포레이티드 메모리 소자에서의 읽기 명령 수행 방법 및 dram액세스 방법
US6466499B1 (en) 2000-07-11 2002-10-15 Micron Technology, Inc. DRAM sense amplifier having pre-charged transistor body nodes
US7302582B2 (en) 2000-08-21 2007-11-27 United States Postal Service Delivery point validation system
US6301164B1 (en) 2000-08-25 2001-10-09 Micron Technology, Inc. Antifuse method to repair columns in a prefetched output memory architecture
US6704828B1 (en) 2000-08-31 2004-03-09 Micron Technology, Inc. System and method for implementing data pre-fetch having reduced data lines and/or higher data rates
US6948056B1 (en) 2000-09-28 2005-09-20 Intel Corporation Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages
US6304477B1 (en) 2001-01-31 2001-10-16 Motorola, Inc. Content addressable magnetic random access memory
US6563754B1 (en) 2001-02-08 2003-05-13 Integrated Device Technology, Inc. DRAM circuit with separate refresh memory
US6650158B2 (en) 2001-02-21 2003-11-18 Ramtron International Corporation Ferroelectric non-volatile logic elements
US7546438B2 (en) 2001-07-19 2009-06-09 Chung Shine C Algorithm mapping, specialized instructions and architecture features for smart memory computing
US6807614B2 (en) 2001-07-19 2004-10-19 Shine C. Chung Method and apparatus for using smart memories in computing
ITRM20010531A1 (it) 2001-08-31 2003-02-28 Micron Technology Inc Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash.
US7260672B2 (en) 2001-09-07 2007-08-21 Intel Corporation Using data stored in a destructive-read memory
US7062689B2 (en) 2001-12-20 2006-06-13 Arm Limited Method and apparatus for memory self testing
US20040073773A1 (en) 2002-02-06 2004-04-15 Victor Demjanenko Vector processor architecture and methods performed therein
US6707729B2 (en) 2002-02-15 2004-03-16 Micron Technology, Inc. Physically alternating sense amplifier activation
AU2003221680A1 (en) 2002-04-09 2003-10-27 The Research Foundation Of State University Of New York Multiplier-based processor-in-memory architectures for image and graphics processing
JP2003331598A (ja) 2002-05-13 2003-11-21 Mitsubishi Electric Corp 半導体記憶装置
US7406494B2 (en) 2002-05-14 2008-07-29 Texas Instruments Incorporated Method of generating a cycle-efficient bit-reverse index array for a wireless communication system
JP2003346484A (ja) 2002-05-23 2003-12-05 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US6789099B2 (en) 2002-06-10 2004-09-07 International Business Machines Corporation Sense-amp based adder with source follower evaluation tree
US7450438B1 (en) * 2002-06-20 2008-11-11 Cisco Technology, Inc. Crossbar apparatus for a forwarding table memory in a router
US7054178B1 (en) 2002-09-06 2006-05-30 Etron Technology, Inc. Datapath architecture for high area efficiency
US6987693B2 (en) 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US7079407B1 (en) 2002-10-18 2006-07-18 Netlogic Microsystems, Inc. Content addressable memory (CAM) device including match line sensing
US6765834B2 (en) 2002-11-19 2004-07-20 Hewlett-Packard Development Company, L.P. System and method for sensing memory cells of an array of memory cells
KR100546307B1 (ko) 2002-12-05 2006-01-26 삼성전자주식회사 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃
US6731542B1 (en) 2002-12-05 2004-05-04 Advanced Micro Devices, Inc. Circuit for accurate memory read operations
US6888372B1 (en) 2002-12-20 2005-05-03 Altera Corporation Programmable logic device with soft multiplier
AU2002353406A1 (en) 2002-12-27 2004-07-22 Solid State System Co., Ltd. Nonvolatile memory unit with specific cache
US7346903B2 (en) 2003-02-04 2008-03-18 Sun Microsystems, Inc. Compiling and linking modules of a cycle-based logic design
US6768679B1 (en) 2003-02-10 2004-07-27 Advanced Micro Devices, Inc. Selection circuit for accurate memory read operations
US6819612B1 (en) 2003-03-13 2004-11-16 Advanced Micro Devices, Inc. Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage
US6865122B2 (en) 2003-04-11 2005-03-08 Intel Corporation Reclaiming blocks in a block-alterable memory
US7447720B2 (en) 2003-04-23 2008-11-04 Micron Technology, Inc. Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements
US7574466B2 (en) 2003-04-23 2009-08-11 Micron Technology, Inc. Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements
US7454451B2 (en) 2003-04-23 2008-11-18 Micron Technology, Inc. Method for finding local extrema of a set of values for a parallel processing element
US9015390B2 (en) 2003-04-25 2015-04-21 Micron Technology, Inc. Active memory data compression system and method
DE10319271A1 (de) 2003-04-29 2004-11-25 Infineon Technologies Ag Speicher-Schaltungsanordnung und Verfahren zur Herstellung
JP3898152B2 (ja) 2003-05-27 2007-03-28 ローム株式会社 演算機能付き記憶装置および演算記憶方法
ATE366985T1 (de) 2003-09-04 2007-08-15 Koninkl Philips Electronics Nv Integrierte schaltung und verfahren zum cache- umabbilden
US6956770B2 (en) 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7177183B2 (en) 2003-09-30 2007-02-13 Sandisk 3D Llc Multiple twin cell non-volatile memory array and logic block structure and method therefor
KR100546385B1 (ko) * 2003-09-30 2006-01-26 삼성전자주식회사 입출력라인 감지증폭기와 입출력라인 드라이버 제어방법및 이를 이용하는 반도체 메모리장치
US7913125B2 (en) 2003-11-04 2011-03-22 Lsi Corporation BISR mode to test the redundant elements and regular functional memory to avoid test escapes
US6950771B1 (en) 2003-12-09 2005-09-27 Xilinx, Inc. Correlation of electrical test data with physical defect data
US7631236B2 (en) 2004-01-29 2009-12-08 International Business Machines Corporation Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method
US7401281B2 (en) 2004-01-29 2008-07-15 International Business Machines Corporation Remote BIST high speed test and redundancy calculation
JP4819316B2 (ja) 2004-02-23 2011-11-24 ルネサスエレクトロニクス株式会社 半導体装置
US7088606B2 (en) 2004-03-10 2006-08-08 Altera Corporation Dynamic RAM storage techniques
US7020017B2 (en) 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
US7120063B1 (en) 2004-05-07 2006-10-10 Spansion Llc Flash memory cell and methods for programming and erasing
US8522205B2 (en) 2004-05-18 2013-08-27 Oracle International Corporation Packaging multiple groups of read-only files of an application's components into multiple shared libraries
JP2006127460A (ja) 2004-06-09 2006-05-18 Renesas Technology Corp 半導体装置、半導体信号処理装置、およびクロスバースイッチ
US7061817B2 (en) 2004-06-30 2006-06-13 Micron Technology, Inc. Data path having grounded precharge operation and test compression capability
US7116602B2 (en) 2004-07-15 2006-10-03 Micron Technology, Inc. Method and system for controlling refresh to avoid memory cell data losses
US7434024B2 (en) 2004-08-30 2008-10-07 Ati Technologies, Inc. SIMD processor with register addressing, buffer stall and methods
US7685365B2 (en) 2004-09-30 2010-03-23 Intel Corporation Transactional memory execution utilizing virtual memory
US20060069849A1 (en) 2004-09-30 2006-03-30 Rudelic John C Methods and apparatus to update information in a memory
US20060149804A1 (en) 2004-11-30 2006-07-06 International Business Machines Corporation Multiply-sum dot product instruction with mask and splat
US7230851B2 (en) 2004-12-23 2007-06-12 Sandisk Corporation Reducing floating gate to floating gate coupling effect
KR100673901B1 (ko) 2005-01-28 2007-01-25 주식회사 하이닉스반도체 저전압용 반도체 메모리 장치
US7543119B2 (en) 2005-02-10 2009-06-02 Richard Edward Hessel Vector processor
US7624313B2 (en) 2005-03-28 2009-11-24 Hewlett-Packard Development Company, L.P. TCAM BIST with redundancy
US7187585B2 (en) 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7196928B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7193898B2 (en) 2005-06-20 2007-03-20 Sandisk Corporation Compensation currents in non-volatile memory read operations
KR100720644B1 (ko) 2005-11-17 2007-05-21 삼성전자주식회사 메모리 장치 및 메모리 그 동작 방법
JP4804479B2 (ja) 2005-12-13 2011-11-02 スパンション エルエルシー 半導体装置およびその制御方法
JP5129450B2 (ja) 2006-01-16 2013-01-30 ルネサスエレクトロニクス株式会社 情報処理装置
US8077533B2 (en) 2006-01-23 2011-12-13 Freescale Semiconductor, Inc. Memory and method for sensing data in a memory using complementary sensing scheme
JP4989900B2 (ja) 2006-01-31 2012-08-01 ルネサスエレクトロニクス株式会社 並列演算処理装置
US7400532B2 (en) 2006-02-16 2008-07-15 Micron Technology, Inc. Programming method to reduce gate coupling interference for non-volatile memory
KR100755370B1 (ko) 2006-04-17 2007-09-04 삼성전자주식회사 반도체 메모리 장치
TW200828333A (en) 2006-04-28 2008-07-01 Samsung Electronics Co Ltd Sense amplifier circuit and sense amplifier-based flip-flop having the same
US7752417B2 (en) 2006-06-05 2010-07-06 Oracle America, Inc. Dynamic selection of memory virtualization techniques
US7372715B2 (en) 2006-06-14 2008-05-13 Micron Technology, Inc. Architecture and method for NAND flash memory
US8069377B2 (en) 2006-06-26 2011-11-29 Micron Technology, Inc. Integrated circuit having memory array including ECC and column redundancy and method of operating the same
US7724559B2 (en) 2006-07-14 2010-05-25 International Business Machines Corporation Self-referenced match-line sense amplifier for content addressable memories
US7443729B2 (en) 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7885119B2 (en) 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7692466B2 (en) 2006-08-18 2010-04-06 Ati Technologies Ulc Sense amplifier based flip-flop
US7805587B1 (en) 2006-11-01 2010-09-28 Nvidia Corporation Memory addressing controlled by PTE fields
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US7471536B2 (en) 2006-12-08 2008-12-30 Texas Instruments Incorporated Match mismatch emulation scheme for an addressed location in a CAM
US7460387B2 (en) 2007-01-05 2008-12-02 International Business Machines Corporation eDRAM hierarchical differential sense amp
US7743303B2 (en) 2007-01-22 2010-06-22 Micron Technology, Inc. Defective memory block remapping method and system, and memory device and processor-based system using same
US7937535B2 (en) 2007-02-22 2011-05-03 Arm Limited Managing cache coherency in a data processing apparatus
US7804718B2 (en) 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US8427891B2 (en) 2007-04-17 2013-04-23 Rambus Inc. Hybrid volatile and non-volatile memory device with a shared interface circuit
US7515501B2 (en) 2007-05-24 2009-04-07 Micron Technology, Inc. Memory architecture having local column select lines
US7492640B2 (en) 2007-06-07 2009-02-17 Sandisk Corporation Sensing with bit-line lockout control in non-volatile memory
JP2009009665A (ja) 2007-06-29 2009-01-15 Elpida Memory Inc 半導体記憶装置
US7996749B2 (en) 2007-07-03 2011-08-09 Altera Corporation Signal loss detector for high-speed serial interface of a programmable logic device
US7489543B1 (en) 2007-07-25 2009-02-10 Micron Technology, Inc. Programming multilevel cell memory arrays
US7694195B2 (en) 2007-08-14 2010-04-06 Dell Products L.P. System and method for using a memory mapping function to map memory defects
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US7787319B2 (en) 2007-09-06 2010-08-31 Innovative Silicon Isi Sa Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same
US8042082B2 (en) 2007-09-12 2011-10-18 Neal Solomon Three dimensional memory in a system on a chip
US7965564B2 (en) 2007-09-18 2011-06-21 Zikbit Ltd. Processor arrays made of standard memory cells
US7663928B2 (en) 2007-10-09 2010-02-16 Ememory Technology Inc. Sense amplifier circuit having current mirror architecture
US8156299B2 (en) 2007-10-19 2012-04-10 Virident Systems Inc. Managing memory systems containing components with asymmetric characteristics
US7924628B2 (en) 2007-11-14 2011-04-12 Spansion Israel Ltd Operation of a non-volatile memory array
US7979667B2 (en) 2007-12-10 2011-07-12 Spansion Llc Memory array search engine
US7755960B2 (en) 2007-12-17 2010-07-13 Stmicroelectronics Sa Memory including a performance test circuit
US8495438B2 (en) 2007-12-28 2013-07-23 Texas Instruments Incorporated Technique for memory imprint reliability improvement
US7808854B2 (en) 2008-02-19 2010-10-05 Kabushiki Kaisha Toshiba Systems and methods for data transfers between memory cells
JP5194302B2 (ja) 2008-02-20 2013-05-08 ルネサスエレクトロニクス株式会社 半導体信号処理装置
US20090254694A1 (en) 2008-04-02 2009-10-08 Zikbit Ltd. Memory device with integrated parallel processing
US8332580B2 (en) 2008-04-02 2012-12-11 Zikbit Ltd. System, method and apparatus for memory with embedded associative section for computations
US7957206B2 (en) 2008-04-04 2011-06-07 Micron Technology, Inc. Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same
US8339824B2 (en) 2008-07-02 2012-12-25 Cooke Laurence H Nearest neighbor serial content addressable memory
US8555037B2 (en) 2008-08-15 2013-10-08 Apple Inc. Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture
US8417921B2 (en) 2008-08-15 2013-04-09 Apple Inc. Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector
US8259509B2 (en) 2008-08-18 2012-09-04 Elpida Memory, Inc. Semiconductor memory device and method with auxiliary I/O line assist circuit and functionality
ITRM20080543A1 (it) 2008-10-09 2010-04-10 Micron Technology Inc Architettura e metodo per la programmazione di memorie.
KR101596283B1 (ko) 2008-12-19 2016-02-23 삼성전자 주식회사 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치
KR101622922B1 (ko) 2009-03-06 2016-05-20 삼성전자 주식회사 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치
US8484276B2 (en) 2009-03-18 2013-07-09 International Business Machines Corporation Processing array data on SIMD multi-core processor architectures
KR20100134235A (ko) 2009-06-15 2010-12-23 삼성전자주식회사 반도체 메모리 장치
US7898864B2 (en) 2009-06-24 2011-03-01 Sandisk Corporation Read operation for memory with compensation for coupling based on write-erase cycles
US8412985B1 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Hardwired remapped memory
US8412987B2 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Non-volatile memory to store memory remap information
US9076527B2 (en) 2009-07-16 2015-07-07 Mikamonu Group Ltd. Charge sharing in a TCAM array
US8238173B2 (en) 2009-07-16 2012-08-07 Zikbit Ltd Using storage cells to perform computation
JP4951041B2 (ja) 2009-08-06 2012-06-13 株式会社東芝 半導体記憶装置
US8059438B2 (en) 2009-08-28 2011-11-15 International Business Machines Corporation Content addressable memory array programmed to perform logic operations
US8077532B2 (en) 2009-09-02 2011-12-13 Micron Technology, Inc. Small unit internal verify read in a memory device
US8482975B2 (en) 2009-09-14 2013-07-09 Micron Technology, Inc. Memory kink checking
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US9477636B2 (en) 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory
WO2011048522A2 (en) 2009-10-21 2011-04-28 Zikbit Ltd. Neighborhood operations for parallel processing
US8650232B2 (en) 2009-10-26 2014-02-11 Via Technologies, Inc. System and method for determination of a horizontal minimum of digital values
KR101634340B1 (ko) 2009-11-03 2016-06-28 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
US8583896B2 (en) 2009-11-13 2013-11-12 Nec Laboratories America, Inc. Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain
KR20110054773A (ko) 2009-11-18 2011-05-25 삼성전자주식회사 비트라인 디스털번스를 개선하는 반도체 메모리 장치
US8089815B2 (en) 2009-11-24 2012-01-03 Sandisk Technologies Inc. Programming memory with bit line floating to reduce channel-to-floating gate coupling
US8605015B2 (en) 2009-12-23 2013-12-10 Syndiant, Inc. Spatial light modulator with masking-comparators
JP2011146102A (ja) 2010-01-15 2011-07-28 Elpida Memory Inc 半導体装置及びデータ処理システム
CN102141905B (zh) 2010-01-29 2015-02-25 上海芯豪微电子有限公司 一种处理器体系结构
US8164942B2 (en) 2010-02-01 2012-04-24 International Business Machines Corporation High performance eDRAM sense amplifier
US8533245B1 (en) 2010-03-03 2013-09-10 Altera Corporation Multipliers with a reduced number of memory blocks
WO2011137189A1 (en) 2010-04-27 2011-11-03 Cornell Research Foundation System and methods for mapping and searching objects in multidimensional space
KR101119371B1 (ko) 2010-04-29 2012-03-06 주식회사 하이닉스반도체 반도체 메모리 장치 및 이의 동작 방법
US8559232B2 (en) 2010-05-03 2013-10-15 Aplus Flash Technology, Inc. DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation
US8351278B2 (en) 2010-06-23 2013-01-08 International Business Machines Corporation Jam latch for latching memory array output data
KR101143471B1 (ko) 2010-07-02 2012-05-11 에스케이하이닉스 주식회사 센스앰프 및 이를 포함하는 반도체 장치
US20120017039A1 (en) 2010-07-16 2012-01-19 Plx Technology, Inc. Caching using virtual memory
US8462532B1 (en) 2010-08-31 2013-06-11 Netlogic Microsystems, Inc. Fast quaternary content addressable memory cell
US8347154B2 (en) 2010-09-21 2013-01-01 International Business Machines Corporation Use of hashing function to distinguish random and repeat errors in a memory system
US8904115B2 (en) 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US8332367B2 (en) 2010-10-20 2012-12-11 International Business Machines Corporation Parallel data redundancy removal
KR101148352B1 (ko) 2010-11-02 2012-05-21 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
JP5528987B2 (ja) 2010-11-11 2014-06-25 ピーエスフォー ルクスコ エスエイアールエル 半導体装置
US8553482B2 (en) 2010-11-29 2013-10-08 Apple Inc. Sense amplifier and sense amplifier latch having common control
US9165023B2 (en) 2011-01-31 2015-10-20 Freescale Semiconductor, Inc. Integrated circuit device and method for determining an index of an extreme value within an array of values
KR20120088973A (ko) 2011-02-01 2012-08-09 삼성전자주식회사 로컬 센스앰프 회로 및 이를 포함하는 반도체 메모리 장치
JP2012174016A (ja) 2011-02-22 2012-09-10 Renesas Electronics Corp データ処理装置およびそのデータ処理方法
JP5259765B2 (ja) 2011-03-29 2013-08-07 株式会社東芝 不揮発性半導体メモリ
US8725730B2 (en) 2011-05-23 2014-05-13 Hewlett-Packard Development Company, L.P. Responding to a query in a data processing system
US8706958B2 (en) 2011-09-01 2014-04-22 Thomas Hein Data mask encoding in data bit inversion scheme
CN103907157B (zh) 2011-10-28 2017-10-17 慧与发展有限责任合伙企业 进行行移位的可移位存储器
US8891297B2 (en) 2011-11-01 2014-11-18 Micron Technology, Inc. Memory cell sensing
KR101321481B1 (ko) 2011-11-04 2013-10-28 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이를 위한 테스트 회로
US9830158B2 (en) 2011-11-04 2017-11-28 Nvidia Corporation Speculative execution and rollback
KR20130052971A (ko) 2011-11-14 2013-05-23 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
GB2511957B (en) 2011-11-22 2015-02-11 Mips Tech Inc Processor with kernel mode access to user space virtual addresses
US9665371B2 (en) 2011-11-30 2017-05-30 Intel Corporation Providing vector horizontal compare functionality within a vector register
KR20130072869A (ko) 2011-12-22 2013-07-02 에스케이하이닉스 주식회사 프리차지 회로 및 비휘발성 메모리 장치
WO2013095592A1 (en) 2011-12-22 2013-06-27 Intel Corporation Apparatus and method for vector compute and accumulate
US20130286705A1 (en) 2012-04-26 2013-10-31 David B. Grover Low power content addressable memory hitline precharge and sensing circuit
US8938603B2 (en) 2012-05-31 2015-01-20 Samsung Electronics Co., Ltd. Cache system optimized for cache miss detection
US20130332707A1 (en) 2012-06-07 2013-12-12 Intel Corporation Speed up big-number multiplication using single instruction multiple data (simd) architectures
US9442854B2 (en) * 2012-11-15 2016-09-13 Elwha Llc Memory circuitry including computational circuitry for performing supplemental functions
KR102062301B1 (ko) 2013-01-03 2020-01-03 삼성전자주식회사 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법
EP2755138B1 (en) * 2013-01-11 2018-11-28 Fujitsu Limited Testing implementation parameters of a computer program in a distributed environment
US20140215185A1 (en) 2013-01-29 2014-07-31 Atmel Norway Fetching instructions of a loop routine
US9158667B2 (en) * 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9171153B2 (en) 2013-05-17 2015-10-27 Hewlett-Packard Development Company, L.P. Bloom filter with memory element
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9536577B2 (en) 2013-09-26 2017-01-03 Intel Corporation Data movement in memory devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US20150270015A1 (en) 2014-03-19 2015-09-24 Micron Technology, Inc. Memory mapping
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
WO2015171905A1 (en) 2014-05-08 2015-11-12 Micron Technology, Inc. In-memory lightweight coherency
US10838865B2 (en) 2014-05-08 2020-11-17 Micron Technology, Inc. Stacked memory device system interconnect directory-based cache coherence methodology
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
WO2016144726A1 (en) 2015-03-12 2016-09-15 Micron Technology, Inc. Apparatuses and methods for data movement
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US9911727B2 (en) * 2015-03-16 2018-03-06 Taiwan Semiconductor Manufacturing Company, Ltd. Strapping structure of memory circuit
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US10379772B2 (en) * 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
KR102617843B1 (ko) * 2016-05-13 2023-12-27 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US9825647B1 (en) * 2016-09-28 2017-11-21 Intel Corporation Method and apparatus for decompression acceleration in multi-cycle decoder based platforms
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
US10838899B2 (en) * 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US10185674B2 (en) * 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory

Also Published As

Publication number Publication date
EP3583597A4 (en) 2020-03-04
KR20190121873A (ko) 2019-10-28
US20200050563A1 (en) 2020-02-13
CN110462738B (zh) 2021-12-07
US10452578B2 (en) 2019-10-22
US11550742B2 (en) 2023-01-10
TWI659427B (zh) 2019-05-11
US10185674B2 (en) 2019-01-22
US20190121757A1 (en) 2019-04-25
KR20200060778A (ko) 2020-06-01
CN110462738A (zh) 2019-11-15
WO2018175129A1 (en) 2018-09-27
EP3583597A1 (en) 2019-12-25
JP2020512653A (ja) 2020-04-23
TW201839759A (zh) 2018-11-01
US11048652B2 (en) 2021-06-29
US10817442B2 (en) 2020-10-27
US20210326281A1 (en) 2021-10-21
US20210042249A1 (en) 2021-02-11
US20180276151A1 (en) 2018-09-27
KR102306034B1 (ko) 2021-10-01

Similar Documents

Publication Publication Date Title
JP6791522B2 (ja) インデータパス計算動作のための装置及び方法
CN109147842B (zh) 同时进行数据路径中计算操作的设备及方法
US11010085B2 (en) Apparatuses and methods for data movement
KR102305389B1 (ko) 데이터 경로에서의 컴퓨팅 장치 및 방법
US20190013061A1 (en) Apparatuses and methods for data movement
US11474965B2 (en) Apparatuses and methods for in-memory data switching networks
US11514957B2 (en) Bank to bank data transfer

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191114

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191114

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200708

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201028

R150 Certificate of patent or registration of utility model

Ref document number: 6791522

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250