CN112908372A - 使用不同微凸块发射用于机器学习操作的数据 - Google Patents

使用不同微凸块发射用于机器学习操作的数据 Download PDF

Info

Publication number
CN112908372A
CN112908372A CN202011409973.2A CN202011409973A CN112908372A CN 112908372 A CN112908372 A CN 112908372A CN 202011409973 A CN202011409973 A CN 202011409973A CN 112908372 A CN112908372 A CN 112908372A
Authority
CN
China
Prior art keywords
microbumps
memory device
machine learning
data
processing device
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
Application number
CN202011409973.2A
Other languages
English (en)
Inventor
P·卡莱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN112908372A publication Critical patent/CN112908372A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1069I/O lines read out arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L24/10Bump connectors ; Manufacturing methods related thereto
    • H01L24/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L24/17Structure, shape, material or disposition of the bump connectors after the connecting process of a plurality of bump connectors
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/18Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/17Structure, shape, material or disposition of the bump connectors after the connecting process of a plurality of bump connectors
    • H01L2224/171Disposition
    • H01L2224/1712Layout
    • H01L2224/1713Square or rectangular array

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Power Engineering (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Semiconductor Memories (AREA)

Abstract

本申请案涉及使用不同微凸块发射用于机器学习操作的数据。一种系统包含具有微凸块的存储器装置和处理装置。所述处理装置以操作方式与所述存储器装置耦合以执行操作。所述操作包含基于所述存储器装置的所述微凸块的集发射用于机器学习操作的数据,其中所述数据存储于所述存储器装置处。另外,所述操作包含确定所述机器学习操作的条件的改变。此外,所述操作包含响应于确定所述机器学习操作的所述条件的所述改变,确定所述存储器装置的所述微凸块的将用以发射用于所述机器学习操作的后续数据的新集。此外,所述操作包含使用所述存储器装置的所述新微凸块集发射所述后续数据。

Description

使用不同微凸块发射用于机器学习操作的数据
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及使用不同微凸块发射用于机器学习操作的数据。
背景技术
存储器子系统可包含存储数据的一或多个存储器组件。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。
发明内容
本公开的一方面提供一种系统,其中所述系统包括:存储器装置,其包括微凸块;和处理装置,其以操作方式与所述存储器装置耦合以执行包括以下各项的操作:基于所述存储器装置的所述微凸块的集发射用于机器学习操作的数据,所述数据存储于所述存储器装置处;确定所述机器学习操作的条件的改变;响应于确定所述机器学习操作的所述条件的所述改变,确定所述存储器装置的所述微凸块的将用以发射用于所述机器学习操作的后续数据的另一集;和使用所述存储器装置的所述另一微凸块集发射所述后续数据。
本公开的另一方面提供一种方法,其中所述方法包括:基于存储器装置的微凸块集发射用于机器学习操作的数据,所述数据存储于所述存储器装置处;确定所述机器学习操作的条件的改变;响应于确定所述机器学习操作的所述条件的所述改变,通过处理装置确定所述存储器装置的所述微凸块的将用以发射用于所述机器学习操作的后续数据的另一集;和使用所述存储器装置的所述另一微凸块集发射所述后续数据。
本公开的另一方面提供一种方法,其中所述方法包括:接收对改变存储器装置中的用以发射用于机器学习操作的数据的微凸块集的指示;通过处理装置根据所述指示,基于所述存储器装置中的相应微凸块的方位选择所述微凸块的另一集;和使用所述微凸块的所述另一集发射用于所述机器学习操作的所述数据。
附图说明
根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,附图不应视为将本公开限制于具体实施例,而是仅用于解释和理解。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2A说明根据本公开的一些实施例的包含微凸块的实例存储器装置的侧视图和底视图。
图2B说明根据本公开的一些实施例的包含具有微凸块的存储器装置和具有微凸块的机器学习处理装置的实例计算环境。
图3说明根据本公开的一些实施例的包含具有微凸块的第一存储器装置、具有微凸块的机器学习处理装置和具有输入和输出(I/O)引脚的第二存储器装置的实例计算环境。
图4A说明根据本公开的一些实施例的执行机器学习操作的实例。
图4B说明根据本公开的一些实施例的执行机器学习操作的另一实例。
图5是根据本公开的一些实施例的发射用于机器学习操作的数据的实例方法的流程图。
图6A说明根据本公开的一些实施例的包含具有微凸块的存储器装置和具有微凸块的机器学习处理装置的实例计算环境。
图6B说明根据本公开的一些实施例的使用包含微凸块的存储器装置执行机器学习操作的实例。
图7A说明根据本公开的一些实施例的包括单个裸片和微凸块的实例存储器装置的侧视图和底视图。
图7B说明根据本公开的一些实施例的包含多个裸片和微凸块的实例存储器装置。
图8是根据本公开的一些实施例的发射用于机器学习操作的数据的另一实例方法的流程图。
图9是根据本公开的一些实施例的使用存储器装置上的不同微凸块集发射数据的实例方法的流程图。
图10A说明根据本公开的一些实施例的选择存储器装置中的微凸块用于发射数据的实例。
图10B说明根据本公开的一些实施例的选择存储器装置中的微凸块用于发射数据的其它实例。
图10C说明根据本公开的一些实施例的选择存储器装置中的微凸块用于发射数据的其它实例。
图11是根据本公开的一些实施例的使用存储器装置上的不同微凸块集发射数据的另一实例方法的流程图。
图12是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的方面针对于使用不同微凸块发射用于机器学习操作的数据。存储器子系统可为存储装置、存储器模块,或存储装置和存储器模块的混合。结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个存储器组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可以提供数据以存储在存储器子系统处并且可以请求从存储器子系统检索数据。
此外,主机系统可以执行机器学习操作,所述机器学习操作利用机器学习模型来处理数据(例如,图像数据)。举例来说,机器学习模型可以用于基于利用机器学习模型对数据的处理对数据进行分类或作出其它推断或决策。机器学习模型是指一种模型制品,所述模型制品由训练过程创建并且可以由单层级的线性或非线性操作(例如,支持向量机[SVM])或例如神经网络(例如,深度神经网络、脉冲神经网络、递归神经网络等)等多层级的非线性操作组成。作为实例,深度神经网络模型可以具有多个层,并且可以通过根据反向传播学习算法等调整神经网络的权重来训练。
存储器子系统可存储将由机器学习操作处理的数据(例如,将应用于机器学习模型的图像数据),以及与机器学习模型相关联的任何其它数据。主机系统可进一步利用机器学习处理器(例如,神经网络处理器或神经网络加速器),其将基于存储于存储器子系统的存储器装置中的数据和机器学习模型来执行机器学习操作。举例来说,数据和机器学习模型可以从存储器装置检索并且提供到机器学习处理器。对于某些机器学习操作,在机器学习处理器与存储器子系统的存储器装置之间可以存在机器学习操作的中间数据(例如,由机器学习模型的不同层产生的中间数据)的重复发射。
常规存储器子系统可使用输入和输出(I/O)引脚发射数据以用于存储器装置和机器学习处理器(和/或主机系统)之间的机器学习操作。与存储器装置(和/或存储器子系统)和机器学习处理器(和/或主机系统)之间的机器学习操作相关联的数据的发射可要求高速发射大量数据。然而,常规存储器子系统的有限数目的I/O引脚可能无法满足用于机器学习操作的数据发射所需的带宽和速度,进而在执行机器学习操作时引起显著延迟。
本公开的方面通过使存储器子系统包含各自具有微凸块以发射用于执行机器学习操作的数据的一或多个存储器装置来解决上述和其它缺陷。举例来说,多个存储器装置可存储用于机器学习操作的不同类型的数据,且存储器装置中的任何一或多个可具有与机器学习处理器(和/或主机系统)介接的微凸块。微凸块是由可携有电力或数据信号的微小金属凸块制成的互连组件。由于微凸块的大小为小,因此存储器装置中的每一个可具有数目大于I/O引脚的微凸块且因此可在特定时间段期间发射多得多的用于机器学习操作的数据。
另外,本公开的方面通过使存储器子系统取决于执行机器学习操作时的操作条件选择性地使用存储器装置的微凸块来解决上述和其它缺陷。举例来说,当用于机器学习操作的数据快速发射并非最优先时,存储器子系统可根据操作条件的改变,改变用以在存储器装置和机器学习处理器(和/或主机系统)发射数据的微凸块的数目。存储器子系统也可基于其在存储器装置中的相应方位选择其它微凸块上方的特定微凸块,以便改进正在经由微凸块发射的数据的信号完整性。
本公开的优点包含但不限于改进机器学习操作的性能。举例来说,可通过使用微凸块显著地增加存储器子系统和机器学习处理器(和/或主机系统)之间的数据传送的速率。因而,可改进存储器装置或存储器子系统通过机器学习处理器(和/或主机系统)执行机器学习操作的性能,原因在于使用较少时间执行单个机器学习操作,进而有助于存储器装置或存储器子系统执行额外机器学习操作。额外优点可包含节省在执行机器学习操作时所需的处理资源。举例来说,随着发射用于机器学习操作的任何数据的微凸块的数目经调整,可减少将数据加载到微凸块所消耗的任何处理资源。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130),或这类的组合。
存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储装置(UFS)驱动器以及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)和非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可为计算装置,例如台式计算机、手提式计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(IoT)功能的装置、嵌入式计算机(例如,交通工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
主机系统120可包含处理器芯片组和由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110,例如,将数据写入到存储器子系统110以及从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口来存取存储器组件(例如,存储器装置130)。物理主机接口可提供接口以用于在存储器子系统110与主机系统120之间传送控制、地址、数据以及其它信号。
存储器装置可以包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置130)的一些实例包含“与非”(NAND)类型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器。非易失性存储器的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于闪存的记忆体对比,交叉点非易失性存储器可进行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。
存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(SLC)可每单元存储一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)和四层级单元(QLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或这些的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,以及MLC部分、TLC部分或QLC部分。存储器装置130的存储器单元可分组为页,页可指用以存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可分组以形成块。
虽然描述了例如3D交叉点类型和NAND类型快闪存储器的非易失性存储器组件,但存储器装置130可以基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(FeRAM)、磁性随机存取存储器(MRAM)、“或非”(NOR)快闪存储器,以及电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(为简单起见,控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据,以及其它这类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有执行本文中所描述的操作的专用(即,硬译码)逻辑的数字电路系统。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或其它合适的处理器。
存储器子系统控制器115可包含处理器(处理装置)117,其被配置成执行存储在本地存储器119中的指令。在所示的实例中,存储器子系统控制器115的本地存储器119包含嵌入式存储器,其被配置成存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流和例程的指令,包含处置存储器子系统110与主机系统120之间的通信。
在一些实施例中,本地存储器119可以包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110可能不包含存储器子系统控制器115,且可改为依靠(例如由外部主机或由与存储器子系统分离的处理器或控制器提供的)外部控制。
一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换为指令或适当命令以实现对存储器装置130的所需存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作,以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、名字空间)与物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可另外包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可以包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含高速缓存器或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),其可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130可以是受管理存储器装置,其为与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行媒体管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器子系统110包含机器学习操作管理组件113,其可使用存储器装置的微凸块集发射用于机器学习操作的数据。取决于机器学习操作条件的改变,机器学习操作管理组件113可使用存储器装置的不同微凸块集发射用于机器学习操作的数据。在一些实施例中,存储器子系统控制器115包含机器学习操作管理组件113的至少一部分。举例来说,存储器子系统控制器115可包含被配置成执行存储于本地存储器119中的指令以用于执行本文中所描述的操作的处理器117(处理装置)。在一些实施例中,机器学习操作管理组件113是主机系统110、应用程序或操作系统的部分。下文描述关于机器学习操作管理组件113的操作的进一步细节。
图2A说明根据本公开的一些实施例的包含微凸块的实例存储器装置的侧视图200和底视图230。图2A的存储器装置可对应于图1的存储器装置130或140。
如图2A的侧视图200中所示,存储器装置可包含逻辑组件210和接口组件220。逻辑组件210可对应于用于处理装置的存储器单元阵列和/或数字逻辑(例如,本地媒体控制器,例如图1的本地媒体控制器135)。逻辑组件210可以包含一或多个裸片。将在下文关于图7A和7B描述关于逻辑组件210的结构的进一步细节。
接口组件220可对应于微凸块阵列。接口组件220支持用于相应逻辑组件210的电力和信号(例如,用于机器学习操作的数据)。接口组件220可包含如图2A的底视图230中所说明的微凸块阵列。存储器装置可包含数千(例如,约五千)个微凸块240。因此,存储器装置可通过微凸块240一次(例如,在一个时钟循环中)发射大量数据。如底视图230中所示,每一微凸块240可安置成以每对微凸块之间的间距相等的方式与彼此相邻。将在下文关于图7A详细地描述关于微凸块的进一步细节。
在一个实施方案中,存储器装置可对应于存储用于机器学习操作的数据的非易失性存储器装置。此外,这类非易失性存储器装置可使用微凸块240将数据发射到与机器学习操作相关联的另一装置。也就是说,在一个实施方案中,非易失性存储器装置可耦合到用于机器学习操作的另一装置。举例来说,微凸块240可将用于机器学习操作的数据信号传送到包含在另一装置中的另一微凸块集。因此,微凸块240中的每一个耦合到另一微凸块集中的每一微凸块。在一个实施方案中,非易失性存储器装置可与另一存储器装置(例如包含微凸块的易失性存储器)耦合。在另一实施方案中,非易失性存储器装置可经由两个微凸块集与机器学习处理装置耦合。
机器学习处理装置可至少结合非易失性存储器装置执行机器学习操作以基于对例如图像数据的数据的处理进行分类或支持其它推断或决策。机器学习操作可涉及根据使用一或多个层级的非线性(或线性)操作的权重值集的机器学习模型来处理输入数据(例如,图像数据)。为执行这类机器学习操作,机器学习处理装置可从存储器装置请求数据(例如,输入数据、用于机器学习模型的数据,以及用于权重值集的数据)。将至少关于图4A和4B描述结合一或多个存储器装置和机器学习处理装置执行机器学习操作的细节。
在另一实施方案中,存储器装置可对应于存储用于机器学习操作的数据的易失性存储器装置。类似于非易失性存储器装置的情况,易失性存储器装置可经由微凸块阵列240与另一装置通信。易失性存储器装置可同样包含逻辑组件210和微凸块240。逻辑组件210可对应于包装于一或多个裸片中的存储器单元阵列和处理装置。易失性存储器装置的微凸块240可与另一装置中的另一微凸块阵列集耦合。在一个实施方案中,易失性存储器装置可与另一存储器装置(例如具有微凸块的非易失性存储器)耦合。在另一实施方案中,易失性存储器装置可与具有微凸块的机器学习处理装置耦合。微凸块240中的每一个可与另一装置的每一微凸块耦合。
图2B说明根据本公开的一些实施例的包含具有微凸块275的存储器装置270和具有微凸块285的机器学习处理装置280的实例计算环境250。在一个实施方案中,存储器装置270和机器学习处理装置280可安置于界面层或中介层290上。
存储器装置270可对应于图2A的存储器装置。存储器装置270因此可包含微凸块275。机器学习处理装置280可安置成与存储器装置270相邻。在一个实施方案中,机器学习处理装置280还可包含微凸块285。机器学习处理装置280可至少结合存储器装置270执行机器学习操作。将至少关于图4A和4B描述结合一或多个存储器装置和机器学习处理装置执行机器学习操作的细节。
存储器装置270的微凸块275中的每一个可经由界面层290与机器学习处理装置280的微凸块285中的对应一个耦合。因而,微凸块275的数目可与发射用于机器学习操作的数据的微凸块285的数目相同。界面层290可由硅或任何其它导电材料制成。为连接一对微凸块(例如,一个微凸块来自存储器装置270的微凸块275且另一个微凸块来自机器学习处理装置280的微凸块285),界面层290可包含互连所述对微凸块的导线或迹线。因此,界面层290支持存储器装置270和机器学习处理装置280之间的数据传送。
在另外的实施方案中,界面层290可包含顶部金属层291和底部金属层293。在两个金属层291和293之间,界面层290可包含将两个金属层291和293竖直互连的多个硅穿通孔(TSV)。在一个实施方案中,可存在用于每一微凸块275或285的一个TSV。在另一实施方案中,一个TSV可使多个微凸块275与对应的多个微凸块285互连。因此,TSV 295可支持将来自270和/或280的信号发射到与底部金属层293连接的另一装置。
图3说明根据本公开的一些实施例的包含具有微凸块的第一存储器装置310、具有微凸块的机器学习处理装置320和具有输入和输出(I/O)引脚345的第二存储器装置340的实例计算环境300。
如图3中说明,存储器装置310和机器学习处理装置320安置于第一界面层330上。第一界面层330可对应于图2B的界面层290。因此,第一界面层330可将存储器装置310和机器学习处理装置320互连。类似于图2B的界面层290,第一界面层330还可包含顶部和底部金属层以及硅通孔(为简单起见未说明)。第一界面层330可另外经由焊球335和第二界面层或中介层350使存储器装置310和机器学习处理装置320与另一装置(例如,另一存储器装置340)的I/O引脚(例如,I/O引脚345)耦合。
焊球335可在第一界面层330和第二界面层350之间发射信号。焊球335可至少比存储器装置310或机器学习处理装置320的微凸块大十倍(直径)。在另一实施方案中,可替代地实施除焊球(例如,引脚)以外的任何耦合装置。第二界面层350可在焊球335到另一存储器装置340的I/O引脚345之间发射信号。第二界面层350可由硅、铜或任何其它导电材料制成。
在一个实施方案中,存储器装置310可对应于非易失性存储器装置且另一存储器装置340可对应于易失性存储器装置。在另一实施方案中,存储器装置310可对应于易失性存储器装置且另一存储器装置340可对应于非易失性存储器装置。另一存储器装置340可包含用于经由第二界面层350与其它装置介接的I/O引脚345。举例来说,I/O引脚345可为用于发射输入和输出数据信号的八个或十六个引脚。这类I/O引脚可给涉及短时间量内传送大量数据的过程带来瓶颈问题(有时,被称为I/O瓶颈问题)。
图4A说明根据本公开的一些实施例的执行机器学习操作的实例400。执行机器学习操作以用于基于对例如图像数据的数据的处理的分类或其它推断或决策。机器学习处理装置407可结合存储器装置403和405执行机器学习操作。
机器学习操作涉及根据使用适当权重数据的模型数据处理例如图像数据等输入数据。作为实例,机器学习操作可对应于使用模型数据或机器学习模型处理输入数据(例如,图像数据)以分类或识别输入数据的对象或主题。因此,机器学习操作的输入数据可对应于将由机器学习操作处理以用于基于对数据的处理进行分类或其它推断或决策的数据。举例来说,输入数据可为包含与图像相关联的像素位值的图像数据。
模型数据可对应于机器学习模型或模型制品,其由训练过程创建并且可以由单层级的线性或非线性操作(例如,支持向量机[SVM])或例如神经网络(例如,深度神经网络、递归神经网络、卷积神经网络等)等多层级的非线性操作组成。通过根据反向传播学习算法等调整神经网络的权重来训练机器学习模型。
作为实例,深度神经网络模型可包含多个层,例如用于接收输入数据的输入层、用于产生预测的输出层,以及处于输入层和输出层之间的用于对输入数据执行机器学习操作(例如,乘法-累加操作)以产生预测的隐蔽层。每一层可包含多个神经元或节点或由多个神经元或节点表示。每个节点可被分配数值并且通过具有所分配权重值的边缘耦合到下一层中的一或多个节点。权重数据可对应于模型数据的每一层或所有层的权重值集。权重值可为数值,例如整数零和一之间的任何十进制值。
在执行机器学习操作的实例400中,机器学习处理装置407可与例如机器学习操作管理组件113的处理装置通信以从存储器装置403和405检索执行机器学习操作所需的数据。在另一实施方案中,机器学习处理装置407可与存储器装置403和405中的每一个的相应处理装置(例如,图1的本地媒体控制器135)通信。机器学习处理装置407可为主机系统的部分或与主机系统隔开。在一个实施方案中,存储器装置403可对应于具有微凸块的非易失性存储器装置。微凸块可使得非易失性存储器装置能够与处理装置、存储器装置405和/或机器学习处理装置407介接。非易失性存储器装置403可存储模型数据和权重数据。另一方面,存储器装置405可对应于具有输入和输出(I/O)引脚以与处理装置、存储器装置403和/或机器学习处理装置407介接的易失性存储器装置。易失性存储器装置405可存储输入数据。在一个实施方案中,当通过主机系统的相机获取图片时,处理装置可存储用于易失性存储器装置405中的机器学习操作的图像数据输入数据。
使用上文所描述的深度神经网络模型实例,机器学习处理装置407可发送对与深度神经网络模型相关联的模型数据的请求。在一个实施方案中,机器学习处理装置407可将所述请求提供给处理装置,例如机器学习操作管理组件113。在另一实施方案中,机器学习处理装置407可将所述请求发射到具有微凸块的非易失性存储器装置403的处理装置,例如本地媒体控制器135。在一些实施方案中,机器学习处理装置407可将所述请求提供给具有I/O引脚的易失性存储器装置405的处理装置,例如本地媒体控制器135。作为响应,处理装置可确定模型数据是否存储于具有微凸块的非易失性存储器装置403或具有I/O引脚的易失性存储器装置405上。
在操作410处,一旦处理装置确定模型数据存储于具有微凸块的非易失性存储器装置403中,处理装置便可从非易失性存储器装置403检索模型数据。处理装置可确定非易失性存储器装置403的用于将模型数据发射到机器学习处理装置407的微凸块。接着,处理装置可将检索的模型数据发射到机器学习处理装置407。在另一实施方案中,处理装置可致使具有微凸块的非易失性存储器装置403将模型数据直接发射到机器学习处理装置407。因此,机器学习处理装置407可直接从非易失性存储器装置403所述模型数据并且绕过处理装置(例如,机器学习操作管理组件113)。作为响应,机器学习处理装置407可从用于机器学习操作的模型数据实施深度神经网络模型。
在操作420处,与操作410同时地或在操作410之后,机器学习处理装置407可发射对将由所实施的深度神经网络模型处理的输入数据的另一请求。在一个实施方案中,机器学习处理装置407将所述请求提供给处理装置(例如,机器学习操作管理组件113)。在另一实施方案中,机器学习处理装置407可与易失性存储器装置405(例如,图1的本地媒体控制器135)的相应处理装置通信。处理装置可确定输入数据存储于易失性存储器装置405中。处理装置可致使易失性存储器装置405将输入数据直接发射到机器学习处理装置407。因此,机器学习处理装置407可通过I/O引脚直接从易失性存储器装置405存取输入数据。在另一实施方案中,处理装置可从易失性存储器装置405检索输入数据并且提供给机器学习处理装置407。
在另一实施方案中,取决于操作条件,例如处理速度、电源或存储器子系统中的噪声水平,处理装置可管理两个存储器装置403和405以将存储于具有I/O引脚的存储器装置405(即,易失性存储器装置405)中的任何数据从具有微凸块的存储器装置403(即,非易失性存储器装置403)或具有I/O引脚的存储器装置405(即,易失性存储器装置405)提供到机器学习处理装置407。也就是说,处理装置可确定是否使得存储于易失性存储器装置405中的输入数据能够使用I/O引脚直接或通过非易失性存储器装置403的微凸块间接发射到机器学习处理装置407。
举例来说,在处理装置确定使用易失性存储器装置405的I/O引脚较慢或在处理资源消耗方面效率较低(或使用非易失性存储器装置403的微凸块较快速或效率较高)的情况下,在操作430处,处理装置可从具有I/O引脚的易失性存储器装置405检索输入数据并且将输入数据存储到具有微凸块的非易失性存储器装置403。随后,在操作440处,处理装置可致使具有微凸块的非易失性存储器装置403将输入数据提供给机器学习处理装置407。另一方面,在其中处理装置确定使用易失性存储器装置405的I/O引脚较快速或在使用处理资源方面效率较高(或使用非易失性存储器装置403的微凸块较慢或效率较低)的情况下,处理装置可执行操作420(即,将来自具有I/O引脚的易失性存储器装置405的数据发射到机器学习处理装置407)。
为继续深度神经网络模型的实例,当前层上的一或多个节点可经由相应边缘与下一层中的一或多个节点耦合。为每一边缘分配可对应于介于零和一之间的数值的权重值。因此,在机器学习处理装置407前进通过深度神经网络模型的每一层(例如,从输入层到隐蔽层,从隐蔽层到另一隐蔽层,以及从隐蔽层到输出层),机器学习处理装置407可请求对应于与机器学习操作相关联的当前层的权重数据或权重值集。下一层中的节点的值对应于乘法-累加操作的结果。举例来说,对于当前层上的耦合到下一层中的节点的每一节点,计算分配给当前层上的节点的值与分配给将当前层的节点耦合到下一层上的相应节点的对应边缘的权重的乘积(即,乘法)并且接着相加(即,累加)。
因此,机器学习处理装置407可将对权重数据的请求发送到处理装置。在一个实施方案中,机器学习处理装置407可对所述请求仅提供一次,而在另一实施方案中,机器学习处理装置407可每当机器学习处理装置407对深度神经网络模型的不同层执行机器学习操作时便请求权重数据。如上文所描述,一旦处理装置从机器学习处理装置407接收所述请求,处理装置便可确定权重数据存储在何处。响应于确定权重数据存储于具有微凸块的非易失性存储器装置403中,处理装置可以类似于上文关于操作410所描述的方式的方式将权重数据提供到机器学习处理装置407。
在一些实施例中,机器学习处理装置407可请求处理装置存储任何中间数据,例如中间层中的节点的数值,所述数值是由于机器学习处理装置407在具有微凸块的存储器装置(例如,非易失性存储器装置403)中的乘法-累加操作而产生以供机器学习处理装置407更快速存取。在其它实施例中,机器学习处理装置407可将这类中间数据存储于机器学习处理装置407的内部存储器中。
在基于模型处理输入数据(例如,动物的图像数据)(即,对输入数据执行乘法-累加操作)之后,机器学习处理装置407可产生输出数据。举例来说,所述输出数据可包含输入数据的分类或类别(例如,动物物种的类型-“猫”)和/或输入数据属于所述类别的概率(例如,0.97)。在一个实施方案中,机器学习处理装置407可请求处理装置将所述输出数据存储于具有微凸块的存储器装置(例如,非易失性存储器装置403)中以供主机系统更快速存取。在另一实施方案中,机器学习处理装置407可将输出数据存储于机器学习处理装置407的内部存储器中。
图4B说明根据本公开的一些实施例的执行机器学习操作的另一实例450。类似于图4A中所说明的实例400,可结合存储器装置453和455以及机器学习处理装置457执行机器学习操作。
以类似于上文关于图4A所描述的方式的方式,在执行机器学习操作的实例450中,机器学习处理装置457可与处理装置通信以从存储器装置453和455检索执行机器学习操作所需的数据。处理装置可对应于机器学习操作管理组件113或相应存储器装置(即,非易失性存储器装置453或易失性存储器装置455)的本地媒体控制器135。
在机器学习操作期间,机器学习处理装置407可将存取存储于具有I/O引脚的非易失性存储器装置453处的数据(例如,模型数据和/或权重数据)的请求提供到处理装置。在一个实施方案中,处理装置可确定数据是存储于具有I/O引脚的非易失性存储器装置453中还是具有微凸块的易失性存储器装置455中。一旦处理装置确定请求的数据存储于具有I/O引脚的非易失性存储器装置453中,在操作460处,处理装置便可致使数据发射到具有微凸块的易失性存储器装置455。在一个实施方案中,处理装置可从具有I/O引脚的非易失性存储器装置453检索数据并且将所述数据发射到易失性存储器装置455以用于写入操作。
因此,在操作470处,机器学习处理装置457可从具有微凸块的易失性存储器装置455存取请求的数据。以此方式,相较于使用非易失性存储器装置453的I/O引脚,通过易失性存储器装置455的微凸块,机器学习处理装置457可以快得多的速率存取机器学习操作所需的数据。在一个实施方案中,处理装置可从易失性存储器装置455检索请求的数据并且将检索到的数据发射到机器学习处理装置457。
在另一实施方案中,处理装置可致使具有微凸块的易失性存储器装置455直接将数据发射到机器学习处理装置457。因此,机器学习处理装置457可直接从易失性存储器装置455存取数据。因而,当非易失性存储器装置453具有I/O引脚作为接口组件时,处理装置可将机器学习处理装置457请求的任何数据路由到具有微凸块的易失性存储器装置以用于机器学习操作的更快速处理。
另一方面,在其中机器学习处理装置457请求存储于具有微凸块的易失性存储器装置455中的数据情况下,数据可以类似于图4A的操作410中的方式的方式直接提供给机器学习处理装置457。
图5是根据本公开的一些实施例的发射用于机器学习操作的数据的实例方法500的流程图。可以通过处理逻辑来执行方法500,所述处理逻辑可以包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法500是由图1的机器学习操作管理组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明的实施例应仅作为实例理解,且所说明的过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流程是可能的。
在操作510处,处理装置接收发射用于机器学习操作的数据的命令。在一个实施方案中,处理装置可从主机系统接收命令。所述命令可包含关于正在请求的数据的信息。举例来说,所述命令可包含指示数据存储在何处(例如存储在哪个存储器装置和/或存储器装置的哪个存储器单元)的数据地址。所述命令还可包含一种类型的数据,例如用于如上文所描述的机器学习操作的输入数据、模型数据或权重数据。
在操作520处,处理装置确定存储器装置的用以将数据发射到与机器学习操作相关联的机器学习处理装置的微凸块集。作为实例,处理装置可识别或选择存储器装置的一或多个微凸块来发射所请求的数据。至少关于图11描述关于选择哪些微凸块用于发射的细节。所述微凸块能够发射存储于存储器装置中的数据。也就是说,微凸块可支持从存储器装置到机器学习处理装置的数据传送。如上文所描述,机器学习处理装置可使用传送的数据执行机器学习操作。
在操作530处,处理装置经由微凸块集将来自存储器装置的数据发射到机器学习处理装置。在一个实施方案中,机器学习处理装置也可包含微凸块。因此,处理装置可将来自存储器装置的微凸块的数据发射到机器学习处理装置的微凸块。存储器装置的每一微凸块可与机器学习处理装置的相应一个微凸块耦合。为发射数据,处理装置可使用预先产生的映射表来将存储器装置的微凸块到机器学习处理装置的微凸块。因此,在发射数据之前,处理装置可向机器学习处理装置通知存储器装置的哪个微凸块将载送数据和/或机器学习处理装置的哪个对应微凸块将接收数据。
在进一步的实施方案中,处理装置可确定用于机器学习操作的数据是存储于存储器装置(即,具有微凸块的存储器装置)上还是另一存储器装置(即,不具有微凸块的存储器装置)上。在一个实施方案中,处理装置可从接收到的命令确定数据存储在何处。举例来说,处理装置可从包含在所述命令中的数据信息确定数据的存储方位。在另一实施方案中,数据的数据地址可存储于存储器子系统控制器的本地存储器中。在这类情况下,处理装置可从本地存储器存取数据地址并且确定数据是存储于具有微凸块的存储器装置上还是存储于不具有微凸块的存储器装置上。响应于确定数据存储于具有微凸块的存储器装置上,处理装置可确定用于发射数据的微凸块。
另一方面,在其中处理装置确定数据存储于不具有微凸块的存储器装置上的情况下,处理装置可从不具有微凸块的存储器装置检索数据。这类存储器装置可具有输入和输出(I/O)引脚而非微凸块。I/O引脚可与存储器装置(的微凸块)耦合。在从具有I/O引脚的存储器装置检索数据之后,处理装置可将所述数据存储到具有微凸块的存储器装置。
举例来说,具有微凸块的存储器装置可对应于易失性存储器装置且不具有微凸块的存储器装置可对应于非易失性存储器装置。易失性存储器装置可存储输入数据且非易失性存储器装置可存储用于机器学习操作的模型数据和权重数据。在请求的数据是不存储于易失性存储器装置上的数据(例如模型数据和/或权重数据)的情况下,处理装置可对具有I/O引脚的非易失性存储器装置执行读取操作以存取所述数据。处理装置可随后对具有微凸块的易失性存储器装置执行写入操作以存储读取数据。在另一实施方案中,处理装置可致使具有I/O引脚的非易失性存储器装置将数据发射到具有微凸块的易失性存储器装置。在一个实施方案中,处理装置可请求非易失性存储器装置的本地媒体控制器从非易失性存储器装置的一或多个存储器单元读取数据并且将所述数据提供到具有微凸块的易失性存储器装置。
在一些其它实施方案中,响应于确定数据存储于不具有微凸块(即,替代地,具有I/O引脚)的存储器装置上,处理装置可致使具有I/O引脚的存储器装置将所述数据发射到机器学习处理装置。在一个实施方案中,处理装置可请求具有I/O引脚的存储器装置的本地媒体控制器将数据直接发射到机器学习处理装置。这类存储器装置可具有与机器学习处理装置耦合的I/O引脚。上文关于图3描述关于具有I/O引脚的存储器装置可如何与具有微凸块的机器学习处理装置耦合的细节。
作为另一实例,具有微凸块的存储器装置可对应于非易失性存储器装置且不具有微凸块的存储器装置可对应于易失性存储器装置。类似于上述实例,不具有微凸块的易失性存储器装置可存储输入数据且具有微凸块的非易失性存储器装置可存储用于机器学习操作的模型数据和权重数据。在请求的数据是不存储于具有微凸块的非易失性存储器装置上的数据(例如输入数据)的情况下,处理装置可对不具有微凸块(即,替代地,具有I/O引脚)的易失性存储器装置执行读取操作以存取数据并且对具有微凸块的非易失性存储器装置执行写入操作来存储所述数据。通过将用于机器学习操作的数据传送到具有微凸块的存储器装置,可减小发射所述数据所需的时间。因此,处理装置可节省用于存取用于机器学习操作的数据的处理资源。在另一实施方案中,处理装置可致使具有I/O引脚的易失性存储器装置以类似于如上文所描述的方式的方式将数据发射到具有微凸块的非易失性存储器装置。
图6A说明根据本公开的一些实施例的包含分别具有微凸块615和635的存储器装置610和630和具有微凸块625的机器学习处理装置620的实例计算环境600。
在一个实施方案中,存储器装置610可对应于非易失性存储器装置且存储器装置630可对应于易失性存储器装置。在另一实施方案中,存储器装置610可对应于易失性存储器装置且存储器装置630可对应于非易失性存储器装置。在机器学习处理装置620执行机器学习操作时,存储器装置610和存储器装置630中的每一个可存储用于所述操作的数据。因此,微凸块615和微凸块635可经由机器学习处理装置620的微凸块625将相应数据发射到机器学习处理装置620。
如所说明,两个存储器装置610和630以及机器学习处理装置620可安置于界面层或中介层640上。界面层640可对应于图2B的界面层290。因此,界面层640可将三个装置610、620和630互连。界面层640还可包含顶部金属层和底部金属层以及用于连接顶部金属层和底部金属层的硅穿通孔(为简单起见未说明)。
在一个实施方案中,机器学习处理装置620安置于两个存储器装置610和630之间。以此方式,存储器装置610或630与机器学习处理装置620之间的距离可降到最小。然而,在其它实施方案中,两个存储器装置610和630可安置成紧挨着彼此。机器学习处理装置620可结合存储器装置610和630执行机器学习操作。将关于图6B描述结合存储器装置和机器学习处理装置执行机器学习操作的细节。
机器学习处理装置620的微凸块625可包含两个微凸块集627和629。第一微凸块集627可与存储器装置610的微凸块615耦合。第一微凸块集627中的每一个可与存储器装置610的微凸块615耦合。以类似方式,第二微凸块集629可与存储器装置630的微凸块635耦合。因此,机器学习处理装置620中的微凸块的数目可对应于存储器装置610和存储器装置630中的微凸块的总数目。存储器装置610的微凸块615的数目可大于存储器装置630的微凸块635的数目且反之亦然。
图6B说明根据本公开的一些实施例的使用包含微凸块的存储器装置653和655执行机器学习操作的实例650。执行机器学习操作以用于基于对例如图像数据的数据的处理的分类或其它推断或决策。机器学习处理装置657可结合存储器装置653和655执行机器学习操作。
机器学习处理装置657可为主机系统的部分或与主机系统隔开。在一个实施方案中,存储器装置653可对应于具有用于输入和输出接口组件的微凸块的非易失性存储器装置。存储器装置653可以通信方式与处理装置(例如,图1的机器学习操作管理组件113)、存储器装置655和/或机器学习处理装置657耦合。非易失性存储器装置653可存储模型数据和权重数据。另一方面,存储器装置655可对应于具有微凸块以类似地与处理装置、非易失性存储器装置653和/或机器学习处理装置657介接的易失性存储器装置。易失性存储器装置655可存储输入数据。在一个实施方案中,当从主机系统的相机获取图片时,处理装置可将图像数据作为用于机器学习操作的输入数据存储于易失性存储器装置655中。
在执行机器学习操作的实例650中,机器学习处理装置657可将存取模型数据和输入数据的请求发射到处理装置,例如机器学习操作管理组件113。处理装置可确定模型数据是存储于非易失性存储器装置653中还是存储于易失性存储器装置655中。响应于确定模型数据存储于非易失性存储器装置653中,在操作660处,处理装置使得机器学习处理装置657能够经由非易失性存储器装置653的微凸块和机器学习处理装置657的微凸块存取存储于非易失性存储器装置653中的模型数据。
在存取模型数据之后,作为机器学习操作的部分,机器学习处理装置657可实施模型数据(例如,深度神经网络模型)。另外,处理装置可确定输入数据存储于易失性存储器装置655中。因此,在操作670处,处理装置可使得机器学习处理装置657能够经由易失性存储器装置655的微凸块和机器学习处理装置657的微凸块存取存储于易失性存储器装置655中的输入数据。在一个实施方案中,机器学习处理装置657的用以与易失性存储器装置655通信的微凸块可不同于机器学习处理装置657的用以与非易失性存储器装置653通信的微凸块。
在另一实施方案中,机器学习处理装置657可确定机器学习操作所需的每一数据存储在何处。接着,机器学习处理装置657可与处理装置(例如每一存储器装置653和657的本地媒体控制器(例如,图1的本地媒体控制器135))通信以存取相应数据。举例来说,在模型数据的情况下,机器学习处理装置657可将对模型数据的请求发射到非易失性存储器装置653的处理装置并且直接从非易失性存储器装置653检索模型数据。在输入数据的情况下,在确定输入数据存储于易失性存储器装置655中之后,机器学习处理装置657可将请求提供到易失性存储器装置655的处理装置并且直接从易失性存储器装置655检索输入数据。
一旦将模型数据和输入数据发射到机器学习处理装置657,机器学习处理装置657便可以从输入层到隐蔽层且最后到输出层的顺序处理深度神经网络模型的每一层。同时或随后,机器学习处理装置657可向处理装置请求权重数据。在一个实施方案中,机器学习处理装置657可在机器学习操作开始时对权重数据请求一次。在这类情况下,权重数据可包含用于模型的每一层的权重值集。在另一实施方案中,机器学习处理装置657可请求每一层的相应权重数据。在此情况下,权重数据可包含仅用于相应层的权重值集。
以类似于操作660处的方式的方式,处理装置可使得机器学习处理装置657能够经由非易失性存储器装置653的微凸块和机器学习处理装置657的微凸块存取存储于非易失性存储器装置653中的权重数据。在基于模型数据处理输入数据(例如,动物的图像)(即,对输入数据执行乘法-累加操作)之后,机器学习处理装置657可产生输出数据,其可包含输入数据的分类或类别(例如,动物物种的类型-“猫”)和/或输入数据属于所述类别的概率(例如,0.97)。
图7A说明根据本公开的一些实施例的包含单个裸片710和微凸块720的实例存储器装置的侧视图700和底视图730。
如侧视图700中所示,存储器装置可包含一个裸片710和微凸块阵列720。存储器装置可对应于非易失性存储器装置或易失性存储器装置。裸片710可包含装置层和金属层(为简单起见未说明)。装置层可包含存储器单元阵列和/或用于处理装置(例如图1的本地媒体控制器135)的数字逻辑。裸片710的金属层可安置于装置层与微凸块720之间,进而将两个组件互连。
如底视图730中所说明,裸片710可覆盖有微凸块阵列720A。微凸块可由材料或选自包含但不限于以下各项的群组的任何混合物制成:铜、金、镍、钯、焊料或任何其它导电材料。每一微凸块720A可以与另一微凸块的距离相等的方式安置于裸片710上。举例来说,微凸块720A可具有10到30微米(μm)的间距。间距是指微凸块720A的中心735和相邻微凸块720B的中心735之间的距离760。此外,微凸块720A可具有在5μm到15μm的范围内的直径745。在一个实施方案中,所有微凸块720具有相同直径745或大体上相同的直径745。
在另外的实施方案中,机器学习处理装置可类似地具有单个裸片和安置于裸片上的微凸块。微凸块可具有与如上文所描述的微凸块720类似的特性。
图7B说明根据本公开的一些实施例的包含多个裸片760和780和微凸块770和790的实例存储器装置750。存储器装置750可对应于非易失性存储器装置和/或易失性存储器装置。在另一实施方案中,机器学习处理装置可类似地结构化为存储器装置750。
裸片760和780可以类似于上文关于图7A所描述的裸片210的方式结构化。因此,每一裸片760和780可包含装置层和金属层(为简单说明起见未示出)。然而,裸片780可包含两个金属层,一个金属层用于与微凸块770连接的顶部且另一金属层用于与微凸块790连接的底部。此外,裸片780可包含连接两个金属层的硅穿通孔(TSV)。因此,TSV可使得上部裸片760能够与下部裸片780通信。如所说明,裸片760可经由微凸块770安置于裸片780的顶部上。微凸块790可安置于裸片780的底部上以使裸片780与将耦合到其它装置的界面层(例如图2B的界面层290)互连。在另外的实施方案中,存储器装置750可包含大于两个裸片760和780。在这类情况下,另一微凸块集可安置于任何两个相邻(即,任何顶部和底部)裸片之间。
图8是根据本公开的一些实施例的发射用于机器学习操作的数据的另一实例方法800的流程图。可以通过处理逻辑来执行方法800,所述处理逻辑可以包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法800是由图1的机器学习操作管理组件113执行。在一些实施例中,方法800是由图1的本地媒体控制器135执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明的实施例应仅作为实例理解,且所说明的过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流程是可能的。
在操作810处,处理装置接收将用于机器学习操作的数据发射到机器学习处理装置的命令。处理装置可从机器学习处理装置接收命令。机器学习处理装置可结合存储器装置执行机器学习操作。机器学习处理装置可执行机器学习操作以基于对例如图像数据的数据的处理进行分类或支持其它推断或决策。在关于图6B的细节中描述结合存储器装置执行机器学习操作的细节。在一个实施方案中,机器学习处理装置使用存储于存储器装置中的数据执行机器学习操作。
在操作820处,处理装置确定数据是存储于存储器装置(在下文,第一存储器装置)中还是存储于另一存储器装置(在下文,第二存储器装置)中。举例来说,第一存储器装置可对应于非易失性存储器装置且第二存储器装置可对应于易失性存储器装置。另外,第一存储器装置可存储模型数据和权重数据且第二存储器装置可存储用于机器学习操作的输入数据。
如至少关于图4A所描述,机器学习操作的输入数据可对应于将由机器学习操作处理的数据(例如,包含像素位值的图像数据)以用于基于对所述数据的处理进行分类或其它推断或决策。模型数据可对应于机器学习模型或模型制品,其由训练过程创建并且可以由单层级的线性或非线性操作(例如,支持向量机[SVM])或例如神经网络(例如,深度神经网络、递归神经网络、卷积神经网络等)等多层级的非线性操作组成。通过根据反向传播学习算法等调整神经网络的权重来训练机器学习模型。权重数据可对应于模型数据的每一层的权重值集。权重值可为数值,例如介于整数零和一之间的任何十进制值。
此外,第一存储器装置可包含微凸块阵列。第二存储器装置也可具有微凸块阵列。在一个实施方案中,第一存储器装置的微凸块的数目可与第二存储器装置中的微凸块的数目相同。然而,在其它实施方案中,第一存储器装置的微凸块的数目可大于第二存储器装置中的微凸块的数目且反之亦然。
另外,机器学习处理装置还可包含微凸块阵列。在这类情况下,机器学习处理装置可与如图6A中所说明的两个存储器装置连接。因此,第一存储器装置中的微凸块阵列可与机器学习处理装置中的微凸块的一部分耦合,而第二存储器装置中的微凸块阵列可耦合到机器学习处理装置中的微凸块的部分。微凸块可以一对一关系与彼此耦合。
在操作830处,处理装置确定对应于第一存储器装置或第二存储器装置中存储数据的那个的相应存储器装置的微凸块集。举例来说,响应于确定数据存储于第一存储器装置中,处理装置可选择或识别第一存储器装置中的微凸块集。至少关于图11描述选择哪些微凸块用于发射数据的细节。类似地,处理装置可响应于确定数据存储于第二存储器装置中,确定第二存储器装置中的微凸块集。
在一个实施方案中,响应于确定数据存储于第一存储器装置中,处理装置可进一步确定所请求的用于机器学习操作的数据类型(例如,输入数据、模型数据(其定义机器学习操作),或权重数据(其表示用于机器学习操作的一或多个数值))。处理装置可从在操作820处接收到的命令或与所述命令相关联的任何元数据识别请求的数据的类型。随后,处理装置可基于数据的类型确定用于发射数据的微凸块的数目。举例来说,在数据的类型对应于模型数据的情况下,处理装置可确定用于发射的微凸块的数目应对应于第一存储器装置中的微凸块的总数目。以此方式,处理装置使用所有可用的微凸块使得大量数据(模型数据可高达64KB或128KB)能够尽可能快速地从第一存储器装置发射到机器学习处理装置。
然而,响应于确定请求的数据的类型对应于权重数据,处理装置可确定用以发射数据的微凸块的数目应对应于第一存储器装置中的微凸块的一部分。因为当与模型数据比较时,权重数据的大小可相对较小,所以仍可使用较小数目个微凸块快速发射权重数据。以此方式,处理装置可节省用于将数据发射到机器学习处理装置的处理资源。
另一方面,响应于确定数据存储于第二存储器装置中,处理装置可能不确定数据的类型。因为输入数据通常具有较大的大小(例如,图像数据可具有1200像素乘1000像素、1024像素乘768像素等像素值),所以处理装置可确定应使用第二存储器装置中的整个微凸块阵列发射数据。
在操作840处,处理装置使用相应存储器装置的微凸块集将数据发射到机器学习处理装置。在一个实施方案中,处理装置可能不利用相应装置中的所有微凸块。在另一实施方案中,处理装置可致使相应存储器装置使用相应存储器装置中的所有微凸块将数据发射到机器学习处理装置。
图9是根据本公开的一些实施例的使用存储器装置上的不同微凸块集发射数据的实例方法900的流程图。可以通过处理逻辑来执行方法900,所述处理逻辑可以包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法900是由图1的机器学习操作管理组件113执行。在一些实施例中,方法900是由图1的本地媒体控制器135执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明的实施例应仅作为实例理解,且所说明的过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流程是可能的。
在操作910处,处理装置基于存储器装置的微凸块集发射用于机器学习操作的数据,其中所述数据存储于所述存储器装置处。处理装置可将数据从存储器装置发射到机器学习处理装置。在一个实施方案中,处理装置可对应于机器学习操作管理组件(例如,图1的机器学习操作管理组件113)。在这类情况下,处理装置可与存储器装置(或本地媒体控制器(例如,图1的本地媒体控制器135))通信以将数据提供到机器学习处理装置在另一实施方案中,处理装置可对应于存储器装置的本地媒体控制器(例如,图1的本地媒体控制器135)。在这类情况下,处理装置可所述相应存储器装置检索数据并且将所述数据发射到机器学习处理装置。此外,在一些实施方案中,存储器装置可为存储用于机器学习操作的任何数据(例如输入数据、模型数据和输出数据)的非易失性存储器装置。在一些其它实施方案中,存储器装置可为存储用于机器学习操作的类似数据的易失性存储器装置。
机器学习处理装置可结合存储器装置执行机器学习操作以基于对例如图像数据的数据的处理进行分类或支持其它推断或决策。机器学习处理装置可为主机系统的部分或与主机系统隔开。机器学习操作可涉及根据使用一或多个层级的非线性(或线性)操作的权重值集的机器学习模型来处理输入数据(例如,图像数据)。为执行这类机器学习操作,机器学习处理装置可从存储器装置请求数据(例如,输入数据、用于机器学习模型的数据,以及用于权重值集的数据)。作为响应,存储器装置可将用于机器学习操作的数据发射到机器学习处理装置。
在操作920处,处理装置确定机器学习操作条件的改变。所述条件的实例可包含与存储器装置相关联的电源(例如,通到存储器子系统、存储器装置或主机系统的电源)的状态、与存储器装置相关联的温度(例如,存储器子系统、存储器装置或主机系统的温度),以及与机器学习操作相关联的数据大小(即,用于机器学习操作的数据的大小)。因而,机器学习操作的条件可对应于执行用于存储器装置、存储器子系统或主机系统任一个的机器学习操作的操作环境的条件。
在一个实施方案中,处理装置可周期性地从机器学习处理装置或主机系统接收指示当前条件的信息。在另一实施方案中,处理装置可周期性地向机器学习处理装置或主机系统请求当前条件。在接收到条件信息时,处理装置可确定所述条件已改变多少。举例来说,处理装置首先可接收指示与存储器装置相关联的电源处于100%容量(或10mW)的条件信息。接着,处理装置稍后可接收指示电源处于80%容量(或8mW)的信息。只要当前条件不同于先前条件,处理装置便可确定机器学习操作的条件已改变。在另一实施方案中,处理装置可确定当两个连续条件的差超过阈值量(例如,改变10%)时条件发生改变。作为条件信息的另一实例,处理装置可周期性地接收指示机器学习操作需要特定大小的数据(例如,输入数据、模型数据或权重数据的大小)用于当前机器学习操作的条件信息。作为另一实例,处理装置可接收例如从50F改变为75F的温度信息。因而,条件的改变可对应于电源状态的改变、操作温度的改变和/或用于机器学习操作的数据大小的改变。
在操作930处,响应于确定机器学习操作的条件改变,处理装置确定存储器装置的新微凸块集。新微凸块集是发射用于机器学习操作的后续数据的微凸块集。机器学习操作可涉及处理一系列数据。举例来说,机器学习处理装置可首先请求模型数据来根据包含在模型数据中的机器学习模型的定义配置自身以执行机器学习操作。接着,机器学习处理装置可请求输入数据以根据模型数据开始处理所述输入数据。在处理输入数据时,机器学习处理装置可间歇性地请求机器学习模型的每一层的对应权重数据。因此,使用前一微凸块集发射的数据可不同于将使用下一微凸块集发射的后续数据,这是由于机器学习处理装置请求不同的数据。
在另一实施方案中,用于机器学习操作的数据可划分成数据的部分。举例来说,输入数据可分割成多个部分。因此,可使用前一微凸块集发射输入数据的第一部分,同时可使用下一微凸块集发射输入数据的第二部分。输入数据的第一部分和第二部分可具有不同大小,且可基于所述不同大小使用不同微凸块集发射输入数据的不同部分。
在一些实施方案中,在确定用于后续数据的另一微凸块集之前,处理装置可确定是否满足阈值条件。所述阈值条件可与条件改变的量值相关联。举例来说,所述阈值条件可指定改变量是至少10%。使用以上实例,当电源从100%下降到80%时,处理装置可确定电源改变的量值是20%。处理装置可进一步确定已满足了阈值条件(例如,10%)。作为另一实例,当电源从100%改变为95%时,处理装置可确定不满足阈值条件(例如,10%)。在这类情况下,处理装置可阻止确定另一微凸块集并且随后使用当前微凸块集发射数据(例如,无需更新微凸块集)。
在确定新微凸块集时,处理装置可考虑改变的方向。也就是说,处理装置可取决于改变的方向,确定将包含在新集中的微凸块的数目与当前微凸块集中的微凸块的数目相比是相对较多还是较少。举例来说,如果电源电量已从100%减小到80%,那么处理装置可确定新集的微凸块的数目应减小。处理装置可选择用于新集的成比例地减小的数目的微凸块。举例来说,当前微凸块集可对应于存储器装置中的整个微凸块集。响应于确定电源已从100%下降到80%,处理装置可识别或选择存储器装置的80%的微凸块或与当前集相比少20%的数目的微凸块。至少关于图11描述选择哪些微凸块用于发射数据的细节。然而,如果改变的方向是电源从50%到75%的增加,那么处理装置可确定用于新集的微凸块的数目应增加。因此,举例来说,处理装置可选择75%的微凸块而非50%的微凸块或与当前集相比多25%的数目的微凸块用于发射后续数据。
在操作940处,处理装置使用存储器装置的新微凸块集发射后续数据。在一个实施方案中,处理装置可确定新微凸块集是否对应于存储器装置的所有微凸块(即,可将数据传送到机器学习处理装置的每个微凸块)。响应于确定新微凸块集对应于存储器装置的所有微凸块,处理装置可一次性发射后续数据。也就是说,处理装置可在一个时钟循环中经由存储器装置的每个微凸块发射后续数据。然而,响应于确定新微凸块集不对应于存储器装置的所有微凸块,处理装置可将后续数据划分或分割成多个部分。处理装置接着可在一段时间内发射后续数据的部分。举例来说,处理装置可在每一时钟循环中发射后续数据的每一部分,进而经由个时钟循环发射后续数据。
图10A说明根据本公开的一些实施例的选择存储器装置中的微凸块用于发射数据的实例1010和1020。实例1010和1020可由例如图1的机器学习操作管理组件113的处理装置执行。在一些实施例中,实例1010和1020是由例如图1的本地媒体控制器135的另一处理装置执行。存储器装置可为非易失性或易失性存储器装置。
实例1010说明存储器装置1015中的所选择的微凸块。应了解,为简单说明起见,将存储器装置1015说明为具有相对较小数目个微凸块,且存储器装置1015可具有数千个微凸块。每一正方形表示存储器装置1015中的微凸块,且具有叉号“X”的正方形表示所选择的微凸块。沿着存储器装置1015的竖直侧的每一字母指示每一微凸块群组。在此实例1010中,每一行表示微凸块群组。然而,所属领域的技术人员应了解,任何其它形式的群组(例如群组列而非群组行)可适用于此实例1010。
处理装置可确定应选择存储器装置1015中的50%的微凸块作为发射用于机器学习操作的数据的新微凸块集。对于每一群组(例如,群组A到H中的每一个),处理装置可选择相应群组内的50%的微凸块。举例来说,处理装置可确定每一群组中存在八个微凸块。因此,处理装置可确定从每一群组选择四个微凸块。在选择四个微凸块时,处理装置可选择彼此远离的微凸块(即,每隔一个微凸块)。如所说明,对于群组A,处理装置可识别第一、第三、第五和第七微凸块来发射数据。至于序列中的下一个群组(即,群组B),处理装置可确定彼此远离并且也不与其它所选择的微凸块相邻(如果可能的话)的四个微凸块。因而,如实例1010中所说明,处理装置可选择第二、第四、第六和第八微凸块用于新微凸块集。在一些实施例中,选择彼此距离较远而非彼此较靠近的微凸块可改进正在经由微凸块发射的数据的信号完整性。举例来说,来自一个微凸块的噪声的效应将对正在用以发射数据的另一微凸块具有较小影响。
实例1020说明存储器装置1025中的所选择的微凸块。应了解,为简单说明起见,将存储器装置1025说明为具有相对较小数目个微凸块,且存储器装置1025可具有数千个微凸块。类似于实例1010,每一正方形表示存储器装置1025中的微凸块,且具有叉号“X”的正方形表示所选择的微凸块。
在实例1020中,处理装置可确定应选择存储器装置1025中的25%的微凸块作为发射用于机器学习操作的数据的新微凸块集。对于每一群组(例如,群组A到H),处理装置可选择相应群组内的25%的微凸块。举例来说,处理装置可确定应选择来自每一群组的两个微凸块。在选择所述两个微凸块时,处理装置可选择彼此之间具有相同数目个空间(即,相同数目个未被选的微凸块)的微凸块。因此,对于群组A,处理装置可识别第一微凸块和第五微凸块发射如实例1020中所说明的数据。至于序列中的下一个群组(即,群组B),处理装置可确定与前一群组具有相同间距并且还不与其它所选择的微凸块相邻(如果可能的话)的两个微凸块。因此,处理装置可选择第三微凸块和第七微凸块用于如实例1020中所说明的新微凸块集。
图10B说明根据本公开的一些实施例的选择存储器装置中的微凸块用于发射数据的其它实例1030和1040。类似于图10A,实例1030和1040可由例如图1的机器学习操作管理组件113或本地媒体控制器135的处理装置执行。存储器装置可为非易失性或易失性存储器装置。
实例1030说明存储器装置1035中的所选择的微凸块。应了解,为简单说明起见,将存储器装置1035说明为具有相对较小数目个微凸块,且存储器装置1035可具有数千个或任何其它数目个微凸块。如先前所描述,每一正方形表示存储器装置1035中的微凸块,且具有叉号“X”的正方形表示所选择的微凸块。
处理装置可确定应选择存储器装置1035中的50%的微凸块作为发射用于机器学习操作的数据的新微凸块集。处理装置可确定包含在存储器装置1035中的群组的数目。如所说明,存在八个群组-群组A到H。接着,处理装置可确定应选择所述八个群组中的四个(即,群组的50%)。在选择所述四个群组时,处理装置可选择彼此距离相等(即,每隔一个群组)的群组。如所说明,处理装置可选择群组A、C、E和H。接着,处理装置可识别每一所选择的群组中的所有微凸块将包含在如实例1030中的X所标记的新微凸块集中。
实例1040说明存储器装置1045中的所选择的微凸块。应了解,为简单说明起见,将存储器装置1045说明为具有相对较小数目个微凸块,且存储器装置1045可具有任何数目个微凸块。类似于实例1030,每一正方形表示存储器装置1045中的微凸块,且具有叉号“X”的正方形表示所选择的微凸块。
在实例1040中,处理装置可确定应选择存储器装置1045中的25%的微凸块作为发射用于机器学习操作的数据的新微凸块集。如所说明,处理装置可确定存储器装置1045中存在八个群组(群组A到H)。接着,处理装置可确定应选择所述八个群组中的两个(即,群组的25%)。在选择所述两个群组时,处理装置可选择远离彼此的群组。如所说明,处理装置可选择群组A和H。接着,处理装置可识别每一所选择的群组中的所有微凸块将包含在如实例1040中的X所标记的新微凸块集中。
图10C说明根据本公开的一些实施例的选择存储器装置中的微凸块用于发射数据的其它实例1050和1060。类似于图10A,实例1050和1060可由例如图1的机器学习操作管理组件113或本地媒体控制器135的处理装置执行。存储器装置可为非易失性或易失性存储器装置。
实例1050说明存储器装置1055中的不同形式的群组。应了解,为简单说明起见,将存储器装置1055说明为具有相对较小数目个微凸块,且存储器装置1055可具有任何数目个微凸块。正方形内部的每一字母表示四个微凸块的群组。在实例1050中,存在布置成彼此相邻的一系列十六个群组(例如,群组A到M)。举例来说,组E位于组D下方,使得群组E和D彼此相邻。然而,所属领域的技术人员应了解,具有不同数目个微凸块的任何其它形式的群组(例如正方形或矩形)可为可能的。
实例1060说明存储器装置1065中的所选择的微凸块。如先前所描述,为简单说明起见,将存储器装置1065说明为具有相对较小数目个微凸块请存储器装置1065可具有任何数目个微凸块。
在实例1060中,处理装置可确定应选择存储器装置1065中的50%的微凸块作为发射用于机器学习操作的数据的新微凸块集。如所说明,处理装置可确定存储器装置1065中存在十六个群组(例如,对应于实例1050中的群组A到M)。接着,处理装置可确定应选择所述十六个群组中的八个(即,群组的50%)。在选择所述八个群组时,处理装置可选择彼此距离相等或彼此远离的群组。如所说明,处理装置可选择所述系列中的每隔一个群组(例如,群组A、C、E、I、K、M和O)。接着,处理装置可识别每一所选择的群组中的所有微凸块将包含在如实例1060中的X所标记的新微凸块集中。
图11是根据本公开的一些实施例的使用存储器装置上的不同微凸块集发射数据的另一实例方法1100的流程图。可以通过处理逻辑来执行方法1100,所述处理逻辑可以包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法1100是由图1的机器学习操作管理组件113执行。在一些其它实施例中,方法1100是由图1的本地媒体控制器135执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明的实施例应仅作为实例理解,且所说明的过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可以省略一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流程是可能的。
在操作1110处,处理装置接收对改变存储器装置中的发射用于机器学习操作的数据的微凸块集的指示。存储器装置中的微凸块用以发射数据,例如用于存储器装置和机器学习处理装置之间的机器学习操作的输入数据、模型数据和权重数据。输入数据可对应于将通过机器学习操作处理的数据(例如,图像数据)。模型数据可定义机器学习操作且权重数据表示用于机器学习操作的一或多个数值。在使用微凸块集发射用于机器学习操作的数据时,处理装置可从主机系统或存储器子系统接收对改变正在用以发射数据的微凸块集(即,微凸块的数目)的指示。
这类指示可包含关于条件(例如,用于执行机器学习操作的操作条件)改变的信息。举例来说,所述指示可描述电源(通到相应存储器装置、存储器子系统或主机系统)的电量已从100%改变为90%。作为另一实例,所述指示可指定操作条件的温度已从50F改变为65F。在另一实施方案中,所述指示可指定发射用于机器学习操作的数据的微凸块的数目将改变为特定数目的微凸块(例如,所述指示请求处理装置将微凸块的数目从100%改变为70%)。
在操作1120处,处理装置根据所述指示,基于存储器装置中的相应微凸块的方位选择新微凸块集。在一个实施方案中,处理装置可确定存储器装置中的微凸块群组。举例来说,微凸块可基于存储器装置中的相应方位划分成多个群组。举例来说,微凸块可按每一行或列或任何其它形式分组。每一群组可包含相同数目个微凸块。此外,每一群组可在存储器装置中彼此相邻(即,布置于一序列中)。
在进一步的实施方案中,在操作1120处,处理装置可确定基于所述指示选择总数目的微凸块作为新集。在一个实施方案中,所述指示可指定机器学习操作的操作条件从电源的100%到65%的改变。基于所述指示,所述处理装置可确定新集的微凸块的总数目与条件改变成比例。举例来说,处理装置可确定新集的微凸块的总数目应对应于存储器装置中的65%的微凸块,这是因为电源电量已减小到65%。作为另一实例,在所述指示描述温度已从50F改变为65F(其对应于30%的增加)的情况下,处理装置可确定在与当前集中的微凸块的数目相比时,新集的微凸块的总数目应增加了30%。在另一实施方案中,所述指示可指定特定数目的微凸块。在这类情况下,处理装置可确定微凸块的总数目对应于包含所述指示的指定数目。
在确定微凸块的群组和将被选定用于新集的微凸块的数目之后,处理装置可从所述群组识别对应于总数目的微凸块的新微凸块集。在一个实施方案中,处理装置可确定将从每一群组选择数个微凸块。举例来说,处理装置可基于用于新集的微凸块的总数目和存储器装置中的群组的总数目来计算每一群组的微凸块的数目(即,处理装置可将用于新集的微凸块的总数目除以存储器装置中的群组的总数目)。处理装置可从每一群组选择对应于所计算的微凸块数目的微凸块。以此方式,处理装置可从每一群组选择相同数目个微凸块。当从每一群组选择微凸块时,处理装置可使微凸块均匀地分布在相应的整个群组中。举例来说,处理装置可选择彼此之间具有相同数目个微凸块(即,未被选的微凸块)的微凸块。在处理装置正在选择每一群组中的50%的微凸块的情况下,处理装置可选择每隔一个微凸块。当选择25%的微凸块时,处理装置可选择每一群组中的每隔三个微凸块。
在另一实施方案中,处理装置可基于所选择的群组识别新微凸块集。举例来说,处理装置可基于将选择的微凸块的总数目和每一群组中的微凸块的数目,确定用于选择的群组的数目。在将选择一千微凸块且每一群组中存在一百个微凸块的情况下,处理装置可确定将选择十个群组。因此,处理装置可选择所确定数目的群组。接着,处理装置可识别所选择的群组中所有微凸块作为新微凸块集。当选择所确定数目的群组时,处理装置可选择彼此远离的群组。举例来说,如果处理装置从总计二十个群组中选择十个群组,那么处理装置可选择每隔一个群组且因此选择每隔一个群组中的每一微凸块。
在操作1130处,处理装置使用新微凸块集发射用于机器学习操作的数据。举例来说,处理装置可从对应存储器装置检索数据并且确定发射所述数据的新微凸块集。接着,处理装置可通过新微凸块集将数据发射到机器学习处理装置或主机系统。
图12说明计算机系统1200的实例机器,所述实例机器内可执行用于致使所述机器执行本文中所论述的方法中的任一或多种方法的指令集。在一些实施例中,计算机系统1200可对应于包含、耦合到或使用存储器子系统(例如,图1的存储器子系统110)或可用以执行控制器的操作(例如,以执行操作系统来执行对应于图1的机器学习操作管理组件113的操作)的主机系统(例如,图1的主机系统120)。在替代性实施例中,机器可连接(例如,网络连接)到LAN、内联网、外联网或互联网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、开关或桥接器、汽车或能够(依序或以其它方式)执行指定由机器采取的动作的一组指令的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种。
实例计算机系统1200包含处理装置1202、主存储器1204(例如,只读存储器(ROM)、闪存存储器、动态随机存取存储器(DRAM)例如同步DRAM(SDRAM)或RDRAM等)、静态存储器1206(例如,闪存存储器、静态随机存取存储器(SRAM)等),以及数据存储系统1218,其经由总线1230彼此通信。
处理装置1202表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置1202也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置1202被配置成执行指令1226以用于执行本文中所论述的操作和步骤。计算机系统1200可另外包含网络接口装置1208以在网络1220上通信。
数据存储系统1218可包含机器可读存储媒体1224(也称为计算机可读媒体),其上存储有一或多组指令1226或体现本文中所描述的方法或功能中的任一或多种的软件。指令1226还可在由计算机系统1200执行期间完全或至少部分地驻存在主存储器1204内和/或处理装置1202内,主存储器1204和处理装置1202也构成机器可读存储媒体。机器可读存储媒体1224、数据存储系统1218和/或主存储器1204可对应于图1的存储器子系统110。
在一个实施例中,指令1226包含实施对应于机器学习操作管理组件(例如,图1的机器学习操作管理组件113)的功能性的指令。尽管在实例实施例中机器可读存储媒体1224示出为单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一组或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。
已关于计算机存储器内的数据位的操作的算法和符号表示而呈现先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给本领域的其它技术人员的方式。算法在这里并且通常被认为是导致期望的结果的操作的自洽序列。操作是要求对物理量进行物理控制的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、项、数目等是方便的。
然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。此设备可以出于所需目的而专门构造,或其可以包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,如但不限于任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。此外,并不参考任何特定编程语言来描述本公开。应了解,可以使用各种编程语言来实施如本文所描述的本公开的教示内容。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。应显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。

Claims (20)

1.一种系统,其包括:
存储器装置,其包括微凸块;和
处理装置,其以操作方式与所述存储器装置耦合以执行包括以下各项的操作:
基于所述存储器装置的所述微凸块的集发射用于机器学习操作的数据,所述数据存储于所述存储器装置处;
确定所述机器学习操作的条件的改变;
响应于确定所述机器学习操作的所述条件的所述改变,确定所述存储器装置的所述微凸块的将用以发射用于所述机器学习操作的后续数据的另一集;和
使用所述存储器装置的所述另一微凸块集发射所述后续数据。
2.根据权利要求1所述的系统,其中所述条件包含与所述存储器装置相关联的电源、与所述存储器装置相关联的温度或与所述机器学习操作相关联的数据大小中的至少一个。
3.根据权利要求1所述的系统,其中所述另一微凸块集的所述确定包括:
确定所述条件的所述改变满足阈值条件,所述阈值条件与所述条件的所述改变的量值相关联,且其中所述另一微凸块集的所述确定进一步响应于确定所述条件的所述改变满足所述阈值条件。
4.根据权利要求1所述的系统,其中包含在所述另一微凸块集中的微凸块的数目是基于所述机器学习操作的所述条件的所述改变的方向。
5.根据权利要求1所述的系统,其中包含在所述另一微凸块集中的微凸块的数目是基于所述机器学习操作的所述条件的所述改变的量值。
6.根据权利要求1所述的系统,其中所述另一微凸块集的所述确定是基于所述存储器装置中的相应微凸块的方位。
7.根据权利要求1所述的系统,其中所述存储器装置对应于非易失性存储器装置。
8.根据权利要求1所述的系统,其中所述存储器装置对应于易失性存储器装置。
9.一种方法,其包括:
基于存储器装置的微凸块集发射用于机器学习操作的数据,所述数据存储于所述存储器装置处;
确定所述机器学习操作的条件的改变;
响应于确定所述机器学习操作的所述条件的所述改变,通过处理装置确定所述存储器装置的所述微凸块的将用以发射用于所述机器学习操作的后续数据的另一集;和
使用所述存储器装置的所述另一微凸块集发射所述后续数据。
10.根据权利要求9所述的方法,其中所述条件包含与所述存储器装置相关联的电源、与所述存储器装置相关联的温度或与所述机器学习操作相关联的数据大小中的至少一个。
11.根据权利要求9所述的方法,其中所述另一微凸块集的所述确定包括:
确定所述条件的所述改变满足阈值条件,所述阈值条件与所述条件的所述改变的量值相关联,且其中所述另一微凸块集的所述确定进一步响应于确定所述条件的所述改变满足所述阈值条件。
12.根据权利要求9所述的方法,其中包含在所述另一微凸块集中的微凸块的数目是基于所述机器学习操作的所述条件的所述改变的方向。
13.根据权利要求9所述的方法,其中包含在所述另一微凸块集中的微凸块的数目是基于所述机器学习操作的所述条件的所述改变的量值。
14.根据权利要求9所述的方法,其中所述另一微凸块集的所述确定是基于所述存储器装置中的相应微凸块的方位。
15.根据权利要求9所述的方法,其中所述存储器装置对应于非易失性存储器装置。
16.根据权利要求9所述的方法,其中所述存储器装置对应于易失性存储器装置。
17.一种方法,其包括:
接收对改变存储器装置中的用以发射用于机器学习操作的数据的微凸块集的指示;
通过处理装置根据所述指示,基于所述存储器装置中的相应微凸块的方位选择所述微凸块的另一集;和
使用所述微凸块的所述另一集发射用于所述机器学习操作的所述数据。
18.根据权利要求17所述的方法,其中所述微凸块的所述另一集的所述选择包括:
确定多个微凸块群组,每一群组包括定义数目的微凸块且每一群组在所述存储器装置中与所述多个微凸块群组中的另一群组相邻;
基于所述指示确定将选择的微凸块的总数目;和
从所述多个群组识别对应于所述微凸块总数目的的所述另一微凸块集。
19.根据权利要求18所述的方法,其中所述微凸块的所述另一集的所述识别包括:
基于所述微凸块总数目和所述多个微凸块群组中的群组总数目,确定每一群组的第二数目个微凸块;和
对于所述多个微凸块群组中的每一群组,选择包括所述第二数目个微凸块的微凸块子集。
20.根据权利要求18所述的方法,其中所述微凸块的所述另一集的所述识别包括:
基于将选择的所述微凸块总数目和每一群组中的微凸块数目,确定用于选择的第二数目个群组;
选择对应于所述第二数目个群组的群组子集;和
确定包含所述群组子集中的每一微凸块的所述另一微凸块集。
CN202011409973.2A 2019-12-04 2020-12-04 使用不同微凸块发射用于机器学习操作的数据 Pending CN112908372A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/703,142 2019-12-04
US16/703,142 US11481299B2 (en) 2019-12-04 2019-12-04 Transmission of data for a machine learning operation using different microbumps

Publications (1)

Publication Number Publication Date
CN112908372A true CN112908372A (zh) 2021-06-04

Family

ID=76111428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011409973.2A Pending CN112908372A (zh) 2019-12-04 2020-12-04 使用不同微凸块发射用于机器学习操作的数据

Country Status (2)

Country Link
US (2) US11481299B2 (zh)
CN (1) CN112908372A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010033509A1 (en) * 1998-11-23 2001-10-25 Micron Technology, Inc. Stacked integrated circuits
US20160379137A1 (en) * 2015-06-29 2016-12-29 Microsoft Technology Licensing, Llc Machine learning classification on hardware accelerators with stacked memory
CN109616463A (zh) * 2017-09-12 2019-04-12 成真股份有限公司 芯片封装结构
US20190171931A1 (en) * 2017-12-04 2019-06-06 Vathys, Inc. Systems and methods for machine learning processor with intra-die and inter-die wireless communication
US20190220566A1 (en) * 2019-03-28 2019-07-18 Intel Corporation Die to die interconnect structure for modularized integrated circuit devices

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255153B2 (en) * 2008-01-23 2012-08-28 Honeywell International Inc. Automatic alerting method and system for aerial vehicle target tracking
KR20180027710A (ko) 2016-09-06 2018-03-15 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법
US11170290B2 (en) 2019-03-28 2021-11-09 Sandisk Technologies Llc Realization of neural networks with ternary inputs and binary weights in NAND memory arrays
US10637733B2 (en) * 2018-09-25 2020-04-28 International Business Machines Corporation Dynamic grouping and repurposing of general purpose links in disaggregated datacenters
US11061646B2 (en) 2018-09-28 2021-07-13 Intel Corporation Compute in memory circuits with multi-Vdd arrays and/or analog multipliers
US10833679B2 (en) * 2018-12-28 2020-11-10 Intel Corporation Multi-purpose interface for configuration data and user fabric data
US11227838B2 (en) 2019-07-02 2022-01-18 iCometrue Company Ltd. Logic drive based on multichip package comprising standard commodity FPGA IC chip with cooperating or supporting circuits
US11164847B2 (en) 2019-12-03 2021-11-02 Intel Corporation Methods and apparatus for managing thermal behavior in multichip packages

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010033509A1 (en) * 1998-11-23 2001-10-25 Micron Technology, Inc. Stacked integrated circuits
US20160379137A1 (en) * 2015-06-29 2016-12-29 Microsoft Technology Licensing, Llc Machine learning classification on hardware accelerators with stacked memory
CN109616463A (zh) * 2017-09-12 2019-04-12 成真股份有限公司 芯片封装结构
US20190171931A1 (en) * 2017-12-04 2019-06-06 Vathys, Inc. Systems and methods for machine learning processor with intra-die and inter-die wireless communication
US20190220566A1 (en) * 2019-03-28 2019-07-18 Intel Corporation Die to die interconnect structure for modularized integrated circuit devices

Also Published As

Publication number Publication date
US11481299B2 (en) 2022-10-25
US20210173755A1 (en) 2021-06-10
US20230041801A1 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
US11662939B2 (en) Checking status of multiple memory dies in a memory sub-system
US11726690B2 (en) Independent parallel plane access in a multi-plane memory device
US11755227B2 (en) Command batching for a memory sub-system
US11709605B2 (en) Storing zones in a zone namespace on separate planes of a multi-plane memory device
US11614884B2 (en) Memory device with microbumps to transmit data for a machine learning operation
US10430088B2 (en) Storage device configured to perform two-way communication with host and operating method thereof
CN112908373B (zh) 用于使用微凸块执行机器学习操作的系统
US20230229352A1 (en) Host training indication for memory artificial intelligence
US11481299B2 (en) Transmission of data for a machine learning operation using different microbumps
US20230069382A1 (en) Managing host input/output in a memory system executing a table flush
US11681467B2 (en) Checking status of multiple memory dies in a memory sub-system
CN115437973A (zh) 多平面存储器装置中的并发页高速缓存资源存取
CN115148260A (zh) 使用更少锁存器的存储器装置编程技术
US11734205B2 (en) Parallel iterator for machine learning frameworks
US11853237B2 (en) Input/output sequencer instruction set processing
US20230058232A1 (en) Partition command queues for a memory device
US20240143232A1 (en) Reduce read command latency in partition command scheduling at a memory device

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