在具有人工智能模式的存储器系统中复制数据的制作方法



1.本公开大体上涉及存储器装置,且更特定来说,涉及用于在具有人工智能(ai)模式的存储器系统中复制数据的设备及方法。


背景技术:



2.存储器装置通常被提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可需要电力来维持其数据且包含随机存取存储器(ram)、动态随机存取存储器(dram)及同步动态随机存取存储器(sdram)等等。非易失性存储器可通过在未被供电时保留经存储数据来提供持久数据且可包含nand快闪存储器、nor快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)及电阻可变存储器,例如相变随机存取存储器(pcram)、电阻式随机存取存储器(rram)及磁阻式随机存取存储器(mram)等等。
3.存储器还用作广泛范围的电子应用的易失性及非易失性数据存储装置。非易失性存储器可用于例如个人计算机、便携式存储棒、数码相机、蜂窝电话、便携式音乐播放器(例如mp3播放器)、电影播放器及其它电子装置中。存储器单元可布置成阵列,其中所述阵列用于存储器装置中。
附图说明
4.图1a是根据本公开的数个实施例的呈包含具有人工智能(ai)加速器的存储器装置的计算系统的形式的设备的框图。
5.图1b是根据本公开的数个实施例的呈包含带有具有人工智能(ai)加速器的存储器装置的存储器系统的计算系统的形式的设备的框图。
6.图2是根据本公开的数个实施例的具有人工智能(ai)加速器的存储器装置上的数个寄存器的框图。
7.图3a及3b是根据本公开的数个实施例的具有人工智能(ai)加速器的存储器装置上的数个寄存器中的数个位的框图。
8.图4是根据本公开的数个实施例的具有人工智能(ai)加速器的存储器装置的数个块的框图
9.图5是说明根据本公开的数个实施例的具有人工智能(ai)加速器的存储器装置中的实例人工智能过程的流程图。
10.图6是说明根据本公开的数个实施例的用以复制数据的实例方法的流程图。
具体实施方式
11.本公开包含与在具有人工智能(ai)模式的存储器系统中复制数据相关的设备及方法。一种实例设备可包含接收指示所述设备在人工智能(ai)模式下操作的命令、用以基于数个寄存器的状态使用ai加速器来执行ai操作的命令及用以在正在执行ai操作的存储
器装置之间复制数据的命令。存储器装置之间复制的数据可为与ai操作相关联的神经网络数据、激活函数数据、偏差数据、输入数据及/或输出数据。ai加速器可包含经配置以执行与ai操作相关联的操作(例如,逻辑操作,以及其它操作)的硬件、软件及或固件。硬件可包含经配置为加法器及/或乘法器以执行与ai操作相关联的操作,例如逻辑操作的电路系统。
12.存储器装置可包含存储在存储器单元阵列中的被ai加速器用以执行ai操作的数据。输入数据连同定义神经网络的数据,例如神经元数据、激活函数数据及/或偏差值数据,可经存储在存储器装置中,在存储器装置之间进行复制,及用以执行ai操作。而且,存储器装置可包含用以存储ai操作的部分结果的临时块及用以存储ai操作的结果的输出块。主机可发出用于输出块的读取命令且可将输出块中的结果发送到主机以完成请求执行ai操作的命令的执行。
13.主机及/或存储器系统的控制器可发出用以在执行ai操作的存储器装置之间复制输入及/或输出数据的命令。例如,存储器系统可将输入数据从第一存储器装置复制到第二存储器装置,使得第一存储器装置可在第一ai操作中使用输入数据且第二存储器装置可在第二ai操作中使用输入数据。可从主机接收从第一存储器装置复制到第二存储器装置的输入数据。执行第一ai操作的第一存储器装置及执行第二ai操作的第二存储器装置可包含相同或不同神经网络数据、激活函数数据及/或偏差数据。可将第一及第二ai操作的结果报告给控制器及/或主机并相互比较。
14.主机及/或存储器系统的控制器可发出用以在执行ai操作的存储器装置之间复制神经网络数据、激活函数数据、偏差数据的命令。存储器系统可将神经网络数据、激活函数数据及/或偏差数据从第一存储器装置复制到第二存储器装置,使得第一存储器装置可在第一ai操作中使用神经网络数据、激活函数数据及/或偏差数据且第二存储器装置可在第二ai操作中使用神经网络数据、激活函数数据及/或偏差数据。可将第一及第二ai操作的结果报告给主机及/或存储器系统的控制器并相互比较。
15.存储器系统的每一存储器装置可将输入数据及神经元数据发送到ai加速器且ai加速器可对输入数据及神经元数据执行ai操作。存储器装置可将ai操作的结果存储在存储器装置上的临时块中。存储器装置可发送来自临时块的结果且将偏差值数据应用于ai加速器。ai加速器可使用偏差值数据对来自临时块的结果执行ai操作。存储器装置可将ai操作的结果存储在存储器装置上的临时块中。存储器装置可将来自临时块的结果及激活函数数据发送到ai加速器。ai加速器可对来自临时块的结果及/或激活函数数据执行ai操作。存储器装置可将ai操作的结果存储在存储器装置上的输出块中。
16.与在主机上执行的ai操作相比,ai加速器可减少与ai操作相关联的延时及功率消耗。在主机上执行的ai操作使用在存储器装置与主机之间交换的数据,这使ai操作增加延时及功率消耗。虽然可使用ai加速器及存储器阵列来在存储器装置上执行根据本公开的实施例执行的ai操作,但其中在执行ai操作的同时不从存储器装置转移数据。
17.在本公开的以下详细描述中,参考形成本公开的一部分且其中以说明方式展示可如何实践本公开的数个实施例的附图。充分详细地描述这些实施例以使所属领域的一般技术人员能够实践本公开的实施例,且应理解,在不脱离本公开的范围的情况下可利用其它实施例且可进行过程改变、电改变及/或结构改变。如本文中所使用,指定符“n”表示如此指定的数个特定特征可包含在本公开的数个实施例中。
18.如本文中所使用,“数个”某物可指代此类事物中的一或多者。例如,数个存储器装置可指代存储器装置中的一或多者。另外,如本文中所使用,特别是关于附图中的参考数字所使用的例如“n”的指定符指示如此指定的数个特定特征可包含在本公开的数个实施例中。
19.本文中的图遵循编号约定,其中首位或前几位数字对应于附图图号且剩余数字识别附图中的元件或组件。不同图之间的类似元件或组件可通过使用类似数字来识别。如将明白,可添加、交换及/或消除本文中的各个实施例中所展示的元件以便提供本公开的数个额外实施例。另外,所述图中所提供的元件的比例及相对尺度意在说明本公开的各个实施例而非以限制意义进行使用。
20.图1a是根据本公开的数个实施例的呈包含存储器装置120的计算系统100的形式的设备的框图。如本文中所使用,存储器装置120、存储器阵列125-1、

125-n、存储器控制器122及/或ai加速器124也可单独地被视为“设备”。
21.如图1a中所说明,主机102可耦合到存储器装置120。主机102可为膝上型计算机、个人计算机、数码相机、数字记录及回放装置、移动电话、pda、存储卡读卡器、接口集线器以及其它主机系统,且可包含存储器存取装置,例如处理器。所属领域的一般技术人员将明白,“一处理器”可意指一或多个处理器,例如并行处理系统、数个协处理器等。
22.主机102包含用以与存储器装置120进行通信的主机控制器108。主机控制器108可将命令发送到存储器装置120。主机控制器108可与存储器装置120、存储器装置120上的存储器控制器122及/或存储器装置120上的ai加速器124进行通信以执行ai操作、读取数据、写入数据及/或擦除数据,以及其它操作。ai操作可包含机器学习或神经网络操作,所述机器学习或神经网络操作可包含训练操作或推理操作或两者。在一些实例中,每一存储器装置120可表示神经网络或深度神经网络(例如,具有三个或更多个隐藏层的网络)内的层。或每一存储器装置120可为或包含神经网络的节点,且神经网络的层可由多个存储器装置或若干存储器装置120的部分组成。存储器装置120可将用于ai操作的权重(或模型)存储在存储器阵列125中。
23.物理主机接口可提供用于在存储器装置120与具有用于物理主机接口的兼容接纳器的主机102之间传递控制、地址、数据及其它信号的接口。例如,所述信号可在数个总线(例如数据总线及/或地址总线)上在主机102与存储器装置120之间传达。
24.存储器装置120可包含控制器120,ai加速器124及存储器阵列125-1、

、125-n。存储器装置120可为低功耗双倍数据速率动态随机存取存储器(例如lpddr5装置)及/或图形双倍数据速率动态随机存取存储器(例如gddr6装置),以及其它类型的装置。存储器阵列125-1、

、125-n可包含数个存储器单元,例如易失性存储器单元(例如,dram存储器单元,以及其它类型的易失性存储器单元)及/或非易失性存储器单元(例如,rram存储器单元,以及其它类型的非易失性存储器单元)。存储器装置120可将数据读取及/或写入到存储器阵列125-1、

、125-n。存储器阵列125-1、

、125-n可存储在存储器装置120上执行的ai操作期间使用的数据。存储器阵列125-1、

、125-n可存储神经网络的输入、输出、权重矩阵及偏差信息,及/或由ai加速器用以在存储器装置120上执行ai操作的激活函数信息。
25.主机控制器108、存储器装置120上的存储器控制器122及/或ai加速器124可包含控制电路系统,例如硬件、固件及/或软件。在一或多个实施例中,主机控制器108、存储器控
制器122及/或ai加速器124可为耦合到包含物理接口的印刷电路板的专用集成电路(asic)。而且,存储器装置120上的存储器控制器122可包含寄存器130。寄存器130可经编程以提供信息以供ai加速器执行ai操作。寄存器130可包含任何数目个寄存器。寄存器130可由主机102、存储器控制器122及/或ai加速器124写入及/或读取。寄存器130可提供用于ai加速器124的输入、输出、神经网络及/或激活函数信息。寄存器130可包含用以选择存储器装置120的操作模式的模式寄存器131。ai操作模式可通过将字,举例来说例如0xaa及/或0x2aa写入到寄存器131来选择,这禁止存取与存储器装置120的正常操作相关联的寄存器且允许存取与ai操作相关联的寄存器。而且,可使用利用由存储在存储器装置120中的密钥认证的加密算法的签名来选择ai操作模式。寄存器130也可经定位在存储器阵列125-1、

、125-n中及可由控制器122存取。
26.ai加速器124可包含用以执行ai操作的硬件126及/或软件/固件128。硬件126可包含用以执行与ai操作相关联的逻辑操作的加法器/乘法器126。存储器控制器122及/或ai加速器124可从主机102接收用以执行ai操作的命令。存储器装置120可使用ai加速器124,存储器阵列125-1、

、125-n中的数据及寄存器130中的信息来执行来自主机102的命令中请求的ai操作。所述存储器装置可向主机120回报举例来说例如ai操作的结果及/或错误信息的信息。由ai加速器124执行的ai操作可在不使用外部处理资源的情况下执行。
27.存储器阵列125-1、

、125-n可为存储器系统提供主存储器或可用作整个存储器系统的额外存储器或存储装置。每一存储器阵列125-1、

、125-n可包含数个存储器单元块。所述存储器单元块可用以存储在由存储器装置120执行的ai操作期间使用的数据。例如,存储器阵列125-1、

、125-n可包含dram存储器单元。实施例不限于特定类型的存储器装置。例如,所述存储器装置可包含ram、rom、dram、sdram、pcram、rram、3d xpoint及快闪存储器等等。
28.举例来说,存储器装置120可执行作为或包含一或多个推理步骤的ai操作。存储器阵列125可为神经网络的层或可各自为个别节点且存储器装置120可为层;或存储器装置120可为更大网络内的节点。另外或替代地,存储器阵列125可存储将在节点内使用(例如,求和)的数据或权重或两者。每一节点(例如,存储器阵列125)可将来自从同一或不同存储器阵列125的单元读取的数据的输入与从存储器阵列125的单元读取的权重组合。权重与数据的组合例如可使用加法器/乘法器127在存储器阵列125的外围内或在硬件126内求和。在此类情况下,可将经求和结果传递到存储器阵列125的外围中或硬件126内表示或例示的激活函数。所述结果可经传递到另一存储器装置120或可在ai加速器124内(例如,被软件/固件128)用以做出决策或训练包含存储器装置120的网络。
29.采用存储器装置120的网络可能够进行或用于监督或无监督学习。这可与其它学习或训练制度组合。在一些情况下,经训练网络或模型被导入存储器装置120或与存储器装置120一起使用,且存储器装置120的操作主要或专门与推理相关。
30.图1a的实施例可包含未说明以免混淆本公开的实施例的额外电路系统。例如,存储器装置120可包含用以锁存通过i/o电路系统在i/o连接上提供的地址信号的地址电路系统。地址信号可由行解码器及列解码器接收及解码以存取存储器阵列125-1、

、125-n。所属领域的技术人员将明白,地址输入连接的数目可取决于存储器阵列125-1、

、125-n的密度及架构。
31.图1b是根据本公开的数个实施例的呈包含带有具有人工智能(ai)加速器的存储器装置的存储器系统的计算系统的形式的设备的框图。如本文中所使用,存储器装置120-1、120-2、120-3及120-x、控制器10及/或存储器系统104也可单独地被视为“设备”。
32.如图1b中所说明,主机102可耦合到存储器系统104。主机102可为膝上型计算机、个人计算机、数码相机、数字记录及回放装置、移动电话、pda、存储卡读卡器、接口集线器以及其它主机系统,且可包含存储器存取装置,例如处理器。所属领域的一般技术人员将明白,“处理器”可意指一或多个处理器,例如并行处理系统、数个协处理器等。
33.主机102包含用以与存储器系统104进行通信的主机控制器108。主机控制器108可将命令发送到存储器系统104。存储器系统104可包含控制器104以及存储器装置120-1、120-2、120-3及120-x。存储器装置120-1、120-2、120-3及120-x可为上文关联图1a所描述的存储器装置120且包含具有用以执行ai操作的硬件、软件及/或固件的ai加速器。主机控制器108可与控制器105及/或存储器装置120-1、120-2、120-3及120-x进行通信以执行ai操作、读取数据、写入数据及/或擦除数据以及其它操作。物理主机接口可提供用于在存储器系统104与具有物理主机接口的兼容接纳器的主机102之间传递控制、地址、数据及其它信号的接口。例如,所述信号可在数个总线,例如数据总线及/或地址总线上在主机102与存储器系统104之间传达。
34.存储器系统104可包含经由总线121耦合到存储器装置120-1、120-2、120-3及120-x的控制器105。总线121可经配置使得当操作存储器系统的存储器装置的一部分或全部时可消耗总线121的全带宽。例如,图1b中所展示的四个存储器装置120-1、120-2、120-3及120-x中的两个存储器装置可经配置以在使用总线121的全带宽的同时操作。例如,控制器105可在选择线117上发送可选择存储器装置120-1及120-3以在特定时间段期间操作,例如同时操作的命令。控制器105可在选择线119上发送可选择存储器装置120-2及120-x以在特定时间段期间操作,例如同时操作的命令。在数个实施例中,控制器105可经配置以在选择线117及119上发送用以选择存储器装置120-1、120-2、120-3及120-x的任何组合的命令。
35.在数个实施例中,选择线117上的命令可用以选择存储器装置120-1及120-3且选择线119上的命令可用以选择存储器装置120-2及120-x。可在执行ai操作期间使用选定存储器装置。与ai操作相关的数据可在总线121上在选定存储器装置120-1、120-2、120-3与120-x之间复制及/或传送。例如,ai操作的第一部分可在存储器装置120-1上执行且ai操作的第一部分的输出可在总线121上复制到存储器装置120-3。ai操作的第一部分的输出可被存储器装置120-3用作ai操作的第二部分的输入。而且,与ai操作相关联的神经网络数据、激活函数数据及/或偏差数据可在总线121上在存储器装置120-1、120-2、120-3与120-x之间复制。
36.图2是根据本公开的数个实施例的具有人工智能(ai)加速器的存储器装置上的数个寄存器的框图。寄存器230可为ai寄存器且包含输入信息、输出信息、神经网络信息及/或激活函数信息,以及其它类型的信息,以供ai加速器、控制器及/或存储器装置的存储器阵列(例如,图1中的ai加速器124、存储器控制器122及/或存储器阵列125-1、

、125-n)使用。寄存器可基于来自主机、ai加速器及/或控制器(例如,图1中的主机102、ai加速器124、存储器控制器122)的命令来读取及/或写入。
37.寄存器232-0可定义与存储器装置的ai模式相关联的参数。寄存器232-0中的位可
起始ai操作、重新起始ai操作、指示寄存器中的内容是有效的、清除来自寄存器的内容及/或退出ai模式。
38.寄存器232-1、232-2、232-3、232-4及232-5可定义在ai操作中使用的输入的大小、在ai操作中使用的输入的数目以及在ai操作中使用的输入的起始地址及结束地址。寄存器232-7、232-8、232-9、232-10及232-11可定义ai操作的输出的大小、ai操作中的输出的数目以及ai操作的输出的起始地址及结束地址。
39.寄存器232-12可用以启用在ai操作期间使用的输入存储体、神经元存储体、输出存储体、偏差存储体、激活函数及临时存储体的使用。
40.寄存器232-13、232-14、232-15、232-16、232-17、232-18、232-19、232-20、232-21、232-22、232-23、232-24及232-25可用以定义在ai操作期间使用的神经网络。寄存器232-13、232-14、232-15、232-16、232-17、232-18、232-19、232-20、232-21、232-22、232-23、232-24及232-25可定义在ai操作期间使用的神经网络的神经元及/或层的大小、数目及位置。
41.寄存器232-26可启用ai加速器的调试/保持模式及将在ai操作的层处观察到的输出。寄存器232-26可指示应在ai操作期间应用激活且ai操作可在ai操作中步进(例如,执行ai操作中的下一步骤)。寄存器232-26可指示层的输出经定位在其中的临时块是有效的。临时块中的数据可由主机及/或存储器装置上的控制器来改变,使得可随着ai操作步进而在ai操作中使用经改变数据。寄存器232-27、232-28及232-29可定义其中调试/保持模式将停止ai操作的层,改变神经网络的内容及/或观察层的输出。
42.寄存器232-30、232-31、232-32及232-33可定义在ai操作中使用的临时存储体的大小以及在ai操作中使用的临时存储体的起始地址及结束地址。寄存器232-30可定义在ai操作中使用的第一临时存储体的起始地址及结束地址且寄存器232-33可定义在ai操作中使用的第一临时存储体的起始地址及结束地址。寄存器232-31及232-32可定义在ai操作中使用的临时存储体的大小。
43.寄存器232-34、232-35、232-36、232-37、232-38及232-39可与在ai操作中使用的激活函数相关联。寄存器232-34可启用激活函数块的使用,启用每一神经元的激活函数、每一层的激活函数的使用,且启用外部激活函数的使用。寄存器232-35可定义激活函数的位置的起始地址及结束地址。寄存器232-36、232-37、232-38及232-39可定义所述激活函数及/或自定义激活函数的输入(例如,x轴)及输出(例如,y轴)的分辨率。
44.寄存器232-40、232-41、232-42、232-43及232-44可定义在ai操作中使用的偏差值的大小、在ai操作中使用的偏差值的数目以及在ai操作中使用的偏差值的起始地址及结束地址。
45.寄存器232-45可提供用于ai计算的状态信息且提供用于调试/保持模式的信息。寄存器232-45可启用调试/保持模式,指示ai加速器正在执行ai操作,指示应使用ai加速器的全部能力,指示应仅进行ai操作的矩阵计算,及/或指示ai操作可前进到下一神经元及/或层。
46.寄存器232-46可提供关于ai操作的错误信息。寄存器232-46可指示ai操作的序列中存在错误,ai操作的算法中存在错误,数据的页面中存在ecc不能校正的错误及/或数据的页面中存在ecc能够校正的错误。
47.寄存器232-47可指示将在ai操作中使用的激活函数。寄存器232-47可指示可在ai
操作中使用数个预定义激活函数中的一者及/或可在ai操作中使用定位在块中的自定义激活函数。
48.寄存器232-48、232-49及232-50可指示其中ai操作正在执行的神经元及/或层。在其中在ai操作期间出现错误的情况下,寄存器232-48、232-49及232-50其中出现错误的神经元及/或层。
49.图3a及3b是根据本公开的数个实施例的具有人工智能(ai)加速器的存储器装置上的数个寄存器中的数个位的框图。每一寄存器332-0、

、332-50可包含数个位,位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7,以指示与执行ai操作相关联的信息。
50.寄存器332-0可定义与存储器装置的ai模式相关联的参数。寄存器332-0的位334-5可为读取/写入位且可在编程为1b时指示ai操作的细化可在开始时重新起始360。一旦ai操作已重新起始,寄存器332-0的位334-5就可被复位为0b。寄存器332-0的位334-4可为读取/写入位且可在编程为1b时指示ai操作的细化可起始361。一旦ai操作已起始,寄存器332-0的位334-4就可被复位为0b。
51.寄存器332-0的位334-3可为读取/写入位并可在编程为1b时指示ai寄存器的内容是有效的362且在编程为0b时指示ai寄存器的内容是无效的。寄存器332-0的位334-2可为读取/写入位且可在编程为1b时指示ai寄存器的内容将被清除363。寄存器332-0的位334-1可为只读位并可在编程为1b时指示ai加速器在使用中363且正在执行ai操作。寄存器332-0的位334-0可为只写位且可在编程为1b时指示存储器装置退出365ai模式。
52.寄存器332-1、332-2、332-3、332-4及332-5可定义在ai操作中使用的输入的大小、在ai操作中使用的输入的数目以及在ai操作中使用的输入的起始地址及结束地址。寄存器332-1及332-2的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可定义在ai操作中使用的输入的大小366。输入的大小可根据位的数目及/或输入的类型(例如浮点、整数及/或双精度,以及其它类型)来指示输入的宽度。寄存器332-3及332-4的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可指示在ai操作中使用的输入的数目367。寄存器332-5的位334-4、334-5、334-6及334-7可指示在ai操作使用的输入的存储器阵列中的块的起始地址368。寄存器332-5的位334-0、334-1、334-2及334-3可指示在ai操作中使用的输入的存储器阵列中的块的结束地址369。如果起始地址368及结束地址369是同一地址,那么指示仅一个输入块用于ai操作。
53.寄存器332-7、332-8、332-9、332-10及332-11可定义ai操作的输出的大小、ai操作中的输出的数目以及ai操作的输出的起始地址及结束地址。寄存器332-7及332-8的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可定义在ai操作中使用的输出的大小370。输出的大小可根据位的数目及/或输出的类型(例如浮点、整数及/或双精度,以及其它类型)来指示输出的宽度。寄存器332-9及332-10的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可指示在ai操作中使用的输出的数目371。寄存器332-11的位334-4、334-5、334-6及334-7可指示在ai操作中使用的输出的存储器阵列中的块的起始地址372。寄存器332-11的位334-0、334-1、334-2及334-3可指示在ai操作中使用的输出的存储器阵列中的块的结束地址373。如果起始地址372及结束地址373是同一地址,那么指示仅一个输出块用于ai操作。
54.寄存器332-12可用以启用在ai操作期间使用的输入存储体、神经元存储体、输出
存储体、偏差存储体、激活函数及临时存储体的使用。寄存器332-12的位334-0可启用输入存储体380,寄存器332-12的位334-1可启用神经网络存储体379,寄存器332-12的位334-2可启用输出存储体378,寄存器332-12的位334-3可启用偏差存储体377,寄存器332-12的位334-4可启用激活函数存储体376,且寄存器332-12的位334-5及334-6可启用第一临时375存储体及第二临时374存储体。
55.寄存器332-13、332-14、332-15、332-16、332-17、332-18、332-19、332-20、332-21、332-22、332-23、332-24及332-25可用以定义在ai操作期间使用的神经网络。寄存器332-13及332-14的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可定义在ai操作中使用的矩阵中的行的数目381。寄存器332-15及332-16的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可定义在ai操作中使用的矩阵中的列的数目382。
56.寄存器332-17及332-18的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可定义在ai操作中使用的神经元的大小383。神经元的大小可根据位的数目及/或输入的类型(例如浮点、整数及/或双精度,以及其它类型)来指示神经元的宽度。寄存器332-19、332-20及322-21的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可指示在ai操作中使用的神经网络的神经元的数目384。寄存器332-22的位334-4、334-5、334-6及334-7可指示在ai操作中使用的神经元的存储器阵列中的块的起始地址385。寄存器332-5的位334-0、334-1、334-2及334-3可指示在ai操作中使用的神经元的存储器阵列中的块的结束地址386。如果起始地址385及结束地址386是同一地址,那么指示仅一个神经元块用于ai操作。寄存器332-23、332-24及322-25的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可指示在ai操作中使用的神经网络的层的数目387。
57.寄存器332-26可启用ai加速器的调试/保持模式及将在ai操作的层处观察到的输出。寄存器332-26的位334-0可指示ai加速器处于调试/保持模式且应在ai操作期间应用391激活函数。寄存器332-26的位334-1可指示ai操作可在ai操作中步进390(例如,执行ai操作中的下一步骤)。寄存器232-26的位334-2及位334-3可指示层的输出经定位在其中的临时块是有效的388及389。临时块中的数据可由主机及/或存储器装置上的控制器来改变,使得可随着ai操作步进而在ai操作中使用经改变数据。
58.寄存器332-27、332-28及332-29的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可定义其中调试/保持模式将停止392ai操作的层且观察层的输出。
59.寄存器332-30、332-31、332-32及332-33可定义在ai操作中使用的临时存储体的大小以及在ai操作中使用的临时存储体的起始地址及结束地址。寄存器332-30的位334-4、334-5、334-6及334-7可定义在ai操作中使用的第一临时存储体的起始地址393。寄存器332-30的位334-0、334-1、334-2及334-3可定义在ai操作中使用的第一临时存储体的结束地址394。寄存器332-31及332-32的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可定义在ai操作中使用的临时存储体的大小395。临时存储体的大小可根据位的数目及/或输入的类型(例如浮点、整数及/或双精度,以及其它类型)来指示临时存储体的宽度。寄存器332-33的位334-4、334-5、334-6及334-7可定义在ai操作中使用的第二临时存储体的起始地址396。寄存器332-34的位334-0、334-1、334-2及334-3可定义在ai操作中使用的第二临时存储体的结束地址397。
60.寄存器332-34、332-35、332-36、332-37、332-38及332-39可与在ai操作中使用的
激活函数相关联。寄存器332-34的位334-0可启用激活函数块3101。寄存器332-34的位334-1可实现将那个ai保持在神经元处3100及针对每一神经元使用激活函数。寄存器332-34的位334-2可实现将所述ai保持在层处399及针对每一层使用激活函数。寄存器332-34的位334-3可实现外部激活函数398的使用。
61.寄存器332-35的位334-4、334-5、334-6及334-7可定义在ai操作中使用的激活函数存储体的起始地址3102。寄存器332-35的位334-0、334-1、334-2及334-3可定义在ai操作中使用的激活函数存储体的结束地址3103。寄存器332-36及332-37的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可定义所述激活函数的输入(例如,x轴)的分辨率3104。寄存器332-38及332-39的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可针对自定义激活函数的给定x轴值定义所述激活函数的分辨率及/或输出(例如,y轴)3105。
62.寄存器332-40、332-41、332-42、332-43及332-44可定义在ai操作中使用的偏差值的大小、在ai操作中使用的偏差值的数目以及在ai操作中使用的偏差值的起始地址及结束地址。寄存器332-40及332-41的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可定义在ai操作使用的偏差值的大小3106。偏差值的大小可根据位的数目及/或偏差值的类型(例如浮点、整数及/或双精度,以及其它类型)来指示偏差值的宽度。寄存器332-42及332-43的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可指示在ai操作中使用的偏差值的数目3107。寄存器332-44的位334-4、334-5、334-6及334-7可指示在ai操作中使用的偏差值的存储器阵列中的块的起始地址3108。寄存器332-44的位334-0、334-1、334-2及334-3可指示在ai操作中使用的偏差值的存储器阵列中的块的结束地址3109。如果起始地址3108及结束地址3109是同一地址,那么指示仅一个偏差值块用于ai操作。
63.寄存器332-45可提供用于ai计算的状态信息且提供用于调试/保持模式的信息。寄存器332-45的位334-0可激活调试/保持模式3114。寄存器的位334-1可指示ai加速器是忙碌的3113且正在执行ai操作。寄存器332-45的位334-2可指示ai加速器是开启的3112及/或应使用ai加速器的全部能力。寄存器332-45的位334-3可指示应仅进行ai操作的矩阵计算3111。寄存器332-45的位.334-4可指示ai操作可步进3110且前进到下一神经元及/或层。
64.寄存器332-46可提供关于ai操作的错误信息。寄存器332-46的位334-3可指示ai操作的序列中存在错误3115。寄存器332-46的位334-2可指示ai操作的算法中存在错误3116。寄存器332-46的位334-1可指示数据的页面中存在ecc不能校正的错误3117。寄存器332-46的位334-0可指示数据的页面中存在ecc能够校正的错误3118。
65.寄存器332-47可指示将在ai操作中使用的激活函数。寄存器332-47的位334-0、334-1、334-2、334-3、334-4、334-5及334-6可指示可在ai操作中使用数个预定义激活函数中的一者3120。寄存器332-47的位334-7可指示可在ai操作中使用定位在块中的自定义激活函数3119。
66.寄存器332-48、332-49及332-50可指示其中ai操作正在执行的神经元及/或层。寄存器332-48、332-49及332-50的位334-0、334-1、334-2、334-3、334-4、334-5、334-6及334-7可指示其中ai操作正在执行的神经元及/或层的地址。在其中在ai操作期间出现错误的情况下,寄存器332-48、332-49及332-50可指示其中出现错误的神经元及/或层。
67.图4是根据本公开的数个实施例的具有人工智能(ai)加速器的存储器装置的数个
块的框图。输入块440是存储器阵列中的存储输入数据的块。输入块440中的数据可用作ai操作的输入。可在寄存器5(例如图2中的寄存器232-5及图3a中的332-5)中指示输入块440的地址。实施例不限于一个输入块,因为可存在数个输入块。数据输入块440可从主机发送到存储器装置。数据可伴随指示应使用数据来在存储器装置上执行ai操作的命令。
68.输出块420是存储器阵列中的存储来自ai操作的输出数据的块。输出块442中的数据可用以存储来自ai操作的输出且发送到主机。可在寄存器11(例如图2中的寄存器232-11及图3a中的332-11)中指示输出块442的地址。实施例不限于一个输出块,因为可存在数个输出块。
69.可在完成及/或保持ai操作时将输出块442中的数据发送到主机。临时块444-1及444-2可为存储器阵列中的在执行ai操作时临时存储数据的块。数据可在ai操作正在迭代通过用于ai操作的神经网络的神经元及层时存储在临时块444-1及444-2中。可在寄存器30及33(例如图2中的寄存器232-30及232-33以及图3b中的332-30及332-33)中指示临时块448的地址。实施例不限于两个临时块,因为可存在数个临时块。
70.激活函数块446是存储器阵列中的存储用于ai操作的激活函数的块。激活函数块446可存储由主机及/或ai加速器创建的预定义激活函数及/或自定义激活函数。可在寄存器35(例如图2中的寄存器232-35及图3b中的332-35)中指示激活函数块448的地址。实施例不限于一个激活函数块,因为可存在数个激活函数块。
71.偏差值块448是存储器阵列中的存储用于ai操作的偏差值的块。可在寄存器44(例如图2中的寄存器232-44及图3b中的332-44)中指示偏差值块448的地址。实施例不限于一个偏差值块,因为可存在数个偏差值块。
72.神经网络块450-1、450-2、450-3、450-4、450-5、450-6、450-7、450-8、450-9及450-10是存储器阵列中的存储用于ai操作的神经网络的块。神经网络块450-1、450-2、450-3、450-4、450-5、450-6、450-7、450-8、450-9及450-10可存储在ai操作中使用的神经元及层的信息。可在寄存器22(例如图2中的寄存器232-22及图3a中的332-22)中指示神经网络块450-1、450-2、450-3、450-4、450-5、450-6、450-7、450-8、450-9及450-10的地址。
73.图5是说明根据本公开的数个实施例的具有人工智能(ai)加速器的存储器装置中的实例人工智能过程的流程图。响应于起始ai操作,ai加速器可将输入数据540及神经网络数据550分别写入到输入及神经网络块。ai加速器可使用输入数据540及神经网络数据550来执行ai操作。可将结果存储在临时存储体544-1及544-2中。临时存储存储体544-1及544-2可用以在执行矩阵计算、添加偏差数据的同时存储数据,及/或在ai操作期间应用激活函数。
74.ai加速器可接收存储在临时存储体544-1及544-2中的ai操作的部分结果以及偏差值数据548且使用ai操作的部分结果偏差值数据548来执行ai操作。结果可经存储在临时存储体544-1及544-2中。
75.ai加速器可接收存储在临时存储体544-1及544-2中的ai操作的部分结果以及激活函数数据546且使用ai操作的部分结果及激活函数数据546来执行ai操作。结果可经存储在输出存储体542中。
76.图6是说明根据本公开的数个实施例的用以复制数据的实例方法的流程图。图6中所描述的方法可由例如包含例如图1a及1b中所展示的存储器装置120的存储器装置的存储
器系统来执行。
77.在框6150处,所述方法可包含接收包括第一地址及第二地址的命令,第一地址识别存储用于训练或推理操作的数据的第一存储器装置且第二地址识别作为数据的目标的第二存储器装置。所述方法可包含将数据从第一存储器装置复制到存储器系统的第二存储器装置。例如,第一存储器装置可将输出块复制到第二存储器装置的输入块。主机及/或控制器可格式化数据以存储在第二存储器装置上且用于ai操作中。
78.在框6152处,所述方法可包含响应于所述命令且至少部分地基于所述命令的第一地址及第二地址而将数据从第一装置传输到第二装置。所述方法可包含通过对第二存储器装置上的寄存器进行编程以进入人工智能(ai)模式来启用第二存储器装置来执行人工智能(ai)操作。
79.在框6154处,所述方法可包含使用来自第一装置的数据来在第二存储器装置处执行训练或推理操作。所述方法可包含使用从第一存储器装置复制的数据来在第二存储器装置上执行人工智能(ai)操作。所述方法可包含在耦合在一起的存储器装置之间复制数据。例如,当神经网络的密度太大而无法存储在单个存储器装置上时,可在存储器装置之间复制输入、输出及/或临时块以执行神经网络的ai操作。
80.尽管本文中已说明及描述特定实施例,但所属领域的一般技术人员将明白,经计算以实现相同结果的布置可替换所展示的特定实施例。本公开意在涵盖本公开的各个实施例的调适或变动。应理解,以上描述是以说明性方式而非限制性方式进行。在审阅以上描述后,以上实施例的组合及本文中未具体地描述的其它实施例对于所属领域的一般技术人员来说将是显而易见的。本公开的各个实施例的范围包含其中使用以上结构及方法的其它应用。因此,本公开的各个实施例的范围应参考所附权利要求书及此权利要求书被赋予的等效物的全范围来确定。
81.在前述具体实施方式中,出于简化本公开的目的而将各种特征分组在单个实施例中。本公开方法不应被解释为反映本公开的所公开实施例必须使用比每一权利要求中明确地陈述的特征更多的特征的意图。相反,如所附权利要求书所反映,发明主题在于少于单个所公开实施例的所有特征。因此,所附权利要求书由此并入到具体实施方式中,其中每一权利要求独立作为单独实施例。

技术特征:


1.一种设备,其包括:控制器;及数个存储器装置,其耦合到所述控制器,其中所述数个存储器装置中的每一者经配置为神经网络的部分并包含数个存储器阵列且其中所述控制器经配置以:发送用以将数据从第一存储器装置复制到第二存储器装置且在所述第二存储器装置上执行训练或推理操作的命令,其中所述命令包括第一地址及第二地址,所述第一地址识别存储与所述训练或推理操作相关联的数据的所述第一存储器装置且所述第二地址识别作为所述数据的目标的所述第二存储器装置。2.根据权利要求1所述的设备,其中所述命令指示所述第一存储器阵列从所述第一存储器装置中的存储器阵列读取数据且将所述数据发送到所述第二存储器阵列。3.根据权利要求1所述的设备,其中所述命令指示所述第二存储器阵列接收所述数据且将所述数据写入到所述第二存储器阵列中的存储器阵列。4.根据权利要求1到3中任一权利要求所述的设备,其中所述命令选择所述第一存储器装置及所述第二存储器装置以在由所述数个存储器装置共享的总线上传送数据。5.根据权利要求1到3中任一权利要求所述的设备,其中所述命令启用所述第二存储器装置使其进入人工智能(ai)模式以执行ai操作。6.根据权利要求1到3中任一权利要求所述的设备,其中输入数据从所述第一存储器装置复制到所述第二存储器装置。7.根据权利要求1到3中任一权利要求所述的设备,其中神经网络数据从所述第一存储器装置复制到所述第二存储器装置。8.一种系统,其包括:控制器;及数个存储器装置,其耦合到所述控制器,其中所述数个存储器装置中的每一者经配置为神经网络的部分并包含数个存储器阵列且其中所述控制器经配置以:发送用以在第一存储器装置上执行第一训练或推理操作的第一命令;发送用以将数据从所述第一存储器装置复制到第二存储器装置且在所述第二存储器装置上执行第二训练或推理操作的第二命令,其中所述命令包括第一地址及第二地址,所述第一地址识别存储与所述第一训练或推理操作相关联的数据的所述第一存储器装置且所述第二地址识别作为所述数据的目标的所述第二存储器装置。9.根据权利要求8所述的系统,其中所述控制器经配置以将第一输入数据发送到所述第一存储器装置且将第二输入数据发送到所述第二存储器装置。10.根据权利要求8所述的系统,其中神经网络数据从所述第一存储器装置复制到所述第二存储器装置。11.根据权利要求10所述的系统,其中所述神经网络数据被所述第一存储器装置用以执行所述第一训练或推理操作且被所述第二存储器装置用以执行所述第二训练或推理操作。12.根据权利要求8所述的系统,其中所述控制器经配置以将输入数据发送到所述第一存储器装置及所述第二存储器装置。13.根据权利要求8所述的系统,其中输入数据从所述第一存储器装置复制到所述第二
存储器装置。14.根据权利要求8所述的系统,其中激活函数数据从所述第一存储器装置复制到所述第二存储器装置。15.一种方法,其包括:接收包括第一地址及第二地址的命令,所述第一地址识别存储用于训练或推理操作的数据的第一存储器装置且所述第二地址识别作为所述数据的目标的第二存储器装置;响应于所述命令且至少部分地基于所述命令的所述第一地址及所述第二地址而将数据从所述第一装置传输到所述第二装置;及使用来自所述第一装置的所述数据来在所述第二存储器装置处执行所述训练或所述推理操作。16.根据权利要求15所述的方法,其中将数据从所述第一存储器装置复制到所述第二存储器装置包含复制用于所述训练或推理操作的神经网络数据。17.根据权利要求15所述的方法,其中将数据从所述第一存储器装置复制到所述第二存储器装置包含复制用于所述训练或推理操作的输入数据。18.根据权利要求15到17中任一权利要求所述的方法,其进一步包含在所述第一存储器装置上执行另一训练或推理操作。19.根据权利要求15到17中任一权利要求所述的方法,其进一步包含响应于接收包括所述第一地址及第三地址的另一命令而将所述数据从所述第一存储器装置复制到存储器系统的第三存储器装置,所述第一地址识别存储用于所述训练或推理操作的数据的所述第一存储器装置且所述第三地址识别作为所述数据的目标的所述第二存储器装置。20.根据权利要求19所述的方法,其进一步包含使用从所述第一存储器装置复制的所述数据来在所述第三存储器装置上执行另一训练或推理操作。

技术总结


本公开包含与在具有人工智能(AI)模式的存储器系统中复制数据相关的设备及方法。一种设备可接收指示所述设备在人工智能(AI)模式下操作的命令、用以基于数个寄存器的状态使用AI加速器来执行AI操作的命令及用以在正在执行AI操作的存储器装置之间复制数据的命令。所述存储器系统可将神经网络数据、激活函数数据、偏差数据、输入数据及/或输出数据从第一存储器装置复制到第二存储器装置,使得所述第一存储器装置可在第一AI操作中使用所述神经网络数据、激活函数数据、偏差数据、输入数据及/或输出数据,且所述第二存储器装置可在第二AI操作中使用所述神经网络数据、激活函数数据、偏差数据、输入数据及/或输出数据。输入数据及/或输出数据。输入数据及/或输出数据。


技术研发人员:

A

受保护的技术使用者:

美光科技公司

技术研发日:

2020.08.27

技术公布日:

2022/4/8

本文发布于:2024-09-22 01:00:11,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/15055.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:存储器   寄存器   操作   装置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议