CN114169510A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN114169510A CN114169510A CN202111049754.2A CN202111049754A CN114169510A CN 114169510 A CN114169510 A CN 114169510A CN 202111049754 A CN202111049754 A CN 202111049754A CN 114169510 A CN114169510 A CN 114169510A
- Authority
- CN
- China
- Prior art keywords
- data
- neural network
- layer
- target model
- page
- 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.)
- Pending
Links
Images
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/10—Address translation
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- 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/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
公开了一种操作包括神经网络处理器的存储装置的方法和一种存储器装置,该方法包括:由控制器装置响应于主机装置的命令输出指示神经网络处理器执行神经网络操作的触发器信号;由神经网络处理器响应于触发器信号向存储目标模型数据和指令数据的存储器装置请求关于目标模型的参数的目标模型数据和用于指示神经网络操作的指令数据;由神经网络处理器从存储器装置接收目标模型数据和指令数据;以及由神经网络处理器基于目标模型数据和指令数据输出推断数据。
Description
相关申请的交叉引用
本申请基于并且要求于2020年9月11日在韩国知识产权局提交的韩国专利申请No.10-2020-0117046的优先权,该申请的公开以引用方式全文并入本文中。
技术领域
本发明构思涉及一种存储装置,并且更具体地说,涉及一种包括神经网络处理器的存储装置以及操作该存储装置的方法。
背景技术
存储装置被配置为基于需要许多用于学习和推断的操作的深度学习模式执行神经网络操作。当移动装置难以提供深度学习所需的计算功率时,移动装置可以将数据发送至云服务器,云服务器可以执行用于深度学习的操作,移动装置可以接收操作的结果并且将深度学习推断数据提供给用户。然而,在该处理中,可能出现以下问题,诸如,持续带来使用云服务的成本,以及不能离线从云服务器接收推断数据。
因此,专用于神经网络操作的神经处理单元(NPU)内置于移动装置中,因此,移动装置自身可以执行神经网络操作。
发明内容
本发明构思提供了一种能够通过改进存储装置的控制器与神经网络处理器之间的命令来有效地执行神经网络操作的存储装置。例如,根据本发明构思的一方面,可以通过消除存储装置的控制器与神经网络处理器之间的不必要的命令来执行神经网络操作。
根据本公开的一方面,提供了一种操作包括神经网络处理器的存储装置的方法,所述方法包括:由控制器装置基于主机装置的命令输出指示神经网络处理器执行神经网络操作的信号;由神经网络处理器基于信号从存储目标模型数据和指令数据的存储器装置请求目标模型数据和指令数据,目标模型数据与目标模型的参数相对应,指令数据用于基于目标模型执行神经网络操作;由神经网络处理器从存储器装置接收目标模型数据和指令数据;以及由神经网络处理器基于目标模型数据和指令数据输出推断数据。
根据本公开的另一方面,提供了一种存储装置,该存储装置包括:控制器装置,其被配置为基于来自主机装置的命令输出指示神经网络操作的第一信号;存储器装置,其被配置为,在存储器装置中的页的第一页区域中存储与目标模型的参数相对应的目标模型数据,以及在存储器装置中的该页的第二页区域中存储用于指示神经网络操作的指令数据;以及神经网络处理器,其被配置为:基于第一信号将第二信号输出至存储器装置,第二信号包括从存储器装置对目标模型数据和指令数据的请求,从存储器装置接收目标模型数据和指令数据,以及基于目标模型数据和指令数据输出推断数据。
根据本公开的另一方面,提供了一种存储器装置,该存储器装置包括:包括多个页的存储器单元阵列;以及存储器控制器装置,其被配置为:基于针对目标页的读取命令对多个页中的目标页执行读取操作,以及输出目标页,其中,多个页中的每一个包括:第一页区域,其被配置为存储与将在其上执行神经网络操作的目标模型相对应的目标模型数据;以及第二页区域,其被配置为存储用于指示目标模型上的神经网络操作的指令数据。
根据本公开的另一方面,提供了一种由神经网络处理器执行的方法,所述方法包括:接收命令以执行神经网络的命令;基于命令从存储目标模型数据和指令数据的存储器装置请求目标模型数据和指令数据,目标模型数据与目标模型的参数相对应,指令数据用于基于目标模型执行神经网络操作;从存储器装置接收目标模型数据和指令数据;基于目标模型数据和指令数据生成推断数据;以及输出推断数据。
根据本公开的另一方面,提供了一种存储装置,该存储装置包括:存储一个或多个指令的存储器;以及处理器,其被配置为执行一个或多个指令,从而:接收命令以执行神经网络;基于命令输出从存储目标模型数据和指令数据的存储器装置对目标模型数据和指令数据的请求,目标模型数据与目标模型的参数相对应,指令数据用于基于目标模型执行神经网络操作;从存储器装置接收目标模型数据和指令数据;基于目标模型数据和指令数据生成推断数据;以及输出推断数据。
附图说明
将根据以下结合附图的详细描述更清楚地理解本发明构思的实施例,其中:
图1是根据示例实施例的神经网络系统的示意性框图;
图2是示出根据比较实施例的存储装置和应用处理器(AP)的组件以及存储装置与AP之间的控制信号的框图;
图3是根据示例实施例的操作存储装置的方法的流程图;
图4是根据示例实施例的神经网络层的示图;
图5是根据示例实施例的通过对多个层执行神经网络操作生成推断数据的方法的流程图;
图6是根据示例实施例的神经网络处理器的示图;
图7是包括第一页区域和第二页区域的多个页的示图;
图8是页组PG被分别映射至多个层的示例的示图;
图9是当针对每层指定多个页时从存储器接收与每层相对应的数据的示例的示图;
图10是根据每层的运算强度确定将存储层数据的存储器装置的示例的流程图;
图11是示出根据图10的示例实施例的映射针对每层确定的存储位置的表的示图;以及
图12是根据将存储在存储器装置中的数据的大小确定是否划分数据以及是否存储数据的示例的流程图。
具体实施方式
现在将参照附图更充分地描述实施例。
图1是根据示例实施例的神经网络系统的示意性框图。
神经网络系统可以训练神经网络。根据示例实施例,神经网络系统可以通过使用神经网络分析输入数据并推断输入数据中包括的信息。例如,神经网络系统可以通过使用神经网络和训练数据进行学习。神经网络系统可以基于推断的信息确定安装有神经网络系统的电子装置的组件的情况或者控制该电子装置的组件。例如,神经网络系统可以应用于智能电话、平板装置、智能电视(TV)、增强现实(AR)装置、物联网(IoT)装置、自动车辆、机器人、医疗装置、无人机、高级驾驶员辅助系统(ADAS)、图像显示装置和测量装置,这些装置使用神经网络执行语音识别操作、图像识别操作、图像分类操作以及图像处理操作。另外,神经网络系统可以安装在各种类型的电子装置中的一种中。
参照图1,神经网络系统可包括存储装置10、应用处理器(AP)20和随机存取存储器(RAM)30。神经网络系统还可包括输入/输出(I/O)模块、安全模块和功率控制装置,并且还包括各种处理器。在一些示例实施例种,神经网络系统的组件中的一些或全部可形成在单个半导体芯片上。例如,神经网络系统可以实施为片上系统(SoC)。然而,本公开不限于此,这样,根据另一示例实施例,神经网络系统可形成在多个半导体芯片上。
AP 20可包括中央处理单元(CPU)21和神经处理单元(NPU)22。CPU 21可以控制AP20的全部操作。CPU 21可包括单核或者多个处理器核(或多核)。CPU 21可以通过使用RAM30处理或执行存储在存储区(例如,存储装置10)中的程序和/或数据。AP 20的NPU22可以通过训练神经网络模型来更新神经网络模型的权重参数,并且基于从外部装置接收的输入数据生成推断数据。例如,CPU 21可以执行应用程序,并且根据应用程序的执行控制NPU 22基于神经网络执行所需的任务。
存储装置10可以从主机装置接收命令和基于命令将主机装置所需的数据提供至主机装置。存储装置10可包括控制器装置11、神经网络处理器12和多个存储器装置(例如,第一存储器装置13a和第二存储器装置13b)。控制器装置11可以从存储装置10以外的主机装置接收命令,分析命令,并且将控制信号和地址信号发送至神经网络处理器12或者多个存储器装置。
神经网络处理器12可以基于接收到的输入数据执行神经网络操作。此外,神经网络处理器12可以基于神经网络操作的结果生成信息信号。神经网络处理器12可以实施为神经网络操作加速器、协处理器、数字信号处理器(DSP)或者专用集成电路(ASIC),并且执行各种类型的神经网络模型中的至少一种的操作,各种类型的神经网络模型诸如是卷积神经网络(CNN)、具有卷积神经网络的区域(R-CNN)、区域建议网络(RPN)、递归神经网络(RNN)、基于叠加的深度神经网络(S-DNN)、状态空间动态神经网络(S-SDNN)、反卷积网络、深度信念网络(DBN)、受限玻耳兹曼机(RBM)、完全卷积网络、长短期记忆(LSTM)网络、分类网络、平面剩余网络、稠密网络和分层金字塔网络和完全卷积网络。
多个存储器装置可包括易失性存储器和非易失性存储器中的至少一个。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除和可编程ROM(EEPROM)和/或闪速存储器。易失性存储器可包括动态RAM(DRAM)、静态RAM(SRAM)和/或同步DRAM(SDRAM)。根据示例实施例,多个存储器装置可包括硬盘驱动(HDD)、固态驱动(SSD)、紧凑型闪存(CF)卡、安全数字(SD)卡、微型SD卡、迷你SD卡、极限数字(xD)卡和记忆棒中的至少一个。
多个存储器装置可包括第一存储器装置13a和第二存储器装置13b。第一存储器装置13a和第二存储器装置13b可为不同类型的存储器装置,并且可为根据数据处理速率或者数据传输速率分类的存储器装置。例如,第一存储器装置13a可为高带宽NAND(HBN)存储器,第二存储器装置13b可为NAND存储器。虽然图1的示例实施例仅示出了两种存储器装置作为所述多个存储器装置,但是本公开的发明构思不限于此,因此,根据其它示例实施例,多个存储器装置可包括两个或更多个存储器装置,并且可包括两种或更多种存储器装置。根据又一示例实施例,存储装置10可包括一个存储器装置。
多个存储器装置可包括多个存储器块,多个存储器块中的每一个包括多个页。神经网络处理器12可以从存储器装置中指定待读取的页,并且将指定的页的地址发送至存储器装置,因此,存储器装置可以将关于指定的页的数据发送至神经网络处理器12。多个存储器装置可以在每页的第一页区域中存储目标模型数据,并且在每页的第二页区域中存储指令数据。
目标模型数据可为关于将在其上执行神经网络操作的目标模型的参数的数据,指令数据可为指示神经网络操作的数据。下面,将参照图4描述通过从在第一页区域中存储目标模型数据并且在第二页区域中存储指令数据的存储器装置中读数据来执行一系列神经网络操作的处理。
图2是示出根据比较神经网络系统的存储装置10与AP 20之间的控制信号以及存储装置10和AP 20的配置的框图。
参照图2,AP 20可以随着用于执行神经网络操作的输入数据将命令210发送至存储装置10。命令210可为用于指示神经网络操作的命令信号。根据另一示例实施例,命令210可为用于指定用于执行操作的目标神经网络模型的信号以及用于指示神经网络操作的命令信号。输入数据可为用于通过执行神经网络操作生成推断结果的数据。例如,输入数据可为用于生成目标对象的推断结果的图像数据。另外,根据比较实施例,AP 20可以将指令数据发送至存储装置10,以在目标模型上执行神经网络操作。接收到指令数据的存储装置10的控制器装置11可以对指令数据解码并且生成指令信号220a。
存储装置10的控制器装置11可以接收命令210并且将指令信号220a发送至神经网络处理器12以指示神经网络处理器12对输入数据执行神经网络操作。根据比较神经网络系统,指令信号220a可包括用于指示神经网络处理器12在目标模型上执行神经网络操作的触发器信号和用于对指令数据解码和指示在多个层中的每层上的一系列操作的信号。
例如,控制器装置11可以指示神经网络处理器12在目标模型上执行神经网络操作,并且神经网络处理器12可以接收指令信号220a,并且开始在第一层上执行神经网络操作。在这种情况下,神经网络处理器12可以执行一系列操作,以输出关于第一层的结果数据。为了执行每一个操作,神经网络处理器12必须从控制器装置11按次序接收指令信号220a。神经网络处理器12可以在第一层上执行第一操作,并且通知控制器装置11第一操作已完成。控制器装置11可被通知第一操作已完成,并且可以指示神经网络处理器12执行第二操作。也就是说,当在n个层上执行了m个操作以生成推断结果(其中m和n为整数)时,根据比较神经网络系统的控制器装置11必须发送和接收总共2×n×m个指令信号220a和总共2×n×m个完成信号220b。
根据比较神经网络系统的存储器装置13可以仅存储目标模型数据,并且响应于神经网络处理器12的模型数据请求信号230将目标模型数据提供至神经网络处理器12,而不用将指令数据发送至神经网络处理器12。也就是说,根据图2所示的比较神经网络系统,存储器装置13不将指令数据提供至神经网络处理器12。
相反,根据本发明构思的存储装置10可以将目标模型数据和指令数据一起存储在存储器(例如,第一存储器装置13a或第二存储器装置13b)中,一起接收目标模型数据和指令数据,并且执行一系列操作,而不用将指令信号220a和完成信号220b发送至控制器装置11以及从控制器装置11接收指令信号220a和完成信号220b。
图3是根据示例实施例的操作图1的存储装置10的方法的流程图。将参照图1描述图3。
根据示例实施例存储装置10的神经网络处理器12可从控制器装置11接收信号,基于触发器信号从存储器装置一起接收目标模型数据和指令数据,输出推断数据。根据示例实施例,存储装置10的神经网络处理器12可以从控制器装置11接收触发器信号。根据示例实施例,神经网络处理器12可以从第一存储器装置13a或第二存储器装置13b接收目标模型数据和指令数据。
在操作S10中,存储装置10的控制器装置11可以响应于从主机装置接收到的命令将信号输出至神经网络处理器12。信号可为指示神经网络处理器12执行神经网络操作的触发器信号。另外,控制器装置11可以发送指示神经网络操作的信号和从多个神经网络模型中指定将在其上执行神经网络操作的模型的信号二者。
在操作S20中,存储装置10的神经网络处理器12可以从控制器装置11接收命令,并且从存储器装置请求目标模型数据和指令数据。根据示例实施例,神经网络处理器12可以从第一存储器装置13a或第二存储器装置13b请求目标模型数据和指令数据。根据示例实施例的神经网络处理器12可以确定输入数据的类型或者输入数据的计算量,并且从多个神经网络模型中选择目标模型以执行操作。然而,神经网络处理器12不限于此,这样,根据另一示例实施例,神经网络处理器12可以从触发器信号接收指示目标模型执行操作的信号,并且选择执行操作的目标模型。
神经网络处理器12可以接收存储有存储在内部控制器中的内部缓冲器存储器或目标存储器的页地址,并且从存储器装置接收存储在接收到的页地址中的目标模型数据和指令数据。根据示例实施例,神经网络处理器12可以从第一存储器装置13a或第二存储器装置13b接收存储在接收到的页地址中的目标模型数据和指令数据。
在操作S30中,神经网络处理器12可以基于目标模型数据和指令数据输出关于输入数据的推断数据。目标模型数据可包括多条层数据。神经网络处理器12可以基于关于层的层数据输出与每层相对应的结果数据。当前层的结果数据可输入至下一层,因此,可基于最后一层的输出结果数据生成推断数据。
为了生成关于每层的结果数据,神经网络处理器12可以执行多个操作。可基于指令数据执行操作中的每一个。作为示例,为了生成关于每层的结果数据,神经网络处理器12可以对输入数据和权重参数执行乘法运算。在这种情况下,神经网络处理器12的控制器可以基于从存储器装置接收到的指令数据来操作处理电路以输出对输入数据和权重参数进行乘法运算的结果。
图4是根据示例实施例的神经网络层的示图。将参照图1描述图4。
根据示例实施例的神经网络模型可包括多个层(例如,第一层至第四层L1、L2、L3和L4)。神经网络处理器12可以输出关于第一层至第四层L1、L2、L3和L4中的每一个的结果数据,接收关于先前层的结果数据,和基于最后一层生成推断数据片OUT1和OUT2。参照图4,神经网络模型可包括四层,例如,第一层至第四层L1、L2、L3和L4。第一层L1可为输入层,第二层L2和第三层L3可为隐藏层,第四层L4可为输出层。虽然在图4中根据示例实施例示出了四层L1、L2、L3和L4,但是本公开不限于此,这样,根据另一示例实施例,可以提供不同数量的层。
根据图4所示的示例实施例,神经网络处理器12可以将输入数据IN1、IN2和IN3提供至第一层L1,并且从第一层L1接收输出结果数据。然后,神经网络处理器12可以将来自第一层L1的输出结果数据作为输入数据提供至第二层L2,并且从第二层L2接收输出结果数据。然后,神经网络处理器12可以将来自第二层L2的输出结果数据作为输入数据提供至第三层L3,并且从第三层L3接收输出结果数据。最终,神经网络处理器12可以将来自第三层L3的输出结果数据作为输入数据提供至作为最后一层的第四层L4,并且从第四层L4接收输出结果数据。神经网络处理器12基于来自第四层的输出结果数据生成推断数据片OUT1和OUT2。
存储装置10可以存储关于经训练的神经网络模型的数据作为模型数据,以及存储通过针对每层进行训练而更新的权重参数,作为层数据。也就是说,模型数据可包括多条层数据和关于神经网络模型中包括的多个层的结构数据。
图5是根据示例实施例的通过在多个层上执行神经网络操作生成推断数据的方法的流程图。图6是根据示例实施例的神经网络处理器12的示图。
参照图6,神经网络处理器12可包括通信接口121、编译器122、控制器123、缓冲器存储器124和处理电路125。通信接口121可以从存储装置10的控制器装置11接收触发器信号,或者将用于请求目标模型数据和指令数据的请求信号发送至存储器装置。另外,通信接口121可以从存储器装置接收目标模型数据和指令数据,并且将生成的推断数据发送至外部主机装置或存储器装置。
参照图5,当在包括多个层的目标模型上执行神经网络操作时,神经网络处理器12可以在每层上执行操作,并且生成推断数据。神经网络处理器12可以响应于接收信号首先在第一层上执行神经网络操作。
在操作S210中,神经网络处理器12可以从存储器装置请求关于第n层的层数据和关于层数据的指令数据。根据示例实施例,神经网络处理器12可以从第一存储器装置13a或第二存储器装置13b请求关于第n层的层数据和关于层数据的指令数据。虽然与每条层数据相对应的指令数据可以根据层而变化,但是当在每层上的操作相似时,用于执行神经网络操作的指令数据可为相似的。
在操作S310中,已经接收到请求信号的存储器装置可以将与请求信号相对应的第n层数据和指令数据发送至神经网络处理器12。根据示例实施例,第n层数据可为存储为与第n层相对应的权重参数。神经网络处理器12可以生成用于驱动神经网络处理器12的处理电路125以基于指令数据对权重参数和输入数据执行操作的指令信号。
在操作S320中,神经网络处理器12可以在第n层上执行多个操作,并且生成结果数据。例如,多个操作可包括乘法运算、累加运算和下一层调用操作。然而,多个操作不限于此,而是可包括确定为针对每个神经网络模型生成结果数据的所有操作。结果数据可为在执行了每层中确定的所有操作之后计算的数据,并且可为用于下一层的输入数据。神经网络处理器12可以生成关于每层的结果数据,将结果数据存储在缓冲器存储器124中,并且响应于结果数据被存储在缓冲器存储器124中的情况调用下一层。
在操作S330中,神经网络处理器12可以确定已经生成结果数据的第n层是否为最后一层。最后一层可以指图4的输出层,并且可为没有下一层的层。基于确定第n层有下一层,神经网络处理器12可以请求关于第n+1层的层数据和指令数据,并且在第n+1层上执行神经网络操作。
在操作S340中,当确定第n层是最后一层时,神经网络处理器12可以生成关于第n层的结果数据作为推断数据。神经网络处理器12可以将生成的推断数据存储在存储器装置中,或者通过神经网络处理器12的通信接口121将生成的推断数据提供至主机装置。
参照图6,神经网络处理器12的编译器122可以将通过通信接口121接收到的数据转换为可由神经网络处理器12处理的汇编语言,并且将汇编语言存储在缓冲器存储器124中。参照图6,编译器122可被包括在神经网络处理器12中,并且将接收到的目标模型数据或者指令数据转换为汇编语言,但是本发明构思不限于此。在另一实施例中,编译器122可被包括在存储器装置中,并且接收通过接口121接收到的数据被转换成的汇编语言。
神经网络处理器12的控制器123可以对神经网络处理器12执行所有控制操作。例如,神经网络处理器12的控制器123可以基于存储在缓冲器存储器124中的指令数据生成用于驱动处理电路125的指令信号。另外,当将执行多个操作以生成结果数据时,控制器123可以在执行每个操作之后指示下一操作。
缓冲器存储器124至少可以临时存储通过通信接口121接收到的数据和由处理电路125生成的数据。例如,通过通信接口121接收到的数据可包括目标模型数据和指令数据,并且由处理电路125生成的数据可包括针对每层生成的结果数据和针对每个操作生成的中间数据。缓冲器存储器124至少可以临时存储结果数据,并且响应于在下一层上执行操作的情况将结果数据提供至处理电路125。另外,当神经网络处理器12针对存储器装置的每一页接收数据时,针对每一页存储在一起的指令数据和目标模型数据可以分离,并且存储在彼此分离的区域中。
处理电路125可以从缓冲器存储器124接收输入数据、中间数据和目标模型数据中的至少一些,响应于指令信号执行操作,并且在每个操作中生成中间数据。处理电路125可以使用先前操作中生成的中间数据执行下一操作。
图7是多个页的示图,多个页中的每一个包括第一页区域“区域1”和第二页区域“区域2”。
存储器装置(可为非易失性存储器装置)可包括多个存储器单元块,多个存储器单元块中的每一个可包括多个页。参照图7,每一页可包括第一页区域“区域1”和第二页区域“区域2”,并且不同类型的多条数据可分别存储在第一页区域“区域1”和第二页区域“区域2”中。例如,目标模型数据可存储在第一页区域“区域1”中,并且指令数据可存储在第二页区域“区域2”中。第一页区域“区域1”可为被配置为存储512比特、2k比特和4k比特的一组存储器单元,第二页区域“区域2”可为被配置为存储16比特、64比特和128比特的一组存储器单元。然而,第一页区域“区域1”和第二页区域“区域2”的存储器大小不限于此,并且第一页区域“区域1”与第二页区域“区域2”的比率可以根据每页而变化。
当神经网络处理器(参照图6中的12)通过接收关于多个页的数据执行神经网络操作时,指令数据可包括关于将在当前页之后被读取的下一页的地址信息,神经网络处理器12可以基于关于下一页的地址信息从存储器装置加载下一页。
根据另一示例实施例,当神经网络处理器12加载多个页时,可在多个页的第一页和最后一页中写指示页范围的识别比特。神经网络处理器12可以根据多个页中的第一页的识别比特从存储器装置按次序加载页,并且根据多个页中的最后一页的识别比特结束对页的加载。神经网络处理器12可以通过使用上述方法加载多个页,因此,用于执行神经网络操作的目标模型数据和指令数据可分离并且存储在缓冲器存储器中。
图8是页组PG1、PG2、PG3和PG4分别被映射至多个层的示例的示图。将参照图1描述图8。
参照图8,当在多个神经网络模型中的模型A上执行神经网络操作时,可映射关于多个层的页。虽然图8示出了基于模型A映射页的情况,但是本发明构思不限于此,并且可以针对多个神经网络模型中的每一个将页映射至每一层。参照图8,模型A可包括n个层,并且与每层相对应的层数据和指令数据可存储在通过层分离的页组PG中。例如,第一页组PG1可包括关于第一层的层数据和指令数据,第一页组PG1和第二页组PG2可以与彼此分离的地址相对应。
根据示例实施例,存储装置10的控制器装置11或者神经网络处理器12可以存储与每层相对应的页组PG的地址范围。当针对每层的页组PG的地址范围存储在存储装置10的控制器装置11中时,控制器装置11可以将触发器信号发送至神经网络处理器12,并且同时发送与目标模型的每层相对应的地址范围信息。当针对每层的页组PG的地址范围存储在神经网络处理器12中时,神经网络处理器12可以加载与每层相对应的地址范围的页。当确定在对应的层上的操作完成时,神经网络处理器12可以加载与下一层相对应的页。
因此,根据示例实施例的神经网络处理器12可以通过从存储装置10的控制器装置11仅接收一次触发器信号来接收关于多个层的层数据和指令数据。另外,神经网络处理器12可以在不将附加信号发送至控制器装置11和从控制器装置11接收附加信号的情况下生成推断数据。
图9是当针对每层指定多个页时从存储器接收到与每层相对应的数据的示例的示图。参照图1、图3和图9,当根据示例实施例的神经网络处理器12从多个页接收与其对应的层数据和指令数据时,神经网络处理器12可以按次序接收关于多个页的数据。在图3的操作S10中,神经网络处理器12可以响应于神经网络处理器12从存储装置10的控制器装置11接收触发器信号的情况指定目标模型,并且从存储装置10的控制器装置11或者缓冲器存储器加载与目标模型的多个层相对应的地址范围。
参照图9,在操作S211中,神经网络处理器12可以指定将在其上执行神经网络操作的层的页地址范围。作为示例,存储有关于第n层的层数据和指令数据的页组可在地址范围A1至Ak内,并且神经网络处理器12可以从存储器装置请求与地址A1至Ak相对应的数据。
在操作S311中,存储器装置可以开始从与地址A1相对应的页中读取数据,以及读取关于与指定的地址相对应的页的数据。
在操作S312中,神经网络处理器12可以加载关于与地址相对应的页的数据,并且划分和存储层数据和指令数据。根据实施例,神经网络处理器12可以将基于层数据和指令数据中的每一个中包括的识别比特接收到的一系列比特划分为与层数据相对应的部分和与指令数据相对应的部分,并且将划分的部分存储在缓冲器存储器中。
在操作S313中,神经网络处理器12可以确定接收到的页的地址是否是对应层的页地址范围的最后一页。作为示例,当第n层在A1至Ak的页地址范围内时,神经网络处理器12可以确定接收到的页的地址是否为Ak。当接收到的页的地址为最后一页时,神经网络处理器12可以在第n层上执行神经网络操作;但是,当接收到的页的地址不是最后一页时,神经网络处理器12可以加载关于与下一地址相对应的页的数据。
图10是根据各层的运算强度确定将存储层数据的存储器装置的示例的流程图。图11是示出根据图10的实施例的映射了针对每层确定的存储位置的表的示图。将参照图1描述图10和图11。
根据示例实施例的存储装置10可以在存储器装置的每一页中一起存储目标模型数据和指令数据,如图7的示例实施例中那样。存储装置10可以在存储器单元阵列的存储器页的第一页区域中存储层数据,并且在存储器单元阵列的存储器页的第二页区域中存储指令数据。存储装置10可以从页中加载数据并且将彼此分离的识别比特一起存储在层数据和指令数据中,以识别层数据和指令数据中的每一个。
目标模型数据可包括与多个层中的每一个相对应的层数据,并且存储装置10可以将存储有与多个层中的每一个相对应的层数据的多个页作为一个页组存储在存储器装置中。控制器装置11或神经网络处理器12可以将多个层中的每一个映射至页组针对每层的地址,并且存储映射的层和地址。
参照图10,根据示例实施例的存储装置10可包括多个存储器装置。存储装置10可以基于用于执行神经网络操作的运算强度从多个存储器装置中确定将存储关于每层的层数据和指令数据的存储器装置。也就是说,假设多个层包括第一层和作为最后一层的第n层,存储装置10可以确定将要存储关于第一层的层数据和指令数据至关于第n层的层数据和指令数据的存储器装置。
在操作S40中,存储装置10可以确定用于在第n层上执行神经网络操作的运算强度,并且确定运算强度是否超过阈值。运算强度可以与用于执行神经网络操作的计算资源需求相对应。根据示例实施例,运算强度可以是使用与在对应层上执行操作所需的存储器访问量相关的代码部分执行的浮点操作的测量。运算强度可与对应层所需的计算量成正比。也就是说,因为运算强度与针对模型大小的计算量成正比,所以随着模型大小的增大和计算量的减小,运算强度可减小。
当存储装置10确定与第n层相对应的运算强度小于阈值时,处理可以前进至操作S50。否则,当存储装置10确定运算强度大于或等于阈值时,处理可以前进至操作S60。
在操作S50中,因为与第n层相对应的算术强度小于阈值,所以神经网络处理器12可以确定第n层具有针对大小的少量计算,并且将第n层数据存储在第一存储器装置13a中。相反,在操作S60中,因为与第n层相对应的运算强度大于或等于阈值,所以神经网络处理器12可以确定第n层具有针对大小的大量计算,并且将第n层数据存储在第二存储器装置13b中。
根据示例实施例的存储装置10的第一存储器装置13a可为能够每秒发送大量信息的存储器装置,而第二存储器装置13b可为能够相比于第一存储器装置13a每秒发送少量信息的存储器装置。例如,第一存储器装置13a可为能够以10Gbps收发数据的HBN存储器,第二存储器装置13b可为能够以4Gbps收发数据的NAND存储器。也就是说,第一存储器装置13a可为能够以10Gbps发送和接收数据的HBN存储器,第二存储器装置13b可为能够以4Gbps发送和接收数据的NAND存储器。
根据示例实施例的存储装置10可为安装在移动装置中的存储装置。因此,可需要有效地利用存储器装置以在移动装置中执行神经网络操作。因此,在示例实施例中,仅被确定为与计算量相比具有大数据大小的一些层数据可被存储在HBN存储器中,而其余的层数据可被存储在普通NAND存储器中。因此,可以有效地利用限制地安装在移动装置中的HBN存储器。
在操作S70中,第n层数据被存储在第一存储器装置13a或第二存储器装置13b中的存储装置10可以确定第n层是否为最后一层。当确定第n层是最后一层时,存储装置10可以因为已经完成了目标模型数据的存储而终止数据的存储。否则,当确定第n层不是最后一层,并且还有更多层数据待存储时,存储装置10可以前进至存储关于下一层的层数据和指令数据的操作。
参照图11,存储装置10可以映射和存储每层的存储位置。根据图11的示例实施例,关于第一层、第二层和第四层中的每一个的层数据和指令数据可存储在第一存储器装置13a中,关于第三层和第n层中的每一个的层数据和指令数据可存储在第二存储器装置13b中。存储装置10可以存储关于图1的每层的存储位置的映射信息。
当神经网络处理器12通过加载目标模型数据执行神经网络操作时,关于每层的层数据可基于关于与其相对应的层的存储位置的映射信息悖加载。作为示例,可从第一存储器装置13a加载关于第一层的层数据和指令数据,并且可从第二存储器装置13b加载关于第三层的层数据和指令数据。
根据图10和图11的示例实施例,关于每层的层数据可存储在两个存储器装置(例如,第一存储器装置13a和第二存储器装置13b)中的任一个中,但是存储器装置的数量不限于此。在其它实施例中,关于每层的层数据可存储在至少三个存储器装置中的任一个中。
图12是确定是否根据将被存储在存储器装置中的数据大小划分数据和存储数据的示例的流程图。将参照图1描述图12。
参照图12,根据示例实施例的存储装置10可以确定是否划分待存储的数据和将划分的数据存储在多个页中。作为示例,当层数据包括一系列比特时,可根据层数据和指令数据的比特数是否大于存储器装置可在一页存储的比特数来确定是否划分层数据。神经网络处理器12可以通过按照页顺序加载划分到多个页中的层数据来加载全部层数据。
在操作S41中,存储装置10可以确定指令数据和层数据之和的总数据大小是否大于页大小。当总数据大小大于页大小时,所有数据不能被存储在一页中。因此,存储装置10可以确定需要划分数据,并且前进至操作S51。相反,当确定所有数据小于页数据时(即,当总数据大小小于页大小时),存储装置10可以确定不需要划分数据,并且前进至操作S71。
在操作S51中,存储装置10可以通过从页大小减去指令数据的大小获得的大小来划分层数据。作为示例,当页大小为4kb而指令数据大小为1kb时,存储装置10可以以3kb为单位来划分层数据。当层数据的大小为24kb时,可以以3kb为单位来将层数据划分为总共8页。
在操作S61中,存储装置10可以将划分的层数据和指令数据一起存储在一页。作为示例,在操作S51中划分为8页的数据可以均与指令数据一起存储。在操作S71中,当总数据大小小于页大小时,存储装置10可以将层数据和指令数据一起存储在一页。
虽然已经参照本发明构思的示例实施例具体地示出和描述了本发明构思,但是应该理解,在不脱离所附权利要求的精神和范围的情况下可以做出各种形式和细节上的改变。
Claims (20)
1.一种操作包括神经网络处理器的存储装置的方法,所述方法包括:
由控制器装置基于来自主机装置的命令输出指示所述神经网络处理器执行神经网络操作的信号;
由所述神经网络处理器基于所述信号从存储目标模型数据和指令数据的存储器装置请求所述目标模型数据和所述指令数据,所述目标模型数据与目标模型的参数相对应,并且所述指令数据用于基于所述目标模型执行所述神经网络操作;
由所述神经网络处理器从所述存储器装置接收所述目标模型数据和所述指令数据;以及
由所述神经网络处理器基于所述目标模型数据和所述指令数据输出推断数据。
2.根据权利要求1所述的方法,其中,请求所述目标模型数据和所述指令数据的步骤包括:
指定所述存储器装置的页地址,以及
请求在所述页地址中一起写入的目标模型数据和指令数据。
3.根据权利要求2所述的方法,其中,请求所述目标模型数据和所述指令数据的步骤包括:
当在指定的页地址中写入的指令数据包括与下一页地址相对应的信息时,从所述下一页地址请求所述目标模型数据和所述指令数据。
4.根据权利要求1所述的方法,其中,输出所述推断数据的步骤包括:通过基于所述指令数据对输入数据执行一系列操作,输出与所述目标模型的每层相对应的结果数据。
5.根据权利要求4所述的方法,其中,请求所述目标模型数据和所述指令数据的步骤包括:基于所述信号从所述存储器装置请求与所述目标模型的第一层相对应的第一层数据和所述指令数据。
6.根据权利要求5所述的方法,其中,输出所述推断数据的步骤包括:
从所述存储器装置接收所述第一层数据和所述指令数据,并且通过在所述第一层上执行所述神经网络操作来生成第一结果数据;以及
由所述神经网络处理器基于所述第一结果数据从所述存储器装置请求第二层数据。
7.根据权利要求6所述的方法,其中,输出所述推断数据的步骤包括:
通过使用所述第一结果数据作为输入数据在第二层上执行所述神经网络操作来生成第二结果数据;以及
基于确定所述第二层为所述目标模型的最后一层来生成所述第二结果数据作为所述推断数据。
8.根据权利要求1所述的方法,其中,输出所述推断数据的步骤包括:划分所述目标模型数据和所述指令数据;以及将所述目标模型数据和所述指令数据分别存储在分离的缓冲器存储器中。
9.根据权利要求1所述的方法,还包括:将所述目标模型数据和所述指令数据一起存储在所述存储器装置的每一页中。
10.根据权利要求9所述的方法,其中,存储所述目标模型数据和所述指令数据的步骤包括:将与所述目标模型的每层相对应的层数据和所述指令数据存储在每个页组中。
11.根据权利要求9所述的方法,其中,存储所述目标模型数据和所述指令数据的步骤包括:基于用于在所述目标模型的每层上执行所述神经网络操作的运算强度来识别将存储与所述目标模型的每层相对应的层数据和所述指令数据的存储器。
12.根据权利要求11所述的方法,其中,识别将存储所述层数据和所述指令数据的存储器的步骤包括:
基于第一层的第一运算强度小于阈值,将第一层数据存储在第一存储器中,以及
基于所述第一层的第一运算强度大于或等于所述阈值,将所述第一层数据存储在第二存储器中。
13.根据权利要求9所述的方法,其中,存储所述目标模型数据和所述指令数据的步骤包括:基于包括与多个页相对应的页顺序信息的指令数据,在所述多个页的第一页和最后一页中,写入指示被写入所述目标模型数据的页范围的标识比特。
14.根据权利要求9所述的方法,其中,存储所述目标模型数据和所述指令数据包括:在所述控制器装置或所述神经网络处理器中存储关于所述目标模型数据的页的地址。
15.一种存储装置,包括:
控制器装置,其被配置为基于来自主机装置的命令输出指示神经网络操作的第一信号;
存储器装置,其被配置为,在所述存储器装置中的页的第一页区域中存储与目标模型的参数相对应的目标模型数据,以及在所述存储器装置中的所述页的第二页区域中存储指示所述神经网络操作的指令数据;以及
神经网络处理器,其被配置为:
基于所述第一信号将第二信号输出至所述存储器装置,所述第二信号包括从存储器装置对所述目标模型数据和所述指令数据的请求,
从所述存储器装置接收所述目标模型数据和所述指令数据,以及
基于所述目标模型数据和所述指令数据输出推断数据。
16.根据权利要求15所述的存储装置,其中,所述存储器装置还被配置为:
指定页地址,以及
将与指定的页地址相对应的目标模型数据和指令数据提供至所述神经网络处理器。
17.根据权利要求15所述的存储装置,其中,所述神经网络处理器还被配置为:
基于与所述目标模型的第一层相对应第一层数据和所述指令数据对输入数据执行一系列操作,
生成与所述目标模型的第一层相对应的结果数据,以及
响应于所述结果数据的生成从所述存储器装置请求第二层数据。
18.一种存储器装置,包括:
包括多个页的存储器单元阵列;以及
存储器控制器装置,其被配置为:
基于针对目标页的读取命令对所述多个页中的所述目标页执行读取操作,以及
输出所述目标页,
其中,所述多个页中的每一个包括:
第一页区域,其被配置为存储与将在其上执行神经网络操作的目标模型相对应的目标模型数据;以及
第二页区域,其被配置为存储用于指示所述目标模型上的神经网络操作的指令数据。
19.根据权利要求18所述的存储器装置,其中,所述存储器单元阵列包括被配置为存储与所述目标模型的每层相对应的层数据和所述指令数据的多个页组。
20.根据权利要求19所述的存储器装置,其中,所述多个页组存储与用于执行所述神经网络操作的运算强度小于阈值的层相对应的层数据和所述指令数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0117046 | 2020-09-11 | ||
KR1020200117046A KR20220034542A (ko) | 2020-09-11 | 2020-09-11 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114169510A true CN114169510A (zh) | 2022-03-11 |
Family
ID=80476653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111049754.2A Pending CN114169510A (zh) | 2020-09-11 | 2021-09-08 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11669720B2 (zh) |
KR (1) | KR20220034542A (zh) |
CN (1) | CN114169510A (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0338725A (ja) | 1989-07-05 | 1991-02-19 | Mitsubishi Electric Corp | データ処理装置及びマイクロプロセッサ |
US9606916B2 (en) | 2013-09-13 | 2017-03-28 | Samsung Electronics Co., Ltd. | Semiconductor devices including application processor connected to high-bandwidth memory and low-bandwidth memory, and channel interleaving method thereof |
US10503655B2 (en) | 2016-07-21 | 2019-12-10 | Advanced Micro Devices, Inc. | Data block sizing for channels in a multi-channel high-bandwidth memory |
US20180053086A1 (en) | 2016-08-22 | 2018-02-22 | Kneron Inc. | Artificial neuron and controlling method thereof |
CN109284822B (zh) * | 2017-07-20 | 2021-09-21 | 上海寒武纪信息科技有限公司 | 一种神经网络运算装置及方法 |
US11119677B2 (en) | 2017-12-15 | 2021-09-14 | Samsung Electronics Co., Ltd. | HBM based memory lookup engine for deep learning accelerator |
US11151006B2 (en) | 2018-07-02 | 2021-10-19 | Samsung Electronics Co., Ltd. | HBM RAS cache architecture |
WO2020026036A1 (en) | 2018-07-31 | 2020-02-06 | Marvell World Trade Ltd. | Metadata generation at the storage edge |
US10956584B1 (en) * | 2018-09-25 | 2021-03-23 | Amazon Technologies, Inc. | Secure data processing |
US11586900B2 (en) * | 2020-04-20 | 2023-02-21 | Macronix International Co., Ltd. | Training algorithm in artificial neural network (ANN) incorporating non-ideal memory device behavior |
US11544547B2 (en) * | 2020-06-22 | 2023-01-03 | Western Digital Technologies, Inc. | Accelerating binary neural networks within latch structure of non-volatile memory devices |
US20220027083A1 (en) * | 2020-07-27 | 2022-01-27 | Microchip Technology Inc. | Regression Neural Network for Identifying Threshold Voltages to be Used in Reads of Flash Memory Devices |
-
2020
- 2020-09-11 KR KR1020200117046A patent/KR20220034542A/ko active Search and Examination
-
2021
- 2021-04-14 US US17/230,331 patent/US11669720B2/en active Active
- 2021-09-08 CN CN202111049754.2A patent/CN114169510A/zh active Pending
-
2023
- 2023-05-01 US US18/310,008 patent/US20230259750A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220083847A1 (en) | 2022-03-17 |
US20230259750A1 (en) | 2023-08-17 |
KR20220034542A (ko) | 2022-03-18 |
US11669720B2 (en) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701250B (zh) | 数据定点化方法和装置 | |
US20190057302A1 (en) | Memory device including neural network processor and memory system including the memory device | |
US9411726B2 (en) | Low power computation architecture | |
CN110582745B (zh) | 存储器装置及可促进张量存储器存取的方法 | |
US11176438B2 (en) | Neural network system, application processor having the same, and method of operating the neural network system | |
US20200167632A1 (en) | Neural network device for neural network operation, method of operating neural network device, and application processor including the neural network device | |
CN110598855B (zh) | 深度学习模型生成方法、装置、设备及存储介质 | |
CN111340201A (zh) | 卷积神经网络加速器及其执行卷积运算操作的方法 | |
US20200183834A1 (en) | Method and device for determining memory size | |
KR20200108774A (ko) | 순환 큐 기반의 명령어 메모리를 포함하는 메모리 장치 및 그 동작방법 | |
CN112308220A (zh) | 神经网络加速系统及其操作方法 | |
KR20200131741A (ko) | 메모리에서 매크로 연산을 수행하기 위한 기술 | |
CN111639523B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
EP3438936A1 (en) | Method and apparatus for managing graphics layers within a data processing system | |
CN114169510A (zh) | 存储装置及其操作方法 | |
CN111694513A (zh) | 包括循环指令存储器队列的存储器器件和方法 | |
US11836606B2 (en) | Neural processing unit and electronic apparatus including the same | |
KR101825880B1 (ko) | 소프트웨어 컴포넌트 기반 로봇 시스템을 위한 입/출력 기반 테스트 케이스 생성 방법 및 이를 수행하는 장치 | |
US20210312012A1 (en) | Neural network device, method of operating the neural network device, and application processor including the neural network device | |
CN116048770A (zh) | 用于进程调度的方法和设备 | |
CN111143148B (zh) | 一种模型参数确定方法、装置及存储介质 | |
US10908900B1 (en) | Efficient mapping of input data to vectors for a predictive model | |
CN114090466A (zh) | 一种指令处理装置、方法、计算机设备及存储介质 | |
KR20220084845A (ko) | 채널 수에 기초하여 컨볼루션 연산을 수행하는 npu 장치 및 이의 동작 방법 | |
US20230096854A1 (en) | Data processing system, operating method thereof, and computing system using data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |