JP6912535B2 - 人工知能動作を実行できるメモリチップおよびその方法 - Google Patents
人工知能動作を実行できるメモリチップおよびその方法 Download PDFInfo
- Publication number
- JP6912535B2 JP6912535B2 JP2019171109A JP2019171109A JP6912535B2 JP 6912535 B2 JP6912535 B2 JP 6912535B2 JP 2019171109 A JP2019171109 A JP 2019171109A JP 2019171109 A JP2019171109 A JP 2019171109A JP 6912535 B2 JP6912535 B2 JP 6912535B2
- Authority
- JP
- Japan
- Prior art keywords
- artificial intelligence
- memory
- data
- intelligence engine
- feature map
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Feedback Control In General (AREA)
Description
40 共有メモリバス
100、200、400 メモリチップ
110、210、310、410 人工知能エンジン
120 メモリコントローラ
130 メモリアレイ
140、150 バス
231、232、431、432 データバッファ領域
233、333、433 重みデータ領域
311、411、412、413、414 キャッシュ
311A、311B、311C キャッシュ線
331_1〜331_N メモリバンク
334_1〜334_N ワード線バッファ
434、435 特徴マップデータ領域
D1、D2 デジタル化された入力データ
W 重みデータ
F1、F2 特徴マップデータ
S510、S520 ステップ
Claims (18)
- 複数のメモリ領域を含み、前記メモリ領域がデジタル化された入力データおよび重みデータを格納するように構成されるメモリアレイと、
人工知能エンジン専用のバスを介して前記メモリアレイに結合されたメモリコントローラと、
前記メモリコントローラに結合され、前記メモリコントローラおよび前記バスを介して前記メモリアレイにアクセスし、前記デジタル化された入力データおよび前記重みデータを取得するように構成された人工知能エンジンと、を備え、
前記人工知能エンジンは、前記デジタル化された入力データおよび前記重みデータに基づいてニューラルネットワーク動作を実行し、
前記重みデータの複数の重み値または特徴マップデータの複数の特徴値が、行、バンク、および列の組み合わせのアドレス符号化方式に従って、アドレスと共に符号化され、前記メモリ領域の各々の複数のメモリバンクに連続的に格納され、前記人工知能エンジンが、前記メモリ領域の各々の前記メモリバンクの対応する行を連続的にインターリーブで読み取り、前記重みデータの前記重み値または前記特徴マップデータの前記特徴値を連続的に取得する、人工知能動作を実行できるメモリチップ。 - 前記メモリ領域は、複数のデータバッファ領域を含み、前記人工知能エンジンが前記メモリ領域の前記データバッファ領域の1つに含まれる前記デジタル化された入力データにアクセスするときに、外部プロセッサが前記データバッファ領域の他の1つに含まれる他のデジタル化された入力データに同時にアクセスするように、前記人工知能エンジンおよび前記外部プロセッサは、前記データバッファ領域に交互にアクセスする、請求項1に記載のメモリチップ。
- 前記人工知能エンジンは、第1のキャッシュ部を備え、前記人工知能エンジンが、前記第1のキャッシュ部により前記メモリ領域の複数のデータバッファ領域の1つに含まれる前記デジタル化された入力データをあらかじめ読み取る、請求項1または2のいずれか一項に記載のメモリチップ。
- 前記バスのバス幅は、前記メモリ領域の各々の複数のメモリバンクの各々の行全体のデータ量以上である、請求項1から3のいずれか一項に記載のメモリチップ。
- 前記メモリ領域が重みデータ領域を含み、前記人工知能エンジンが、前記重みデータ領域の複数のメモリバンクを連続的にインターリーブで読み取り、前記重みデータを取得する、請求項1から4のいずれか一項に記載のメモリチップ。
- 前記人工知能エンジンが第2のキャッシュ部を備え、前記第2のキャッシュ部の複数のキャッシュ線が、前記メモリバンクの前記重みデータをパイプライン方式であらかじめ読み取るように構成され、
前記人工知能エンジンが、前記第2のキャッシュ部の前記キャッシュ線に格納された前記重みデータを連続的に読み取り、前記ニューラルネットワーク動作を実行する、請求項5に記載のメモリチップ。 - 前記メモリ領域は、2つの特徴マップデータ領域を含み、前記人工知能エンジンが前記2つの特徴マップデータ領域に交互にアクセスし、
前記人工知能エンジンが、特徴マップデータを、前記2つの特徴マップデータ領域のいずれかの複数のメモリバンクから交互に読み取り、前記人工知能エンジンにより実行される前記ニューラルネットワーク動作中に生成された他の特徴マップデータを、前記2つの特徴マップデータ領域のうちの他の1つの複数のメモリバンクに格納する、請求項1から6のいずれか一項に記載のメモリチップ。 - 前記人工知能エンジンは、第3のキャッシュ部を備え、前記第3のキャッシュ部の複数のキャッシュ線が、前記2つの特徴マップデータ領域のいずれかの前記メモリバンクの前記特徴マップデータをパイプライン方式であらかじめ読み取るように構成されており、
前記人工知能エンジンが、前記第3のキャッシュ部の前記キャッシュ線に格納された前記特徴マップデータを連続的に読み取り、前記ニューラルネットワーク動作を実行する、請求項7に記載のメモリチップ。 - 前記人工知能エンジンは、第4のキャッシュ部を備え、前記第4のキャッシュ部の複数のキャッシュ線が、前記人工知能エンジンにより実行される前記ニューラルネットワーク動作中に生成された前記他の特徴マップデータをあらかじめ格納するように構成されており、
前記第4のキャッシュ部の前記キャッシュ線に格納された前記特徴マップデータが、パイプライン方式で連続的に読み取られ、前記特徴マップデータが、前記2つの特徴マップデータ領域のうちの他の1つの前記メモリバンクに格納される、請求項7に記載のメモリチップ。 - 人工知能エンジンにより、前記人工知能エンジン専用のメモリコントローラおよびバスを介してメモリアレイの複数のメモリ領域にアクセスして、デジタル化された入力データおよび重みデータを取得することと、
前記人工知能エンジンにより、前記デジタル化された入力データおよび前記重みデータに基づいてニューラルネットワーク動作を実行することとを含み、
前記重みデータの複数の重み値または特徴マップデータの複数の特徴値が、行、バンク、および列の組み合わせのアドレス符号化方式に従って、アドレスと共に符号化され、前記メモリ領域の各々の複数のメモリバンクに連続的に格納され、
前記重みデータまたは特徴マップデータを取得するステップが、
前記人工知能エンジンにより、前記メモリ領域の各々の前記メモリバンクの対応する行を連続的にインターリーブで読み取り、前記重みデータの前記重み値または前記特徴マップデータの前記特徴値を連続的に取得することを含む、人工知能動作を実行できる動作方法。 - 前記デジタル化された入力データを取得するステップが、
前記人工知能エンジンにより、前記メモリ領域の複数のデータバッファ領域の1つに含まれる前記デジタル化された入力データにアクセスするときに、外部プロセッサによって、前記データバッファ領域の他の1つに含まれる他のデジタル化された入力データに同時にアクセスすることを含む、請求項10に記載の動作方法。 - 前記デジタル化された入力データを取得するステップが、
前記人工知能エンジンの第1のキャッシュ部により、前記メモリ領域の複数のデータバッファ領域の1つに含まれる前記デジタル化された入力データをあらかじめ読み取ることを含む、請求項10または11のいずれか一項に記載の動作方法。 - 前記バスのバス幅が、前記メモリ領域の各々の複数のメモリバンクの各々の行全体のデータ量以上である、請求項10から12のいずれか一項に記載の動作方法。
- 前記重みデータを取得するステップが、
前記人工知能エンジンにより、前記メモリ領域の重みデータ領域の複数のメモリバンクを連続的にインターリーブで読み取り、前記重みデータを取得することを含む、請求項10から13のいずれか一項に記載の動作方法。 - 前記人工知能エンジンは、第2のキャッシュ部を備え、前記第2のキャッシュ部の複数のキャッシュ線が、前記メモリバンクの前記重みデータをパイプライン方式であらかじめ読み取るように構成されており、
前記ニューラルネットワーク動作を実行するステップが、
前記人工知能エンジンにより、前記第2のキャッシュ部の前記キャッシュ線に格納された前記重みデータを連続的に読み取り、前記ニューラルネットワーク動作を実行することを含む、請求項14に記載の動作方法。 - 前記メモリ領域が2つの特徴マップデータ領域を含み、前記人工知能エンジンが前記2つの特徴マップデータ領域に交互にアクセスし、
前記動作方法が、
前記人工知能エンジンにより、特徴マップデータを、前記2つの特徴マップデータ領域のいずれかの複数のメモリバンクから交互に読み取ることと、前記人工知能エンジンによって実行される前記ニューラルネットワーク動作中に生成された他の特徴マップデータを、前記2つの特徴マップデータ領域のうちの他の1つの前記メモリバンクに格納することとをさらに含む、請求項10から15のいずれか一項に記載の動作方法。 - 前記人工知能エンジンは、第3のキャッシュ部を備え、前記第3のキャッシュ部の複数のキャッシュ線が、前記2つの特徴マップデータ領域のいずれかの前記メモリバンクの前記特徴マップデータをパイプライン方式であらかじめ読み取るように構成されており、
前記ニューラルネットワーク動作を実行するステップが、
前記人工知能エンジンによって、前記第3のキャッシュ部の前記キャッシュ線に格納された前記特徴マップデータを連続的に読み取り、前記ニューラルネットワーク動作を実行することを含む、請求項16に記載の動作方法。 - 前記人工知能エンジンは、第4のキャッシュ部を備え、前記第4のキャッシュ部の複数のキャッシュ線が、前記人工知能エンジンにより実行される前記ニューラルネットワーク動作中に生成された前記他の特徴マップデータをあらかじめ格納するように構成されており、
前記ニューラルネットワーク動作を実行するステップが、
前記第4のキャッシュ部の前記キャッシュ線に格納された前記特徴マップデータを、パイプライン方式で連続的に読み取り、前記特徴マップデータを、前記2つの特徴マップデータ領域のうちの他の1つの前記メモリバンクに格納することを含む、請求項16に記載の動作方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862744140P | 2018-10-11 | 2018-10-11 | |
US62/744140 | 2018-10-11 | ||
TW108106715A TWI714003B (zh) | 2018-10-11 | 2019-02-27 | 可執行人工智慧運算的記憶體晶片及其操作方法 |
TW108106715 | 2019-02-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020077449A JP2020077449A (ja) | 2020-05-21 |
JP6912535B2 true JP6912535B2 (ja) | 2021-08-04 |
Family
ID=70161369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019171109A Active JP6912535B2 (ja) | 2018-10-11 | 2019-09-20 | 人工知能動作を実行できるメモリチップおよびその方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11443185B2 (ja) |
JP (1) | JP6912535B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7299770B2 (ja) * | 2019-07-01 | 2023-06-28 | キヤノン株式会社 | 演算処理装置及び演算処理方法 |
US20220137866A1 (en) * | 2020-11-02 | 2022-05-05 | Deepx Co., Ltd. | Memory device for an artificial neural network |
US20220138586A1 (en) * | 2020-11-02 | 2022-05-05 | Deepx Co., Ltd. | Memory system of an artificial neural network based on a data locality of an artificial neural network |
JP2023066803A (ja) * | 2021-10-29 | 2023-05-16 | キオクシア株式会社 | メモリシステム |
CN116152520B (zh) * | 2023-04-23 | 2023-07-07 | 深圳市九天睿芯科技有限公司 | 用于神经网络加速器的数据处理方法、芯片及电子设备 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3260357B2 (ja) | 1990-01-24 | 2002-02-25 | 株式会社日立製作所 | 情報処理装置 |
JPH045774A (ja) | 1990-04-24 | 1992-01-09 | Seiko Epson Corp | 神経網計算機 |
JPH0415773A (ja) | 1990-04-30 | 1992-01-21 | Nec Corp | 神経回路網装置 |
JPH0467259A (ja) | 1990-07-09 | 1992-03-03 | Hitachi Ltd | 情報処理装置 |
JPH0520140A (ja) | 1991-07-16 | 1993-01-29 | Hokkaido Nippon Denki Software Kk | データベース運用制御方式 |
JPH0520140U (ja) * | 1991-08-21 | 1993-03-12 | 株式会社三協精機製作所 | 情報処理装置 |
US5799168A (en) | 1996-01-05 | 1998-08-25 | M-Systems Flash Disk Pioneers Ltd. | Standardized flash controller |
US7209405B2 (en) | 2005-02-23 | 2007-04-24 | Micron Technology, Inc. | Memory device and method having multiple internal data buses and memory bank interleaving |
JP5171118B2 (ja) | 2007-06-13 | 2013-03-27 | キヤノン株式会社 | 演算処理装置及びその制御方法 |
US9298654B2 (en) | 2013-03-15 | 2016-03-29 | International Business Machines Corporation | Local bypass in memory computing |
US9836277B2 (en) | 2014-10-01 | 2017-12-05 | Samsung Electronics Co., Ltd. | In-memory popcount support for real time analytics |
US10049322B2 (en) | 2015-05-21 | 2018-08-14 | Google Llc | Prefetching weights for use in a neural network processor |
US9747546B2 (en) | 2015-05-21 | 2017-08-29 | Google Inc. | Neural network processor |
CN116842306A (zh) | 2016-03-23 | 2023-10-03 | Gsi 科技公司 | 存储器内矩阵乘法及其在神经网络中的使用 |
TWI634490B (zh) | 2016-11-14 | 2018-09-01 | 美商耐能股份有限公司 | 卷積運算裝置及卷積運算方法 |
JP6773568B2 (ja) | 2017-01-18 | 2020-10-21 | 株式会社日立製作所 | 演算システムおよびニューラルネットワークの演算方法 |
JP6802480B2 (ja) | 2017-01-27 | 2020-12-16 | 富士通株式会社 | プロセッサ、情報処理装置及びプロセッサの動作方法 |
US11514996B2 (en) * | 2017-07-30 | 2022-11-29 | Neuroblade Ltd. | Memory-based processors |
US11507806B2 (en) * | 2017-09-08 | 2022-11-22 | Rohit Seth | Parallel neural processor for Artificial Intelligence |
CN108335716B (zh) | 2018-01-26 | 2020-12-15 | 北京航空航天大学 | 一种基于非易失存储器的内存计算方法 |
US11151769B2 (en) * | 2018-08-10 | 2021-10-19 | Intel Corporation | Graphics architecture including a neural network pipeline |
US11914860B2 (en) * | 2018-08-20 | 2024-02-27 | Macronix International Co., Ltd. | Data storage for artificial intelligence-based applications |
-
2019
- 2019-08-22 US US16/548,792 patent/US11443185B2/en active Active
- 2019-09-20 JP JP2019171109A patent/JP6912535B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US11443185B2 (en) | 2022-09-13 |
US20200117989A1 (en) | 2020-04-16 |
JP2020077449A (ja) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6912535B2 (ja) | 人工知能動作を実行できるメモリチップおよびその方法 | |
US10990524B2 (en) | Memory with processing in memory architecture and operating method thereof | |
CN108304922B (zh) | 用于神经网络计算的计算设备和计算方法 | |
US11294599B1 (en) | Registers for restricted memory | |
US20210158127A1 (en) | Layout parasitics and device parameter prediction using graph neural networks | |
EP3973401B1 (en) | Interleaving memory requests to accelerate memory accesses | |
CN111008040A (zh) | 缓存装置及缓存方法、计算装置及计算方法 | |
WO2019127507A1 (zh) | 数据处理方法、设备、dma控制器及计算机可读存储介质 | |
WO2020073801A1 (zh) | 一种3d图像处理中数据读写方法及系统、存储介质及终端 | |
US20170357570A1 (en) | Storing Arrays of Data in Data Processing Systems | |
CN111047026B (zh) | 可执行人工智能运算的存储器芯片及其操作方法 | |
US20080244169A1 (en) | Apparatus for Efficient Streaming Data Access on Reconfigurable Hardware and Method for Automatic Generation Thereof | |
CN111047029B (zh) | 具有存储器内运算架构的存储器及其操作方法 | |
KR101672539B1 (ko) | 그래픽 처리 유닛 및 그 캐싱 방법 | |
CN109800867B (zh) | 一种基于fpga片外存储器的数据调用方法 | |
US11816025B2 (en) | Hardware acceleration | |
CN112115075A (zh) | 存储器访问 | |
JP7346883B2 (ja) | ベクトルプロセッサ装置及び生成方法 | |
CN114611683A (zh) | 卷积神经网络操作实现方法、装置、设备及存储介质 | |
JP2024004543A (ja) | メモリシステム | |
KR20240093023A (ko) | 메모리 관리 유닛 및 페이지 테이블 워크 방법 | |
JP2022167527A (ja) | メモリアクセス装置、メモリアクセス方法、及びメモリアクセスプログラム | |
JP6314083B2 (ja) | 半導体装置、メモリアクセス制御方法、及び半導体装置システム | |
JP2023124162A (ja) | メモリシステム | |
JP2591362B2 (ja) | データ選択処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191106 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201027 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210602 |
|
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: 20210622 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210708 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6912535 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |