首页> 中国专利> 管理存取存储器子系统中用于机器学习计算的存储器组件或逻辑组件的模式

管理存取存储器子系统中用于机器学习计算的存储器组件或逻辑组件的模式

摘要

本申请案针对于管理存取存储器子系统中用于机器学习计算的存储器组件或逻辑组件的模式。从主机系统接收第一模式设置信号。所述第一模式设置信号指示第一模式。存储器组件是基于所述第一模式设置信号处于所述第一模式中的存储器组件。在所述第一模式中,所述存储器组件的存储器单元暴露于所述主机系统。从所述主机系统接收第二模式设置信号。所述第二模式设置信号指示第二模式。基于所述第二模式设置信号将所述存储器组件设置到所述第二模式。在所述第二模式中,所述存储器组件的机器学习操作组件暴露于所述主机系统。

著录项

  • 公开/公告号CN112732595A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 美光科技公司;

    申请/专利号CN202011098073.0

  • 发明设计人 P·卡莱;

    申请日2020-10-14

  • 分类号G06F13/16(20060101);G06N3/04(20060101);G06N3/063(20060101);G06N20/00(20190101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人王龙

  • 地址 美国爱达荷州

  • 入库时间 2023-06-19 10:48:02

说明书

技术领域

本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及管理存取存储器子系统中用于机器学习计算的存储器组件或逻辑组件的模式。

背景技术

存储器子系统可为存储装置、存储器模块,以及存储装置和存储器模块的混合。存储器子系统可以包含存储数据的一或多个存储器组件。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。

发明内容

在一个方面中,本申请案针对于一种系统,其包括:存储器组件,所述存储器组件包含存储器单元阵列和机器学习操作组件,所述机器学习操作组件结合所述存储器单元阵列执行机器学习计算;和处理装置,其以可操作方式与所述存储器组件以进行以下操作:从主机系统接收第一模式设置信号,所述第一模式设置信号指示第一模式;基于所述第一模式设置信号将所述存储器组件设置到所述第一模式,其中在所述第一模式中,所述处理装置使所述存储器组件的所述存储器单元阵列暴露于所述主机系统;从所述主机系统接收第二模式设置信号,所述第二模式设置信号指示第二模式;和基于所述第二模式设置信号将所述存储器组件设置到所述第二模式,其中在所述第二模式中,所述处理装置使所述存储器组件的所述机器学习操作组件暴露于所述主机系统。

在另一方面中,本申请案针对于一种包括指令的非暂时性计算机可读存储媒体,所述指令在由与存储器组件操作性耦合的处理器执行时致使所述处理器进行以下操作:从主机系统接收第一模式设置信号,所述第一模式设置信号指示第一模式;基于所述第一模式设置信号将所述存储器组件设置到所述第一模式,其中所述存储器组件包含存储器单元阵列和机器学习操作组件,所述机器学习操作组件结合所述存储器单元阵列执行机器学习计算且其中在所述第一模式中,所述处理装置使所述存储器组件的所述存储器单元阵列暴露于所述主机系统;从所述主机系统接收第二模式设置信号,所述第二模式设置信号指示第二模式;和基于所述第二模式设置信号将所述存储器组件设置到所述第二模式,其中在所述第二模式中,所述处理装置使所述存储器组件的所述机器学习操作组件暴露于所述主机系统。

在另一方面中,本申请案针对于一种系统,其包括:存储器组件,所述存储器组件包含存储器单元阵列和机器学习操作组件,所述机器学习操作组件结合所述存储器单元阵列执行机器学习计算;和处理装置,其以可操作方式与所述存储器组件以进行以下操作:从主机系统接收模式设置信号,所述模式设置信号指示第一模式或第二模式中的一个;和响应于接收到所述模式设置信号,致使所述存储器组件在所述第一模式或所述第二模式中的对应模式中操作,其中:在所述第一模式中,所述处理装置从所述主机系统接收用于所述机器学习计算的输入数据并且将所述输入数据路由到所述存储器组件的所述存储器单元阵列中的一或多个存储器单元;且在所述第二模式中,所述处理装置从所述主机系统接收用以进行所述机器学习计算的执行信号并且将所述执行信号路由到所述存储器组件的所述机器学习操作组件。

附图说明

根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,附图不应视为将本公开限制于具体实施例,而是仅用于解释和理解。

图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。

图2是根据本公开的一些实施例的实例存储器子系统的框图。

图3是根据本公开的一些其它实施例的实例存储器子系统的框图。

图4是根据本公开的一些实施例的设置存储器组件的模式的实例方法的流程图。

图5是根据本公开的一些实施例的操作不同模式中的存储器组件的实例方法的流程图。

图6是其中可操作本公开的实施例的实例计算机系统的框图。

具体实施方式

本公开的方面针对于管理存取存储器子系统中用于机器学习计算的存储器组件或逻辑组件的模式。存储器子系统可为存储装置、存储器模块,或存储装置和存储器模块的混合。结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个存储器组件(下文还被称为“存储器装置”)的存储器子系统。主机系统可提供数据以存储于存储器子系统处并且可请求从存储器子系统检索数据。

常规存储器子系统仅包含用于存储主机系统提供的数据的存储器组件。因此,主机系统和存储器子系统之间的接口(例如,系统总线)仅需要处置引导到所述存储器组件的数据和命令。举例来说,如果主机系统将命令(例如,写入命令)和对应数据经由系统总线发射到存储器子系统,那么所述命令和对应数据自动路由到存储器组件。然而,如果存储器子系统包含除存储器组件以外的额外组件,那么关于引导从主机系统接收的命令和/或数据的方式可能会发生混乱。常规存储器子系统缺少用以确定数个独立组件命令和/或数据中的哪一个引导到适当的组件以及确定将所述命令和/或数据路由到适当的组件的特定机构。因此,可能会发生大量错误,原因是命令和/或数据可能路由到错误组件。

本公开的方面通过提供不同操作模式的存储器子系统解决上述和其它缺陷,所述不同操作模式使得主机系统能够存取包含在存储器组件中的不同类型的组件(例如,存储器单元阵列和逻辑组件(例如,用于执行机器学习计算的逻辑门或电阻器阵列))。存储器子系统或存储器子系统的所述存储器组件可在使存储器组件中的存储器单元阵列暴露于主机系统的一个模式中操作。在第二操作模式中,存储器子系统或存储器组件可替代地使安置于存储器组件上的逻辑组件暴露于主机系统。

本公开的优点包含但不限于通过提供两个单独操作模式(一个操作模式用于执行存储和检索数据的传统操作且另一操作模式用于执行逻辑操作,例如机器学习计算),使存储器子系统(即,存储器子系统的存储器组件)的利用率达到最大。此外,通过提供两个单独操作模式,存储器子系统仅需要一个用于存储器组件的接口。也就是说,不需要实施各自用于存储器组件中的存储器单元阵列和逻辑组件的两个单独接口。因此,本公开简化存储器组件中的逻辑组件的实施。

图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可以包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130),或其组合。

存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储装置(UFS)驱动器以及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)和非易失性双列直插式存储器模块(NVDIMM)。

计算环境100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。主机系统120使用例如存储器子系统110将数据写入到存储器子系统110并从存储器子系统110读取数据。如本文中所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。

主机系统120可以是计算装置,如台式计算机、手提式计算机、网络服务器、移动装置或包含存储器和处理装置的这类计算装置。主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口来存取存储器组件(例如,存储器装置130)。物理主机接口可提供接口以用于在存储器子系统110与主机系统120之间传送控制、地址、数据以及其它信号。

存储器装置可以包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。

非易失性存储器装置(例如,存储器装置130)的实例包含“与非”(NAND)类型快闪存储器。存储器装置130中的每一个可以包含一或多个存储器单元阵列,例如单层级单元(SLC)、多层级单元(MLC)(例如,三层级单元(TLC)或四层级单元(QLC))。在一些实施例中,特定存储器组件可包含存储器单元的SLC部分,以及MLC部分、TLC部分或QLC部分。存储器单元中的每一个可存储供主机系统120使用的一或多个数据位。此外,存储器装置130的存储器单元可分组为存储器页或存储器块,其可指用以存储数据的存储器组件单元。

虽然描述了例如NAND类型快闪存储器的非易失性存储器组件,但是存储器装置130可以基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、磁性随机存取存储器(MRAM)、“或非”(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM),以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器对比,交叉点非易失性存储器可进行原位写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。

存储器子系统控制器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可负责与存储器装置130相关联的其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作,以及逻辑块地址与物理地址之间的地址转译。存储器子系统控制器115可另外包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。

存储器子系统110还可以包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含高速缓存器或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),其可从存储器子系统控制器115接收地址且对地址进行解码以存取存储器装置130。

在一些实施例中,存储器装置130包含本地媒体控制器135和机器学习操作组件137。本地媒体控制器135可结合存储器子系统控制器115操作以在存储器装置130的一或多个存储器单元上执行操作。机器学习操作组件137可结合存储器装置130的存储器单元执行机器学习计算。在一些实施例中,机器学习操作组件137可耦合到或物理上放置邻近存储器单元,使得机器学习操作组件137可从存储器单元快速(且以较少功率)存取机器学习计算所需的数据。在其它实施例中,机器学习操作组件137可包含在存储器子系统控制器115或存储器装置140中。在一些其它实施例中,机器学习操作组件137可安置于存储器子系统110内,同时在存储器子系统控制器115和存储器装置130和140外部但与其耦合。

存储器子系统110包含模式管理组件113,其可配置存储器装置130在使得主机系统120能够存取存储器单元阵列的存储器操作模式下操作,或在使得主机系统120能够存取机器学习操作组件137的机器学习操作模式下操作。在一些实施例中,存储器子系统控制器115包含模式管理组件113的至少一部分。举例来说,存储器子系统控制器115可包含处理器117(处理装置),其被配置成执行存储于本地存储器119中的指令以用于执行本文中所描述的操作。在一些实施例中,模式管理组件113是主机系统120、应用程序或操作系统的部分。

模式管理组件113可从主机系统120接收模式设置信号。在一个实施例中,模式设置信号可指示存储器操作模式或机器学习操作模式。在另一实施例中,模式管理组件113可从模式设置信号确定存储器操作模式或机器学习操作模式。接着,模式管理组件113可基于模式设置信号将存储器装置130的操作模式设置为存储器操作模式或机器学习操作模式。在存储器操作模式中,模式管理组件113可使存储器装置130的存储器单元阵列暴露于主机系统120。在机器学习操作模式中,模式管理组件113可使存储器装置130的机器学习操作组件137暴露于主机系统120。下文描述关于模式管理组件113的操作的另外细节。

图2是根据本公开的一些实施例的实例存储器子系统200的框图。在一个实施例中,存储器子系统200包含存储器组件210、总线230、开关242和上拉电阻器244。

存储器组件210可以是易失性存储器装置或非易失性存储器装置。在一个实施例中,存储器组件210包含存储器单元阵列215、机器学习操作组件217、解码组件220和模式选择引脚250。虽然存储器组件210仅具有一个通到存储器子系统控制器或主机系统的接口(即,总线230),但存储器组件210可基于通过模式选择引脚250提供的信号而在两个单独模式(存储器操作模式和机器学习操作模式)下操作。举例来说,在存储器操作模式下,存储器组件210使用模式选择信号255使存储器单元阵列215暴露于主机系统120。在机器学习操作模式下,存储器组件210可基于不同模式选择信号255而使机器学习操作组件217暴露于主机系统120。

存储器单元阵列215可包含是存储数据的最小单位的存储器胞元或存储器单元。举例来说,存储器单元可为SLC、MLC、TLC和/或QLC。在一些实施例中,存储器单元可存储与机器学习计算相关联的数据或从主机系统接收的任何数据。

机器学习操作组件217执行机器学习计算。在一些实施例中,机器学习操作组件217可包含于存储器组件210的封装内或在存储器组件210内部。机器学习操作组件217耦合到存储器单元阵列215以存取执行机器学习计算所需的数据。机器学习操作组件217还耦合到解码组件220以接收用于起始机器学习计算的执行信号。一般来说,执行用于图像辨识或分类的机器学习计算。机器学习计算涉及使用机器学习模型处理输入数据(例如,像素图片)并且输出关于输入数据的预测(例如,分类或分类概率)。

机器学习模型是找到输入数据的模式并且对输入数据进行分类或做出其它预测或决策的数学表示。机器学习模型的实例包含深度神经网络、卷积神经网络和循环神经网络。神经网络可包含用于接收输入数据的输入层、用于产生预测的输出层,以及处于输入和输出层之间的用于对输入数据执行计算(例如,乘法-累加操作)以产生预测的隐蔽层。每一层是由多个神经元或节点组成。每一节点可被指配数值并且通过具有所指配权重值的边缘耦合到后续层中的一或多个节点。因此,当从一个层前进到下一层(即,从输入层前进到隐蔽层和输出层)时,当前层上的一或多个节点可与下一层中的一或多个节点耦合。因而,下一层中的节点的值对应于乘法累加操作的结果。举例来说,对于当前层上的耦合到下一层中的节点的每一节点,计算并且接着相加(即,累加)指配给当前层上的节点的值与指配给对应边缘的权重的乘积(即,乘法),所述对应边缘将当前层的节点耦合到下一层上的相应节点。

在一些实施例中,机器学习操作组件217可对应于用以执行机器学习计算的数字逻辑。可通过使用数字逻辑门或其它这类电路系统实施所述数字逻辑。举例来说,数字逻辑可用以实施机器学习模型,接收用于机器学习模型的输入数据,以及存储用于机器学习模型的输出数据。在一些实施例中,可通过机器学习操作组件217的数字逻辑执行机器学习计算的乘法和累加操作。因而,当执行机器学习计算时,机器学习操作组件217可存取存储于存储器单元阵列215中的机器学习模型和输入数据。

在一些其它实施例中,机器学习操作组件217可对应于电阻器阵列。举例来说,可通过机器学习操作组件217的电阻器阵列执行机器学习计算的乘法和累加操作。机器学习操作组件217的每一电阻器可表示机器学习模型的每一层中的节点,且电阻器的电阻值可经编程或微调为对应于介于表示神经网络的一对节点的一对电阻器之间的边缘的权重值。电阻器的输入和输出可用以处理机器学习计算中的乘法和累加操作。在一些实施例中,机器学习模型的最后一层的输出可与模/数(ADC)转换器耦合以将一或多个模拟信号转换成数字信号,所述模拟信号是机器学习模型的最后一个值,所述数字信号可用以表示机器学习模型的输出。

解码组件220解码经由总线230接收到的输入信号并且产生经解码信号。经解码信号可包含比输入信号更多的位。解码组件220耦合到总线230且因此,从存储器子系统控制器或主机系统120接收输入信号。这类输入信号的实例可包含地址、数据(例如,与机器学习计算相关联的数据、用于设置存储器组件210的不同模式的任何控制信号、用于机器学习计算的执行信号),以及时钟信号。解码组件220解码输入信号,产生用于将对存储器单元阵列215执行的写入和读取操作或供机器学习操作组件217用于执行机器学习计算的经解码信号(例如,经解码地址、经解码数据、经解码时钟信号)。另外,解码组件220可耦合到模式选择引脚250并且接收模式选择信号255作为输入信号。解码组件220接着可产生经解码模式选择信号(未示出)。举例来说,解码组件220可接收具有指示存储器操作模式或机器学习操作模式的值(例如,针对存储器操作模式的低值和针对机器学习操作模式的高值)的模式选择信号255。解码组件220可解码模式选择信号225并且产生具有使主机系统120能够存取存储器单元阵列215或机器学习操作组件217的两个或更多个位的经解码模式选择信号。

模式选择引脚250是存储器组件210的输入引脚,其被配置成结合开关242和上拉电阻器244将模式选择信号提供到解码组件220。在一些实施例中,开关242可在一端耦合到地(GND)并且在另一端,耦合到上拉电阻器244和模式选择引脚250。开关242可接收使开关闭合或断开的控制信号(即,模式设置信号240)。可从主机系统(例如,经由存储器子系统控制器通过总线230)提供模式设置信号240。上拉电阻器244可为具有高电阻(例如,10kΩ)的电阻器。举例来说,在模式设置信号240对应于使开关242断开的控制信号的情况下,模式选择引脚250实际上耦合到上拉电阻器244。因为上拉电阻器具有高电阻并且耦合到电源电压(例如,Vcc或Vdd),所以模式选择引脚250接收相对高的电压信号(例如,接近5V)并且将高电压信号作为指示存储器操作模式和机器学习操作模式中的一个的模式选择信号255提供到解码组件220。另一方面,在模式设置信号240提供给开关242以使开关闭合的情况下,模式选择引脚250耦合到GND和上拉电阻器244。因此,模式选择引脚250将接收相对低电压信号(例如,接近0V)并且将低电压信号作为指示存储器操作模式和机器学习操作模式中的另一者的255提供所述解码组件220。在一些其它实施例中,代替开关242,上拉电阻器244和模式选择引脚250可耦合到电压源,所述电压源驱动模式选择引脚250携带用于存储器操作模式的相对高电压信号(作为模式设置信号)和用于将存储器组件210设置到机器学习操作模式的相对低电压信号(作为模式设置信号)。电压源可由主机系统或存储器子系统控制器经由主机系统控制。

在另外的实施例中,主机系统可确定存储器组件210的当前操作模式。举例来说,主机系统可通过将请求的最后一个操作模式存储于主机系统的本地存储器,或从存储器子系统控制器或存储器组件210的本地媒体控制器请求关于当前操作模式的信息来确定当前操作模式。一旦主机系统确定了存储器组件210的当前操作模式,主机系统便可取决于所要操作而确定是否改变存储器组件210的操作模式。在主机系统确定改变操作模式的情况下,主机系统可产生用于所要模式(存储器操作模式或机器学习操作模式)的适当模式设置信号。因而,主机系统可确保存储器组件处于正确的操作模式中并且将数据经由总线230路由到正确组件(存储器单元阵列215或机器学习操作组件217)。

总线230可为存储器子系统200中的承载例如以下各项的信号的数据总线:地址、数据(例如,与机器学习计算相关联的数据、用于设置存储器组件210的不同模式的任何控制信号、用于机器学习计算的执行信号),以及用于取决于存储器组件210的操作模式将对存储器组件210执行的读取和/或写入操作或机器学习计算操作的时钟信号。在一些实施例中,总线230介接存储器子系统控制器和存储器组件210。

图3是根据本公开的一些其它实施例的实例存储器子系统的框图。在一个实施例中,存储器子系统300包含存储器组件310和总线330。类似于图2中的总线230,总线330可为存储器子系统300中的承载例如以下各项的信号的数据总线:地址、数据,以及用于将对存储器组件310执行的读取和/或写入操作或用于由机器学习操作组件317执行的机器学习计算的时钟信号。

存储器组件310可为易失性存储器装置或非易失性存储器装置。存储器组件310可包含存储器单元阵列315、机器学习操作组件317、解码组件320和模式寄存器350。在一些实施例中,存储器组件310可在两个单独模式(存储器操作模式和机器学习操作模式)下操作。当存储器组件310在存储器操作模式中操作时,存储器组件310可使存储器单元阵列315暴露于主机系统120。当存储器组件310在机器学习操作模式中操作时,存储器组件310可使机器学习操作组件317暴露于主机系统130。

存储器单元阵列315可包含是将数据存储于存储器操作模式中的最小单位的存储器胞元或存储器单元。举例来说,存储器单元可为SLC、MLC、TLC和/或QLC。

机器学习操作组件317执行机器学习计算。类似于图2中的机器学习操作组件217,机器学习操作组件317可包含于存储器组件310封装内或在存储器组件310内部。在一些实施例中,机器学习操作组件317可对应于用以执行机器学习计算的数字逻辑。在一些其它实施例中,机器学习操作组件317可对应于电阻器阵列。

解码组件320以与图2中的解码组件220类似的方式解码输入信号并且产生经解码信号。解码组件320耦合到总线330并且因此,从存储器子系统控制器或主机系统接收输入信号(例如,地址、数据、时钟信号、模式选择信号355)。作为响应,解码组件320可产生经解码信号(例如,地址、数据、时钟信号、模式选择信号(未示出))。举例来说,解码组件320可接收模式选择信号355(例如,针对存储器操作模式的低值和针对机器学习操作模式的高值)并且提供具有使主机系统能够存取存储器单元阵列315或机器学习操作组件317的两个或更多个位的经解码模式选择信号。

模式寄存器350操作以配置存储器组件310的模式。模式寄存器350可耦合到总线330或单独存储器控制总线(存储器子系统中的承载控制信号的总线)(未示出)以从存储器子系统控制器或主机系统接收控制信号。在一些实施例中,控制信号可为模式设置信号340(例如,模式寄存器设置(MRS)命令)。MRS命令可指示存储器组件310应主哪个模式(存储器操作模式或机器学习操作模式)中操作。作为响应,模式寄存器350可产生模式选择信号355。在一些实施例中,模式选择信号355可对应于向解码组件320指示存储器操作模式或机器学习操作模式的位。

在一个实施例中,主机系统可确定在提供模式设置信号之前,存储器组件310的当前操作模式是什么。如上文相对于图2所描述,主机系统可确认当前操作模式以确保正确数据路由到正确组件(存储器单元阵列315或机器学习操作组件317)。如果存储器组件310不在所要模式下操作,那么主机系统可提供适当模式设置信号以改变存储器组件310的操作模式。

在另外的实施例中,存储器组件310可包含模式寄存器350和模式选择输入引脚(例如,图2中的模式选择引脚250)两者。模式选择输入引脚与模式选择引脚250类似地配置(即,与开关和上拉电阻器耦合)。在这类情况下,解码组件320可以与如上文关于图2和3所描述的类似方式与模式选择输入引脚和模式寄存器350两者耦合并且接收两个单独模式选择信号。举例来说,对于存储器操作模式,模式寄存器350可接收指示相应模式的MRS命令并且将对应模式选择信号提供到解码组件320。同时,与模式选择输入引脚相关联的开关可断开以使得模式选择输入引脚致使高电压信号(例如,接近5V)供应到解码组件320。另一方面,对于机器学习操作模式,在模式寄存器350接收用于机器学习操作模式的另一MRS命令并且将对应模式选择信号提供到解码组件320时,开关可闭合且模式选择输入引脚可致使低电压信号(例如,接近0V)提供给解码组件320。

图4是根据本公开的一些实施例的设置存储器组件的模式的实例方法400的流程图。存储器组件可包含存储器单元阵列和机器学习操作组件。存储器单元阵列存储数据。机器学习操作组件结合存储器单元阵列执行机器学习计算。

方法400可通过可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法400由图1的模式管理组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明的实施例应仅作为实例理解,且所说明的过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可省去一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。

在执行方法400时,处理装置可与存储器子系统的存储器组件耦合。在一些实施例中,这类存储器组件可包含存储器单元阵列和机器学习操作组件。存储器单元阵列中的存储器单元可存储从处理装置接收的任何数据。机器学习操作组件可结合存储器单元阵列执行机器学习计算。在存储器组件内,机器学习操作组件可耦合到或物理上放置成邻近存储器单元阵列,使得机器学习操作组件可从阵列中的存储器单元快速(且以较少功率)存取计算所需的数据。

在操作410处,处理装置从主机系统接收模式设置信号。模式设置信号可指示存储器组件的存储器操作模式。举例来说,模式设置信号可对应于指示存储器操作模式(相较于机器学习操作模式)的一系列二进制数。在另一实例中,模式设置信号可对应于致使满足阈值条件的电压信号(例如高于(或低于)2.5V的电压信号)供应到存储器组件的控制信号。举例来说,这类电压信号具有高于2.5V的电压电平可指示存储器组件的操作模式为存储器操作模式。另一方面,如果模式设置信号不致使满足阈值条件的电压信号,那么可确定模式设置信号指示机器学习操作模式。下文将关于操作420论述模式设置信号的另外细节。

在操作420处,处理装置基于模式设置信号将存储器组件设置到存储器操作模式。也就是说,在存储器操作模式中,处理装置可使存储器组件的存储器单元阵列暴露于主机系统。在一些实施例中,主机系统可将模式设置信号提供到存储器子系统(即,处理装置)。处理装置可使用模式设置信号致使存储器组件在存储器操作模式中操作。

在一些实施例中,存储器组件可包含模式选择组件和解码组件。模式选择组件可提供用以选择用于存储器组件的第一模式或第二模式的模式选择信号。处理装置可致使模式选择组件基于模式设置信号提供适当的模式选择信号。举例来说,模式选择组件可接收指示存储器操作模式的模式设置信号并且基于模式设置信号提供选择存储器操作模式的模式选择信号(且对于机器学习操作模式也是这样)。在一些实施例中,模式选择组件可提供表示用于存储器操作模式的‘0’和用于机器学习操作模式的‘1’的模式选择信号。在一些其它实施例中,模式选择信号可为表示所选择的存储器操作模式的电压信号(例如,具有高于2.5V的电压值的电压信号)(而具有等于或低于2.5V的电压值的电压信号可表示机器学习操作模式)。因此,取决于模式选择信号,模式选择组件可使用模式选择信号配置解码组件以使得主机系统能够存取存储器单元阵列(例如,在存储器操作模式中)或机器学习操作组件(例如,在机器学习操作模式中)。因而,模式选择组件可向解码组件指示所选择的模式。

在一些实施例中,模式选择组件可包含存储器组件的专用引脚(即,存储器组件的专用于模式选择的输入引脚)以将模式选择信号提供到解码组件。举例来说,专用引脚可与上拉电阻器耦合。上拉电阻器可设置于存储器组件外部的存储器子系统上。上拉电阻器可为具有高电阻(例如,10kΩ)的电阻器。上拉电阻器可致使专用引脚将模式选择信号提供到解码组件。

在一些实施例中,专用引脚可耦合到上拉电阻器并且耦合到开关,所述开关可使专用引脚和上拉电阻器耦合到地(GND)。上拉电阻器可在一端耦合到专用引脚并且在另一端耦合到电源电压(Vcc)(参见图2或3)。处理装置可提供作为使开关断开或闭合的控制信号的模式设置信号。当开关断开时,专用引脚实际上耦合到上拉电阻器。因为上拉电阻器具有高电阻并且耦合到Vcc,所以跨上拉电阻器的电压降相对小,使得接近5V的电压供应给专用引脚。另一方面,处理装置可提供使开关闭合的模式设置信号。当开关闭合时,专用引脚将耦合到地并且耦合到上拉电阻器。在此情况下,上拉电阻器将少量电流传送通过闭合开关到地,使得约0V的低电压供应到专用引脚。

因此,当处理装置提供模式设置信号(例如,使开关断开的控制信号)时,满足阈值条件(例如,具有高于2.5V的电压电平的信号)的电压信号(例如,具有接近5V的电压值的高电压信号)经由上拉电阻器供应给专用引脚,进而将操作模式设置为存储器操作模式。专用引脚可提供高电压信号作为向解码组件指示存储器操作模式的模式选择信号。当处理装置提供使开关闭合的不同模式设置信号(例如,致使电压信号(例如,具有接近0V的电压值的低电压信号)不满足阈值条件(例如,具有高于2.5V的电压电平)的控制信号)时,存储器组件的专用引脚经由上拉电阻器,接收具有接近0V的电压值的低电压信号。专用引脚可提供低电压信号作为向解码组件指示机器学习操作模式的模式选择信号。

在其它实施例中,模式选择组件可包含模式寄存器。模式寄存器可耦合到存储器控制总线(存储器子系统中的承载控制信号的总线)或数据总线(例如,图2中的总线230或图3的总线330)以所述处理装置接收控制信号,例如模式设置信号(例如,模式寄存器设置(MRS)命令)。MRS命令可包含用以指示存储器组件应设置到哪个模式的某些命令信号,例如/CS(芯片选择)、/RAS(行地址选通)、/CAS(列地址选通)和/WE(写入启用))。响应于接收到MRS命令,模式寄存器可产生对应模式选择信号(例如,以位为单位的指示存储器操作模式或机器学习操作模式的控制信号)。因此,模式寄存器可将模式选择信号提供到解码组件。

存储器组件的解码组件可解码所接收的模式选择信号并且产生经解码模式选择信号(例如,经解码模式选择信号包含比模式选择信号更多的位),其使得主机系统能够存取存储器单元阵列或机器学习操作组件。在一些实施例中,经解码模式选择信号可为两个位(而模式选择信号具有一个位,‘0’用于存储器操作模式且‘1’用于机器学习操作模式)。对于存储器操作模式,经解码模式选择信号可提供给存储器单元阵列或存储器组件的本地控制器,使得主机系统可存取存储器单元阵列。对于机器学习操作模式,经解码模式选择信号可提供给机器学习操作组件或存储器组件的本地控制器,使得主机系统可存取机器学习操作组件。因而,可使用来自模式选择组件的模式选择信号使得主机系统能够存取存储器组件的存储器单元阵列或机器学习操作组件。

在操作430处,处理装置从主机系统接收另一模式设置信号。模式设置信号可指示存储器组件的机器学习操作模式。举例来说,模式设置信号可为针对机器学习操作模式预定义的MRS命令。在另一实例中,模式设置信号可为致使具有低于例如2.5V(即,不满足阈值条件,即不满足高于2.5V的电压信号)的电压电平的电压信号供应到存储器组件(经由存储器组件的专用引脚)。

在操作440处,处理装置基于操作430处接收到的模式设置信号将存储器组件设置到机器学习操作模式。模式设置信号可指示机器学习操作模式。因此,处理装置可使存储器组件的机器学习操作组件暴露于主机系统。类似于操作420,处理装置可将向模式选择组件(即,图2中的模式寄存器250)指示机器学习操作模式的MRS命令提供到存储器组件,使得存储器组件可设置到机器学习操作模式。在一些其它实施例中,处理装置可将用于使开关闭合的控制信号发射到与模式选择组件(即,图2中的模式选择输入引脚250)耦合的开关(即,图2中的开关242)。基于模式设置信号,模式选择组件可将适当的模式选择信号(在此情况下,模式选择信号选择具有接近0V的电压电平的机器学习操作模式)提供到解码组件。因此,模式选择组件可配置解码组件以使得主机系统能够存取机器学习操作组件(例如,在机器学习操作模式中)。

图5是根据本公开的一些实施例的操作不同模式中的存储器组件的实例方法500的流程图。存储器组件可包含存储器单元阵列和机器学习操作组件。存储器单元阵列存储数据。机器学习操作组件结合存储器单元阵列执行机器学习计算。

方法500可通过可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法500由图1的模式管理组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,所说明的实施例应仅作为实例理解,且所说明的过程可以不同次序进行,且一些过程可并行进行。另外,在各种实施例中可省去一或多个过程。因此,在每一实施例中并非需要全部过程。其它过程流也是可能的。

在操作510处,处理装置从主机系统接收模式设置信号。如上文关于图4所描述,模式设置信号可指示存储器操作模式或机器学习操作模式。在一些实施例中,模式设置信号指示存储器操作模式且模式设置信号指示机器学习操作模式可对应于致使具有不同电压电平(例如,大约0V和5V)的电压信号供应到存储器组件(经由存储器组件的专用引脚)的控制信号。在一些其它实施例中,模式设置信号指示存储器操作模式且模式设置信号指示机器学习操作模式可对应于不同模式寄存器设置(MRS)命令。

在操作520处,响应于接收到模式设置信号,处理装置致使存储器组件在存储器操作模式或机器学习操作模式中的一个中操作。举例来说,主机系统可与处理装置通信以使用深度神经网络模型对动物的图片执行图像辨识以确定动物物种的类型和/或图片的主题是所述动物物种类型的概率。为起始图像辨识,主机系统可首先与存储器组件(即,存储器组件中的存储器单元阵列)协作以在存储器操作模式中存储图片的像素数据。接着,主机系统可请求存储器组件(即,机器学习操作组件)对像素数据执行图像辨识不起提供机器学习操作模式中的图像辨识的结果(例如,动物物种的类型是“猫”和/或图片中的主题是“猫”的概率是0.97)。因此,处理装置可在操作510处从主机系统接收用于存储器操作模式的模式设置信号。接着,在操作520处,处理装置可致使存储器组件在存储器操作模式中操作并且存储像素数据。随后,处理装置可从主机系统接收用于机器学习操作模式的模式设置信号。接着,在操作520处,处理装置可致使存储器组件在机器学习操作模式中操作并且执行机器学习计算。在一些实施例中,处理装置可仅接收指示用于执行机器学习计算的机器学习操作模式的模式设置信号。在这类情况下,主机系统可为处理装置提供与输入数据一起的机器学习计算执行请求。

在存储器操作模式中,在操作530处,处理装置从主机系统接收用于机器学习计算的输入数据。在一些实施例中,输入数据可呈表示待处理以用于经由机器学习计算的图像辨识的图片的像素数据形式。另外,在存储器操作模式中,处理装置将输入数据路由到存储器组件的存储器单元阵列中的存储器单元以用于写入操作。

在机器学习操作模式中,在操作540处,处理装置从主机系统接收执行机器学习计算(例如,图像辨识)的执行信号。在一些实施例中,执行信号可指示将用于机器学习计算的模型的类型(例如,深度神经网络模型)和输入数据(例如,动物的图片)。在一些其它实施例中执行信号可另外包含输入数据。

而且,在操作540处,处理装置将执行信号路由到存储器组件的机器学习操作组件。作为响应,机器学习操作组件可通过基于执行信号从存储器单元阵列存取和加载所指示的模型和输入数据来起始机器学习计算。在一些实施例中,处理装置可替代地将模型和输入数据的地址与执行信号一起或作为执行信号的部分提供到机器学习操作组件。在通过所述模型处理输入数据(即,对输入数据执行乘法-累加操作)之后,机器学习操作组件可将输出数据(例如,输入数据的类别(例如,动物物种的类型是“猫”)和/或输入数据属于所述类别的概率(例如,0.97))提供到存储器组件的与机器学习操作组件相关联的输出缓冲器。因此,处理装置可检测到机器学习操作组件已通过存取输出缓冲器从机器学习计算产生输出数据。接着,处理装置可将输出数据提供到主机系统。在执行信号包含输入数据的情况下,机器学习操作组件可在执行机器学习计算之前首先将输入数据存储于存储器单元阵列中。

在另外的实施例中,响应于当在机器学习操作模式中操作时从主机系统接收到用于存储器操作模式的另一模式设置信号,存储器组件可在机器学习操作模式中操作之后切换到存储器操作模式。举例来说,如果估计的执行时间不满足阈值条件(例如,小于2毫秒),那么处理装置可接收用于存储器操作模式的另一模式设置信号以使得处理装置可在等待完成机器学习计算时暴露用于主机系统的存储器单元阵列。在等待时段期间,在存储器操作模式中,处理装置可使得主机系统能够存取存储于存储器单元阵列中的执行码或操作系统。在检测到机器学习计算的输出数据准备就绪后,处理装置即刻可通知主机系统已完成。作为响应,主机系统可将用于机器学习操作模式的模式设置信号提供到处理装置,使得主机系统可存取输出数据。处理装置可通过确定输出数据存储于与机器学习操作组件相关联的输出缓冲器中,检测到机器学习计算的完成。

图6说明计算机系统600的实例机器,可执行所述计算机系统600内的用于致使所述机器执行本文中所论述的方法中的任一种或多种方法的指令集。在一些实施例中,计算机系统600可对应于包含、耦合到或使用存储器子系统(例如,图1的存储器子系统110)或可用以执行控制器的操作(例如,以执行操作系统从而执行对应于图1的模式管理组件113的操作)的主机系统(例如,图1的主机系统120)。在替代性实施例中,机器可连接(例如,网络连接)到LAN、内联网、外联网或互联网中的其它机器。机器可作为对等(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。

机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、开关或桥接器、汽车或能够(依序或以其它方式)执行指定由机器采取的动作的一组指令的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种。

实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(ROM)、闪存存储器、动态随机存取存储器(DRAM)例如同步DRAM(SDRAM)或RDRAM等)、静态存储器606(例如,闪存存储器、静态随机存取存储器(SRAM)等),以及数据存储系统618,其经由总线630彼此通信。

处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置602被配置成执行指令626以用于执行本文中所论述的操作和步骤。计算机系统600可另外包含网络接口装置608以在网络620上通信。

数据存储系统618可包含机器可读存储媒体624(也称为计算机可读媒体),其上存储有一或多个指令集626或体现本文中所描述的方法或功能中的任一或多种的软件。指令626还可在其由计算机系统600执行期间完全或至少部分地驻存在主存储器604内和/或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618和/或主存储器604可对应于图1的存储器子系统110。

在一个实施例中,指令626包含用于实施对应于模式管理组件(例如,图1的模式管理组件113)的功能性的指令。尽管在实例实施例中将机器可读存储媒体624展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一组或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。

已关于计算机存储器内的数据位的操作的算法和符号表示而呈现先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给本领域的其它技术人员的方式。算法在这里并且通常被认为是导致期望的结果的操作的自洽序列。操作是要求对物理量进行物理控制的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、项、数目等是方便的。

然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅仅是应用于这些量的方便标签。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。

本公开还涉及用于执行本文中的操作的设备。此设备可以出于所需目的而专门构造,或其可以包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,如但不限于任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。

本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。此外,并不参考任何特定编程语言来描述本公开。应了解,可以使用各种编程语言来实施如本文所描述的本公开的教示内容。

本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、闪存存储器组件等。

在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。应显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号