JP2018073413A - Dram基盤の確率論的コンピューティングシステム - Google Patents
Dram基盤の確率論的コンピューティングシステム Download PDFInfo
- Publication number
- JP2018073413A JP2018073413A JP2017204581A JP2017204581A JP2018073413A JP 2018073413 A JP2018073413 A JP 2018073413A JP 2017204581 A JP2017204581 A JP 2017204581A JP 2017204581 A JP2017204581 A JP 2017204581A JP 2018073413 A JP2018073413 A JP 2018073413A
- Authority
- JP
- Japan
- Prior art keywords
- dram
- dpu
- row
- computing
- rows
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/402—Digital 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 with charge regeneration individual to each memory cell, i.e. internal refresh
- G11C11/4023—Digital 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 with charge regeneration individual to each memory cell, i.e. internal refresh using field effect transistors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/403—Digital 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 with charge regeneration common to a multiplicity of memory cells, i.e. external refresh
- G11C11/405—Digital 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 with charge regeneration common to a multiplicity of memory cells, i.e. external refresh with three charge-transfer gates, e.g. MOS transistors, per cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4094—Bit-line management or control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4097—Bit-line organisation, e.g. bit-line layout, folded bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Dram (AREA)
- Advance Control (AREA)
- Memory System (AREA)
- Logic Circuits (AREA)
Abstract
【解決手段】システムはDPUの他に、受信命令に対応する最小のDPU演算を決定するライブラリ、受信命令に対応して決定された最少1つのDPU演算に対する最少1つのDPU命令を形成するコンパイラ、最少1つのDPU命令を最少1つのDPUに伝送するドライバを含む。DPUは最少1つの列を含むアレイに配列された複数のDRAM基盤コンピューティングセルを含む最少1つのコンピューティングセルアレイを含み、最少1つの列は論理機能を提供するために構成されたDRAM基盤コンピューティングセルの最少3つの行を含み、論理機能は最少3つの行の中で第1行及び第2行で動作し、論理機能の結果を最少3つの行の中で第3行に格納する。
【選択図】図1
Description
一実施形態で、前記少なくとも1つの列のDRAM基盤コンピューティングセルの各々は3つのトランジスタと1つのキャパシタとからなる(3T1C)DRAMメモリセル、又は、1つのトランジスタと1つのキャパシタとからなる(1T1C)DRAMメモリセルを含み、前記少なくとも1つの列の前記DRAM基盤コンピューティングセルはNOR論理機能を提供する。
一実施形態で、前記DPUは少なくとも1つの列を含むアレイに配列された複数のDRAM基盤確率論的コンピューティングセルをさらに含み、前記少なくとも1つの列はDRAM基盤確率論的コンピューティングセルの少なくとも3つの行を含み、前記DRAM基盤確率論的コンピューティングセルは前記少なくとも3つの行の中で第1行及び第2行で動作する確率論的論理機能を提供し、前記確率論的論理機能の結果を前記少なくとも3つの行の中で第3行に格納するように構成される。
一実施形態で、前記少なくとも1つの列の前記DRAM基盤確率論的コンピューティングセルの各々は3つのトランジスタと1つのキャパシタとからなる(3T1C)DRAMメモリセル、又は、1つのトランジスタと1つのキャパシタとからなる(1T1C)DRAMメモリセルを含む。
一実施形態で、少なくとも1つのDPU演算は確率論的コンピューティング演算を含む。
前記DPUの各々は、少なくとも1つの列を含むアレイ内に配列された複数のDRAM基盤コンピューティングセルを含む少なくとも1つのコンピューティングセルアレイを含み、前記少なくとも1つの列は、DRAM基盤コンピューティングセルの少なくとも3つの行を含み、前記DRAM基盤コンピューティングセルは、前記少なくとも3つの行の中で第1行及び第2行で動作する論理機能を提供し、前記論理機能の結果を前記少なくとも3つの行の中で第3行に格納するように構成される。
前記DPUの各々は更に、少なくとも1つの列を含むアレイに配列された複数のDRAM基盤確率論的コンピューティングセルを含み、前記少なくとも1つの列は、DRAM基盤確率論的コンピューティングセルの少なくとも3つの行を含み、前記DRAM基盤確率論的コンピューティングセルは、前記少なくとも3つの行の中で第1行及び第2行で動作する確率論的論理機能を提供し、前記確率論的論理機能の結果を前記少なくとも3つの行の中で第3行に格納するように構成され、
命令を受信するインタフェイスと、前記受信された命令に対応する少なくとも1つのDPU演算を決定するライブラリと、前記受信された命令に対応する少なくとも1つのDPU命令を前記少なくとも1つのDPUに伝送するドライバと、を含む。
一実施形態で、前記少なくとも1つの列の前記DRAM基盤コンピューティングセルはNOR論理機能を提供する。
一実施形態で、前記少なくとも1つのDPU演算は確率論的コンピューティング演算を含むシステムを提供する。
一実施形態で、前記少なくとも1つの列の前記DRAM基盤確率論的コンピューティングセルの各々は3つのトランジスタと1つのキャパシタとからなる(3T1C)DRAMメモリセル、又は、1つのトランジスタと1つのキャパシタとからなる(1T1C)DRAMメモリセルを含む。
また、各バンク101はバッファ103を含む。バッファ103は個別サブアレイ102と連結され、システムバス104と連結される。バッファ103はサブアレイ102内の1つのロー(row)全体を読み出し、以後、該当ローを再び同一のサブアレイ又は他のサブアレイに書き込む。バッファ103は、また該当ローデータのコピーをサブアレイ102内の複数のマット(mat)105a〜105pにブロードキャスト(broadcast、一斉通知)する。一実施形態で、バンク101とシステムバス104はHツリー連結されたバンクを提供するように構成される。
各マット105はデータセルアレイデコーダ110、コンピューティングセルアレイデコーダ111、インタマット(inter−mat)シフトアレイ112、及びインタマットフォワーディングアレイ113を隣接するマットと共有する。一実施形態で、データセルアレイデコーダ110、コンピューティングセルアレイデコーダ111、及びインタマットシフトアレイ112は隣接するマット105の間にサブアレイコントローラ114と交互に物理的に配置される。一実施形態で、デコーダ110、111は従来のDRAMタイプのメモリデコーダのように動作する。
即ち、サブアレイコントローラ114は連関されたデータセルアレイ106に対して、データセルアレイデコーダ110によってデコーディングされるソース(発信地)/目的地(destination)(src/dst)アドレスを出力する。そして、コンピューティングセルアレイ107の場合、サブアレイコントローラ114はコンピューティングセルアレイデコーダ111によってデコーディングされる動作/計算(op/calc)アドレスを出力する。また、サブアレイコントローラ114は2つ以上のサブアレイコントローラ114が協調した方法により動作できるようにする命令をDRAMバスからのアドレスとして受信する。また、サブアレイコントローラ114はデータ移動回路を制御する。例えば、サブアレイコントローラ114はイントラマットシフトアレイ108、インタマットシフトアレイ112、及びインタマットフォワーディングアレイ113を制御する。
一実施形態で、ALUはNOR機能を提供するように構成され、図3のビットラインBLと電気的に連結されたロジック回路がNORロジック動作を提供する。しかし、ビットラインBLと電気的に連結されたロジック回路(即ち、ALU)が他の機能動作(例えば、排他ノア(XNOR)、加算(ADD)、セレクト(SET)、MAX、SIGN、多重化(MUX)、CSA(Conditional Sum Addition)ロジック、乗算、ポップカウント(popcount)、及びCOMPARE等)を提供できることが理解されよう。但し、本発明はこれに制限されない。また、イントラマットシフトアレイ108とインタマットシフトアレイ112とはシフティング機能を提供する。図3で1つの1T1Cコンピューティングセルのみが図示され、複数のカラム及び複数のローの1T1Cコンピューティングセルが提供されることも理解されよう。
イントラマットシフトアレイ108の第6トランジスタT6の一部は書込みビットライン(Write BL)と(2n)本のシフトラインSLとの間に電気的に連結され、イントラマットシフトアレイ108の他の第6トランジスタT6は読出しビットライン(Read BL)と(2n)本のシフトラインSLとの間に連結される。このような第6トランジスタT6のゲートは(n+2)本のシフトレフトコントロールラインSLcLと2本のシフトライトコントロールラインSRcLと電気的に連結される。イントラマットシフトアレイ108の他の第6トランジスタT6はn本のシフトマスクラインSML及び(2n)本のシフトラインSLの間に電気的に連結される。イントラマットシフトアレイ108のコントロールラインはマット105と関連されたサブアレイコントローラ114と電気的に連結される。
インタマットシフトアレイ112はトランジスタT112a、T112bとトランジスタT112c、T112d、データシフトライン112e、112f、及びインタマットシフトコントロールラインISLcLを含む。マット内に、トランジスタT112aはコンピューティングセルの第1カラム107aの読出しビットライン(Read BL)と電気的に連結されたソース端、データシフトライン112eと電気的に連結されたドレーン端を含む。トランジスタT112bはコンピューティングセルの第2カラム107bの読出しビットライン(Read BL)と電気的に連結されたソース端、データシフトライン112fと電気的に連結されたドレーン端を含む。データシフトライン112e、112fはバッファ103と電気的に連結される。バッファ103は図5に図示されない。
相異なるマットの間にあって、トランジスタT112cは隣接するマット内のデータシフトライン112eと各々電気的に連結されたソース端及びドレーン端を含む。トランジスタT112dは隣接マット内のデータシフトライン112fと各々電気的に連結されたソース端及びドレーン端を含む。トランジスタT112c、T112dのゲートは、同一のインタマットシフトコントロールラインISLcLに連結される。一方、隣接するマット105a、105bの相異なる組の間に存在するトランジスタT112c、T112dのゲートは相異なるインタマットシフトコントロールラインISLcLと連結される。インタマットシフトコントロールラインISLcL上の適切な信号によって、インタマットシフトアレイ112は相異なるマットの間でデータをレフトシフト又はライトシフトする。インタマットシフトコントロールラインISLcLを含むインタマットシフトアレイ112のコントロールラインは、マット105と連関されたサブアレイコントローラ114と電気的に連結される。
図6のインタコネクション構成は利用されるインタコネクションノードによって概念的に図示されている。利用されるインタコネクションノードはドット‘・’により強調されて図示されている。例えば、マット105aと105bの間に配置されたトランジスタT112c、T112dは活性化されると、これに従って導線経路が各々のトランジスタを通じて形成される。従って、左側のマット105aと右側のマット105bとの間でデータシフトライン112e、112fは連結される。トランジスタT112c、T112dのゲート端は活性化されたインタマットシフトコントロールラインISLcLと電気的に連結される。
マット105b内のトランジスタT112a、T112bは活性化され、従ってマット105b内のコンピューティングセルのカラム107aの読出しビットライン(Read BL)はマット105bの左側に隣接するマット105a内のコンピューティングセル107aの書込みビットライン(Write BL)と電気的に連結される。また、同様にして、マット105b内のコンピューティングセルのカラム107bの読出しビットライン(Read BL)はマット105bの左側に隣接するマット105a内のコンピューティングセルのカラム107bの書込みビットライン((Write BL)と電気的に連結される。
図7のインタコネクション構成は利用されるインタコネクションノードによって概念的に図示されている。利用されるインタコネクションノードはドット‘・’により強調されて図示されている。例えば、最左側のマットとマット105aの間、及びマット105bと最右側のマットの間に配置されたトランジスタT112c、T112dは活性化されて導線経路が各々のトランジスタを通じて形成される。従って、最左側のマットとマット105aの間、及びマット105bと最右側のマットの間でデータシフトライン112e、112fは連結される。トランジスタT112c、T112dのゲート端は活性化されたインタマットシフトコントロールラインISLcLと電気的に連結される。
マット105aのトランジスタT112a、T112bは活性化され、従ってマット105a内のコンピューティングセルのカラム107aの読出しビットライン(Read BL)はマット105aの左側に隣接する最左側のマット内のコンピューティングセルのカラム107aの書込みビットライン(Write BL)と電気的に連結される。また、同様にして、マット105a内のコンピューティングセルのカラム107bの読出しビットライン(Read BL)はマット105aの左側に隣接する最左側のマット内のコンピューティングセルのカラム107bの書込みビットライン(Write BL)と電気的に連結される。
マット105a、105bと共に、インタマットフォワーディングアレイ113はトランジスタT113a、T113b、トランジスタT113c、T113d、トランジスタT113e、T113f、2n本のフォワーディングデータラインFDL、フォワーディングコントロールラインFCL、及び2m本のフォワーディングセクションラインFSLを含む。ここで、nはマット内のコンピューティングセルのカラム数であり、mはセクションの数である。
トランジスタT113a、T113bのソース端は各々コンピューティングセルの第1カラム107aの書込みビットライン(Write BL)と読出しビットライン(Read BL)とに電気的に連結される。トランジスタT113a、T113bのドレーン端は第1データフォワーディングライン(FDL)113gに電気的に連結される。トランジスタT113c、T113dのソース端は各々コンピューティングセルの第2カラム107bの書込みビットライン(Write BL)と読出しビットライン(Read BL)に電気的に連結される。トランジスタT113c、T113dのドレーン端は第2データフォワーディングライン(FDL)113hに電気的に連結される。
トランジスタT113e、T113fのソース端は各々トランジスタT113a、T113bのゲート端に電気的に連結される。トランジスタT113e、T113fのドレーン端は全て同一のフォワーディングセクションラインFSLに連結される。トランジスタT113e、T113fのゲート端は各々、相異なるフォワーディングコントロールラインFCLに連結される。
フォワーディングコントロールラインFCL上の適切な信号によって、インタマットフォワーディングアレイ113はマットの間でデータをフォワーディングする。インタマットフォワーディングアレイ113のコントロールラインは、相互間にデータがフォワーディングされるマット105と連関されたサブアレイコントローラ114に電気的に連結される。
DPUライブラリ921によって提供される他のAPI類似機能はデザインノブ(knob)型機能を含む。例えば、デザインノブ型機能はバンク当たり活性化されたサブアレイの数、活性化されたサブアレイ当たり入力機能マップの数、機能マップのパーティショニング(partitioning)、及び/又はコンヴォリューションカーネルの再使用スキームの設定を含む。続いて、他のAPI類似機能は各サブアレイに対して特定タスク(例えば、コンヴォリューションコンピューティング、チャネル圧縮(sum up)、及び/又はデータディスパッチング(dispatching))を割当することによって、追加的なリソース割当最適化を提供する。
仮にオペランドが整数と確率論的数字との間で変換されれば、DPUライブラリ921は精度制限を満足させながらも、オーバヘッド(overhead)を最小化するAPI類似機能を含む。精度が予想より低い場合、DPUライブラリ921は確率論的表現のための追加的なビットを使用して値を再び計算するか、又は他のハードウェア(例えば、CPU(Central Processing Unit))にタスクを分担(offload)させるAPI類似機能を含む。
拡張インタフェイスは、またDPUライブラリ921によって具体的に支援されない動作を、ライブラリ及びドライバレイヤ920から外して、SoCコントローラ(図示せず)、CPU/GPU構成要素、及び/又はCPU/TPU構成要素に分担させるインタフェイスを提供する。DPUライブラリ921のその他の様相は、DPUメモリがコンピューティングのために使用されない場合に、メモリの拡張としてDPUのメモリを使用するためのAPI類似機能を提供する。
他の実施形態で、フレームワークレイヤ930は、定量化(quantitation)機能を、例えばTorch7タイプアプリケーション、及びTensorFlowタイプアプリケーションのような既存の、従来の方法に追加するフレームワーク拡張を含む。但し、本発明はこれに限定されない。
一実施形態で、フレームワークレイヤ930は、トレイニング(training)アルゴリズムに定量化機能を追加することを含む。他の実施形態で、フレームワークレイヤ930は、既存の除算、乗算、平方根(square root)のバッチ(batch)正規化(normalization)方法に対して、除算、乗算、平方根のシフト近似方法による置換(override)を提供する。
他の実施形態で、フレームワークレイヤ930はユーザが計算のために使用されるビットの数を設定する拡張を提供する。他の実施形態で、フレームワークレイヤ930はDPUライブラリ及びドライバレイヤ920からフレームワークレイヤ930に多重DPU APIをラップ(wrap、一括処理)する能力を提供する。従って、ユーザはハードウェアレイヤにおいて多重GPUの使用と同様に、多重DPUを使用できる。フレームワークレイヤ930の他の機能は、ハードウェアレイヤ910においてDPU又はGPUへのユーザによる機能割当を可能にする。
101、101a、101b、101c〜101m バンク
102、102a、102b、102c〜102r サブアレイ
103 バッファ
104 システムバス
105、105a〜105p マット
106 データセルアレイ
107 コンピューティングセルアレイ
107a〜107d コンピューティングセルのカラム
108 イントラマット(マット内)シフトアレイ
110 データセルアレイデコーダ、デコーダ
111 コンピューティングアレイデコーダ、デコーダ
112 インタマット(マット間)シフトアレイ
112e、112f データシフトライン
113 インタマットフォワーディングアレイ
113g 第1データフォワーディングライン(FDL)
113h 第2データフォワーディングライン(FDL)
114 サブアレイコントローラ、コントローラ
715 確率論的データアレイ
716 コンバータ−ツー−確率論的アレイ
900 システム構造
910 ハードウェアレイヤ
911 PCIe
912 DIMM
920 ライブラリ及びドライバレイヤ
921 DPUライブラリ
922 DPUドライバ
923 DPUコンパイラ
930 フレームワークレイヤ
940 アプリケーションレイヤ
BL ビットライン
DPU DRAM(基盤)プロセッシングユニット
DIMM Dual−In−line Memory Module、デュアルインライン メモリモデュール
FCL フォワーディングコントロールライン
FDL フォワーディングデータライン(2n本)
FSL フォワーディングセクションライン(2m本) GPU Graphics Processing Unit、グラフィクスプロセッシングユニット
ISLcL インタマット(マット内)シフトコントロールライン
MUX 多重化器、マルチプレクサ
Read_BL 読出しビットライン
SA センスアンプ
SL シフトライン
SLcL シフトレフトコントロールライン
SRcL シフトライトコントロールライン
SML シフトマスクライン
TPU Tensor Processing Unit、テンソルプロセッシングユニット
T1〜T6 トランジスタ
T112a〜T112d トランジスタ
T113a〜T113f トランジスタ
Write_BL 書込みビットライン
Claims (17)
- 命令を受信するインタフェイスと、
前記受信された命令に対応する少なくとも1つのDPU(DRAM(dynamic random access memory)(−based)_Processing_Unit、DRAM(基盤)プロセシングユニット)演算を決定するライブラリと、
前記受信された命令に対応する前記決定された少なくとも1つのDPU演算に対する少なくとも1つのDPU命令を形成するコンパイラと、
前記少なくとも1つのDPU命令を少なくとも1つのDPUに伝送するドライバと、を含み、
前記DPUは、少なくとも1つの列を含むアレイに配列された複数のDRAM基盤コンピューティングセルを含む少なくとも1つのコンピューティングセルアレイを含み、
前記少なくとも1つの列は、DRAM基盤コンピューティングセルの少なくとも3つの行を含み、
前記DRAM基盤コンピューティングセルは、前記少なくとも3つの行の中で第1行及び第2行で動作する論理機能を提供し、前記論理機能の結果を前記少なくとも3つの行の中で第3行に格納するように構成される、ことを特徴とするシステム。 - 前記少なくとも1つの列のDRAM基盤コンピューティングセルの各々は、3つのトランジスタと1つのキャパシタとからなる(3T1C)DRAMメモリセル、又は、1つのトランジスタと1つのキャパシタとからなる(1T1C)DRAMメモリセルを含み、
前記少なくとも1つの列の前記DRAM基盤コンピューティングセルは、NOR論理機能を提供する、ことを特徴とする請求項1に記載のシステム。 - 前記DPUは、少なくとも1つの列を含むアレイに配列された複数のDRAM基盤確率論的コンピューティングセルをさらに含み、
前記少なくとも1つの列は、DRAM基盤確率論的コンピューティングセルの少なくとも3つの行を含み、
前記DRAM基盤確率論的コンピューティングセルは、前記少なくとも3つの行の中で第1行及び第2行で動作する論理機能を提供し、前記確率論的論理機能の結果を前記少なくとも3つの行の中で第3行に格納するように構成される、ことを特徴とする請求項2に記載のシステム。 - 前記少なくとも1つの列の前記DRAM基盤確率論的コンピューティングセルの各々は、3つのトランジスタと1つのキャパシタとからなる(3T1C)DRAMメモリセル、又は1つのトランジスタと1つのキャパシタとからなる(1T1C)DRAMメモリセルを含む、ことを特徴とする請求項3に記載のシステム。
- 前記DPUは、少なくとも1つの列を含むアレイに配列された複数のDRAM基盤確率論的コンピューティングセルをさらに含み、
前記少なくとも1つの列は、DRAM基盤確率論的コンピューティングセルの少なくとも3つの行を含み、
前記DRAM基盤確率論的コンピューティングセルは、前記少なくとも3つの行の中で第1行及び第2行で動作する確率論的論理機能を提供し、前記確率論的論理機能の結果を前記少なくとも3つの行の中で第3行に格納するように構成される、ことを特徴とする請求項1に記載のシステム。 - 前記ライブラリは、前記受信された命令に応答して全体コンヴォリューション階層のマッピングをさらに決定する、ことを特徴とする請求項1に記載のシステム。
- 前記ライブラリは、前記受信された命令に対応する前記少なくとも1つのDPU演算を遂行するように複数のDPUをマッピングする前記少なくとも1つのDPU演算内での多重並列化をさらに決定する、ことを特徴とする請求項1に記載のシステム。
- 前記ドライバは、前記受信された命令に基づいて前記DPUの内外へのデータ移動をさらに制御する、ことを特徴とする請求項1に記載のシステム。
- 少なくとも1つのDPU(DRAM(−based)_Processing_Unit、DRAM(基盤)プロセシングユニット)と、
命令を受信するインタフェイスと、
前記受信された命令に対応する少なくとも1つのDPU演算を決定するライブラリと、
前記受信された命令に対応する少なくとも1つのDPU命令を前記少なくとも1つのDPUに伝送するドライバと、を含み、
前記DPUの各々は、
少なくとも1つの列を含むアレイ内に配列された複数のDRAM基盤コンピューティングセルを含む少なくとも1つのコンピューティングセルアレイを含み、
前記少なくとも1つの列は、DRAM基盤コンピューティングセルの少なくとも3つの行を含み、
前記DRAM基盤コンピューティングセルは、前記少なくとも3つの行の中で第1行及び第2行で動作する論理機能を提供し、前記論理機能の結果を前記少なくとも3つの行の中で第3行に格納するように構成され、
前記DPUの各々は更に、少なくとも1つの列を含むアレイに配列された複数のDRAM基盤確率論的コンピューティングセルを含み、
前記少なくとも1つの列は、DRAM基盤確率論的コンピューティングセルの少なくとも3つの行を含み、
前記DRAM基盤確率論的コンピューティングセルは、前記少なくとも3つの行の中で第1行及び第2行で動作する確率論的論理機能を提供し、前記確率論的論理機能の結果を前記少なくとも3つの行の中で第3行に格納するように構成される、ことを特徴とするシステム。 - 前記少なくとも1つの列のDRAM基盤コンピューティングセルの各々は、3つのトランジスタと1つのキャパシタとからなる(3T1C)DRAMメモリセル、又は、1つのトランジスタと1つのキャパシタとからなる(1T1C)DRAMメモリセルを含み、
前記少なくとも1つの列の前記DRAM基盤確率論的コンピューティングセルの各々は、3つのトランジスタと1つのキャパシタとからなる(3T1C)DRAMメモリセル、又は、1つのトランジスタと1つのキャパシタとからなる(1T1C)DRAMメモリセルを含む、ことを特徴とする請求項9に記載のシステム。 - 前記少なくとも1つの列の前記DRAM基盤コンピューティングセルは、NOR論理機能を提供する、ことを特徴とする請求項10に記載のシステム。
- 前記少なくとも1つのDPU演算は、確率論的コンピューティング演算を含む、ことを特徴とする請求項4又は9に記載のシステム。
- 前記少なくとも1つのDPUの少なくとも1つの行で動作する前記受信された命令に対応する単一DPU命令を形成するコンパイラをさらに含む、ことを特徴とする請求項1又は9に記載のシステム。
- 少なくとも1つの列を含むアレイに配列された複数のDRAM基盤確率論的コンピューティングセルを含む少なくとも1つの確率論的コンピューティングセルアレイを含むDPU(DRAM(−based)_Porcessing_Unit、DRAM(基盤)プロセシングユニット)と、
受信された命令に対応する少なくとも1つの確率論的DPU演算を決定するライブラリと、
前記受信された命令に対応する少なくとも1つの確率論的DPU命令を前記複数のDRAM基盤確率論的コンピューティングセルを含む前記少なくとも1つのDPUに伝送するドライバと、を含み、
前記少なくとも1つの列は、DRAM基盤確率論的コンピューティングセルの少なくとも3つの行を含み、
前記DRAM基盤確率論的コンピューティングセルは、前記少なくとも3つの行の中で第1行及び第2行で動作する確率論的論理機能を提供し、前記確率論的論理機能の結果を前記少なくとも3つの行の中で第3行に格納するように構成される、ことを特徴とするシステム。 - 前記ドライバは、前記受信された命令に基づいて前記複数のDRAM基盤確率論的コンピューティングセルを含む前記DPUの内外へのデータ移動をさらに制御する、ことを特徴とする請求項14に記載のシステム。
- 少なくとも1つの列を含むアレイに配列された複数のDRAM基盤コンピューティングセルを含む少なくとも1つのコンピューティングセルアレイをさらに含み、
前記少なくとも1つの列は、DRAM基盤コンピューティングセルの少なくとも3つの行を含み、
前記DRAM基盤コンピューティングセルは、前記少なくとも3つの行の中で第1行及び第2行で動作する論理機能を提供し、前記論理機能の結果を前記少なくとも3つの行の中で第3行に格納するように構成され、
前記ライブラリは、第2受信された命令に対応する前記少なくとも1つのコンピューティングセルアレイに対する少なくとも1つのDPU演算をさらに決定し、
前記ドライバは、前記複数のDRAM基盤コンピューティングセルを含む前記少なくとも1つのコンピューティングセルアレイに前記第2受信された命令に対応する少なくとも1つのDPU命令を伝送する、ことを特徴とするシステム。 - 前記少なくとも1つの列の前記DRAM基盤確率論的コンピューティングセルの各々は、3つのトランジスタと1つのキャパシタとからなる(3T1C)DRAMメモリセル、又は、1つのトランジスタと1つのキャパシタとからなる(1T1C)DRAMメモリセルを含む、ことを特徴とする請求項14又は16に記載のシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662413973P | 2016-10-27 | 2016-10-27 | |
US62/413,973 | 2016-10-27 | ||
US15/426,015 US10180808B2 (en) | 2016-10-27 | 2017-02-06 | Software stack and programming for DPU operations |
US15/426,015 | 2017-02-06 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018073413A true JP2018073413A (ja) | 2018-05-10 |
JP2018073413A5 JP2018073413A5 (ja) | 2020-12-03 |
JP6920169B2 JP6920169B2 (ja) | 2021-08-18 |
Family
ID=62021467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017204581A Active JP6920169B2 (ja) | 2016-10-27 | 2017-10-23 | Dram基盤の確率論的コンピューティングシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10180808B2 (ja) |
JP (1) | JP6920169B2 (ja) |
KR (1) | KR102268179B1 (ja) |
CN (1) | CN108010551B (ja) |
TW (1) | TWI718336B (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10998040B2 (en) | 2016-12-06 | 2021-05-04 | Gsi Technology, Inc. | Computational memory cell and processing array device using the memory cells for XOR and XNOR computations |
US10860320B1 (en) | 2016-12-06 | 2020-12-08 | Gsi Technology, Inc. | Orthogonal data transposition system and method during data transfers to/from a processing array |
KR20200057475A (ko) | 2018-11-16 | 2020-05-26 | 삼성전자주식회사 | 연산 회로를 포함하는 메모리 장치 및 그것을 포함하는 뉴럴 네트워크 시스템 |
US11157692B2 (en) * | 2019-03-29 | 2021-10-26 | Western Digital Technologies, Inc. | Neural networks using data processing units |
US11074008B2 (en) * | 2019-03-29 | 2021-07-27 | Intel Corporation | Technologies for providing stochastic key-value storage |
US10949214B2 (en) * | 2019-03-29 | 2021-03-16 | Intel Corporation | Technologies for efficient exit from hyper dimensional space in the presence of errors |
CN110275498A (zh) * | 2019-06-28 | 2019-09-24 | 泉州信息工程学院 | 一种基于互联网与深度学习的智能制造方法和系统及设备 |
CN112684977B (zh) * | 2019-10-18 | 2024-05-28 | 旺宏电子股份有限公司 | 存储器装置及其存储器内计算方法 |
US20220058471A1 (en) * | 2020-08-19 | 2022-02-24 | Micron Technology, Inc. | Neuron using posits |
CN114201421B (zh) * | 2022-02-17 | 2022-05-10 | 苏州浪潮智能科技有限公司 | 一种数据流处理方法、存储控制节点及可读存储介质 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0689712A4 (en) * | 1993-03-17 | 1997-05-28 | Zycad Corp | CONFIGURABLE FIELDS WITH DIRECT ACCESS MEMORY ARRANGEMENT |
US5847577A (en) * | 1995-02-24 | 1998-12-08 | Xilinx, Inc. | DRAM memory cell for programmable logic devices |
JPH11338767A (ja) * | 1998-05-22 | 1999-12-10 | Mitsubishi Heavy Ind Ltd | 画像処理用機能メモリ装置 |
US6745219B1 (en) | 2000-06-05 | 2004-06-01 | Boris Zelkin | Arithmetic unit using stochastic data processing |
US9552047B2 (en) * | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
US6507530B1 (en) * | 2001-09-28 | 2003-01-14 | Intel Corporation | Weighted throttling mechanism with rank based throttling for a memory system |
US8127075B2 (en) | 2007-07-20 | 2012-02-28 | Seagate Technology Llc | Non-linear stochastic processing storage device |
WO2009111559A2 (en) | 2008-03-04 | 2009-09-11 | Massachusetts Institute Of Technology | Combinational stochastic logic |
US8341362B2 (en) * | 2008-04-02 | 2012-12-25 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US8103598B2 (en) | 2008-06-20 | 2012-01-24 | Microsoft Corporation | Compiler for probabilistic programs |
WO2011103587A2 (en) | 2010-02-22 | 2011-08-25 | Benjamin Vigoda | Superscalar control for a probability computer |
US8645286B2 (en) | 2010-02-23 | 2014-02-04 | Prior Knowledge, Inc. | Configurable circuitry for solving stochastic problems |
CN103907157B (zh) * | 2011-10-28 | 2017-10-17 | 慧与发展有限责任合伙企业 | 进行行移位的可移位存储器 |
US9251467B2 (en) | 2013-03-03 | 2016-02-02 | Microsoft Technology Licensing, Llc | Probabilistic parsing |
KR102168652B1 (ko) * | 2013-12-16 | 2020-10-23 | 삼성전자주식회사 | 감지 증폭기, 그것을 포함하는 반도체 메모리 장치 및 그것의 읽기 방법 |
US9455020B2 (en) * | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9954533B2 (en) * | 2014-12-16 | 2018-04-24 | Samsung Electronics Co., Ltd. | DRAM-based reconfigurable logic |
US9697877B2 (en) * | 2015-02-05 | 2017-07-04 | The Board Of Trustees Of The University Of Illinois | Compute memory |
US9922696B1 (en) * | 2016-10-28 | 2018-03-20 | Samsung Electronics Co., Ltd. | Circuits and micro-architecture for a DRAM-based processing unit |
-
2017
- 2017-02-06 US US15/426,015 patent/US10180808B2/en active Active
- 2017-05-31 KR KR1020170067968A patent/KR102268179B1/ko active IP Right Grant
- 2017-08-11 CN CN201710684841.2A patent/CN108010551B/zh active Active
- 2017-09-06 TW TW106130354A patent/TWI718336B/zh active
- 2017-10-23 JP JP2017204581A patent/JP6920169B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
TWI718336B (zh) | 2021-02-11 |
US10180808B2 (en) | 2019-01-15 |
TW201816619A (zh) | 2018-05-01 |
KR20180046346A (ko) | 2018-05-08 |
CN108010551B (zh) | 2023-05-02 |
CN108010551A (zh) | 2018-05-08 |
JP6920169B2 (ja) | 2021-08-18 |
KR102268179B1 (ko) | 2021-06-23 |
US20180121130A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6799520B2 (ja) | Dram基盤プロセシングユニット | |
JP6920169B2 (ja) | Dram基盤の確率論的コンピューティングシステム | |
KR102182217B1 (ko) | 디램 기반 프로세싱 유닛 | |
Angizi et al. | Redram: A reconfigurable processing-in-dram platform for accelerating bulk bit-wise operations | |
Talati et al. | mmpu—a real processing-in-memory architecture to combat the von neumann bottleneck | |
US20030222879A1 (en) | Multiplier-based processor-in-memory architectures for image and graphics processing | |
US7073039B2 (en) | Providing a register file memory with local addressing in a SIMD parallel processor | |
US7673118B2 (en) | System and method for vector-parallel multiprocessor communication | |
CN111656339B (zh) | 存储器装置及其控制方法 | |
CN111630487B (zh) | 用于神经网络处理的共享存储器的集中式-分布式混合组织 | |
US6754802B1 (en) | Single instruction multiple data massively parallel processor systems on a chip and system using same | |
US6754801B1 (en) | Method and apparatus for a shift register based interconnection for a massively parallel processor array | |
US20240094988A1 (en) | Method and apparatus with multi-bit accumulation | |
Margala et al. | Highly efficient digital CMOS accelerator for image and graphics processing | |
Bottleneck | mMPU—A Real Processing-in-Memory Architecture to Combat the von | |
Pechanek et al. | An introduction to an array memory processor for application specific acceleration | |
Jiang et al. | Dynamic Multi-bit Parallel Computing Method Based on Reconfigurable Structure | |
Swarztrauber | The Communication Machine | |
Kim et al. | DRAM-Based Processing-in-Memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180214 |
|
AA79 | Non-delivery of priority document |
Free format text: JAPANESE INTERMEDIATE CODE: A24379 Effective date: 20180306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201022 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201022 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20201022 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210217 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20210303 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210609 |
|
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: 20210629 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210726 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6920169 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |