基于人工智能应用程序的数据储存的装置、系统和方法制造方法及图纸

技术编号:23445570 阅读:21 留言:0更新日期:2020-02-28 19:49
本发明专利技术公开了一种基于人工智能应用程序的数据储存的设备、系统和方法。处理器接收输入数据进行处理。在判断输入数据对应人工智能应用程序后,处理器产生人工智能命令,用于对存储装置进行读取或写入操作。存储装置配置为存储包括在人工智能应用程序的多种应用程序的数据。人工智能命令以操作代码为特征,并包括人工智能应用程序的一个或多个元件中,对应于输入数据的信息。处理器将人工智能命令和输入数据发送到存储控制器,存储控制器管理存储装置,其中存储装置由存储控制器使用操作代码和人工智能命令中包含的信息,执行存储装置的读取或写入操作。处理器接收在存储装置上执行的读取或写入操作的结果。

Device, system and method of data storage based on AI application program

【技术实现步骤摘要】
基于人工智能应用程序的数据储存的装置、系统和方法
本专利技术属于人工智能领域,涉及一种基于人工智能应用程序的数据储存的装置、系统和方法。
技术介绍
一些存储装置的存储控制器(也称为记忆控制器),使用基于文件的管理,来管理存储装置中的数据存储。这种存储控制器采用文件/闪存转换层(file/flashtranslationlayer,FTL),以对应(map)各应用程序的逻辑区块地址(logicalblockaddress),到各个存储装置的物理区块地址(physicalblockaddress)。
技术实现思路
本案的公开内容描述了用于存储在存储装置中人工智能(AI)为基础的应用程序,其管理数据存取的设备、系统和方法。在一些实施方式中,存储装置包括存储控制器,其用于通过耦合到存储装置的一个或多个处理器,以管理存储装置的存取。处理器向存储控制器,发送用于存取存储装置中存储位置的命令,例如读取命令或写入命令,或两者。命令可用于人工智能应用程序的数据存取,也可用于非人工智能应用程序(后续称为常规应用程序)。对于非人工智能应用程序命令(也称为非人工智能命令),存储控制器加载目标存储分页或存储区块,以通过处理器执行直接存取。对于人工智能应用程序命令(也称为人工智能命令),存储控制器在存储装置执行本地存取操作,并发送操作结果回至处理器。在执行本地人工智能命令的存取操作中,存储控制器利用适合人工智能的独特结构的各种优化。例如,在一些实施方式中,人工智能应用程序对应于人工神经网络(artificialneuralnetwork,ANN)。在其中一些实施方式中,存储控制器存储人工智能数据的位,例如,存储人工神经网络的特定神经元的权重(weighting),于存储存储装置的相同分页(page)中。或者,存储控制器将权重分组,并将各组存储在相同分页中,不同组分别在不同分页。在其中一些实施方式中,表示权重的数据中最高有效位(mostsignificantbits、MSB)比数据中最低有效位(Leastsignificantbits,LSB)更重要。在这种情况下,存储控制器将最高有效位存储在单层单元(singlelevelcel1,SLC)中,并将最低有效位存储在多层单元(multi-levelcell,MLC)、三层单元中(triple-levelcell,TLC)、或四层单元中(quad-levelcell,QLC)。可附加地或可替代地,存储控制器存储具有纠错码(errorcorrectingcode,ECC)的最高有效位,其纠错码大于最低有效位的纠错码。在一些实施方式中,人工神经网络的一些神经元比人工神经网络中其他神经元更重要。在这种情况下,存储控制器存储单层单元中重要神经元的权重,而其他神经元的权重存储在多层单元、三层单元、或四层单元中。在一些实施方式中,存储控制器复制在多个存储分页中神经元的重要权重以提供备份。在一些实施方式中,存储控制器将经常存取的神经元,存储在存储存储装置的记录区域中,同时存储其他神经元在常规存储装置中(例如,存储存储装置的非记录区域)。一般而言,一设备可包括存储命令的一个或多个处理器和介质多个非瞬时介质(non-transitorymedia)。当由一个或多个处理器执行时,指令被配置为引发一个或多个处理器执行以下操作。一个或多个处理器从输入设备接收输入数据,以进行处理。在判断输入数据对应于人工智能应用程序的条件下,一个或多个处理器产生用于执行一个或多个用于存储装置的读取或写入操作的人工智能命令,此存储装置用于存储由一个或多个处理器处理的多个应用程序的数据,其中多个应用程序包括人工智能应用程序。人工智能命令以操作代码为特征,其包括与输入数据对应的人工智能应用程序的一个或多个元件的信息。一个或多个处理器将人工智能命令和输入数据,发送到管理存储装置的存储控制器。存储装置的一个或多个读取或写入的操作,由存储控制器通过操作代码和包括人工智能命令的信息所执行。一个或多个处理器从存储控制器,接收在存储装置上执行的一个或多个读取或写入操作的结果。根据本专利技术的特定实施方式,可以包括以下一个或多个特征。在判断输入数据对应于包括多个应用程序中的非人工智能应用程序的条件下,一个或多个处理器可存取存储装置中对应于输入数据的一个或多个存储位置,也可在存取的一个或多个存储位置上,执行一次或多次读写操作。人工智能应用程序的一个或多个元件(component),可以在人工神经网络中包括一个或多个神经元(neuron)。输入数据可包括,与一个或多个神经元连接的一个或多个输入或输出的对应权重。操作代码可对应于(i)人工神经网络中特定神经元的单独读取或写入、(ii)人工神经网络中特定神经元的多个单独读取或写入、或(iii)人工神经网络中特定神经元的批量读取或写入。根据本专利技术的设备,还可以包括配置为执行以下操作的存储控制器:当存储控制器从一个或多个处理器接收到人工智能命令,可从人工智能命令所包括的信息中,获取对应于一个或多个神经元中第一神经元的输入连接或输出连接的一权重集合。存储控制器可以将权重集合与第一神经元进行联接。存储控制器可在存储装置的一特定分页或区块中,存储第一神经元的权重集合,以响应权重集合与第一神经元的联接。存储装置的特定分页,用于存储与第一神经元相关的权重。响应权重集合与第一神经元的联接,存储控制器可以将权重集合划分为第一子集和第二子集。存储控制器可以将第一子集存储在存储装置中一第一通道(channel)的相同分页或区块中,然后存储第二子集在存储装置中一第二通道的相同分页或区块中。存储控制器从一个或多个处理器接收到人工智能命令后,可以从人工智能命令中获取包括的信息,其为对应于一个或多个神经元中,第一神经元的一个或多个输入连接或输出连接的神经元的权重集合。存储控制器可判断权重集合中一第一权重是否具有第一重要值、以及权重集合中一第二权重是否具有第二重要值,其中第二重要值小于第一重要值。响应此判断,存储控制器可以将第一权重,存储存储装置的第一分页的一单层单元中,将第二权重,存储在存储装置的第二分页的多层单元、三层单元、或四层单元中。存储控制器可判断权重集合的第一权重,具有权重集合的第一重要值,以及第二权重具有权重集合的第二重要值,其中第二重要值小于第一重要值。响应此判断,存储控制器可以将第一权重存储在存储装置的分页或区块中,并复制在存储装置的至少一个附加分页的第一权重,并可以无复制的方式将第二权重存储在存储装置的一分页或一区块中。从一个或多个处理器接收到人工智能命令时,存储控制器可进一步获得一个或多个神经元中,第二神经元的输入连接或输出连接中的一个或多个第二组权重。存储控制器可判断第一神经元比第二神经元更频繁地被存取,并判断第二神经元与一个或多个神经元中其他神经元,具有相同的存取速率。响应于此判断,存储控制器可以将权重集合的第一组,存储在用于记录的存储装置的第一区域中,并将权重集合的第二组,存储在用于记录的存储装置的第二区域中,用于长期存放而非记录(logging)。存储控制器可判本文档来自技高网...

【技术保护点】
1.一种设备,包括:/n一个或多个处理器;以及/n多个非瞬时介质,用以存储多个指令,当这些指令由该一个或多个处理器执行时,该一个或多个处理器配置为执行下列操作:/n从一输入设备接收用以处理的输入数据;以及/n当判断该输入数据为对应人工智能应用程序,执行下列步骤:/n产生人工智能命令,用于对一存储装置执行一个或多个读取或写入操作,该存储装置配置为存储该一个或多个处理器所处理的多个应用程序,这些应用程序包含一人工智能应用程序,该人工智能命令以操作代码为特征,该人工智能命令包括对应该输入数据的该人工智能应用程序中一个或多个元件的信息;/n将该人工智能命令和该输入数据发送到一存储控制器,以管理该存储装置,其中该存储控制器使用该操作代码以及该信息,以执行该存储装置的该一个或多个读取或写入操作,该信息包含该人工智能命令;以及/n从该存储控制器接收在该存储装置上执行的该一个或多个读取或写入操作的结果。/n

【技术特征摘要】
20180820 US 15/999,6041.一种设备,包括:
一个或多个处理器;以及
多个非瞬时介质,用以存储多个指令,当这些指令由该一个或多个处理器执行时,该一个或多个处理器配置为执行下列操作:
从一输入设备接收用以处理的输入数据;以及
当判断该输入数据为对应人工智能应用程序,执行下列步骤:
产生人工智能命令,用于对一存储装置执行一个或多个读取或写入操作,该存储装置配置为存储该一个或多个处理器所处理的多个应用程序,这些应用程序包含一人工智能应用程序,该人工智能命令以操作代码为特征,该人工智能命令包括对应该输入数据的该人工智能应用程序中一个或多个元件的信息;
将该人工智能命令和该输入数据发送到一存储控制器,以管理该存储装置,其中该存储控制器使用该操作代码以及该信息,以执行该存储装置的该一个或多个读取或写入操作,该信息包含该人工智能命令;以及
从该存储控制器接收在该存储装置上执行的该一个或多个读取或写入操作的结果。


2.根据权利要求1所述的设备,其中所述操作还包括:
当判断该输入数据对应于这些应用程序中一非人工智能应用程序,由该一个或多个处理器存取对应于该存储装置中的该输入数据的一个或多个存储位置;以及
在该存取一个或多个存储位置上执行一个或多个读取或写入操作。


3.根据权利要求1所述的设备,其中:
该人工智能应用程序的该一个或多个元件,包含在一人工神经网络中的一个或多个神经元;
该输入数据包括与该一个或多个神经元中的每一个神经元的输入连接或输出连接中的一个或多个对应的权重;以及
该操作代码对应于(i)该人工神经网络中一特定神经元的一单独读取或写入、(ii)在该人工神经网络中这些神经元的多个单独读取或写入、或(iii)在该人工神经网络中一批量神经元的一批量读取或写入。


4.根据权利要求3所述的设备,进一步包括该存储控制器,其中该存储控制器配置为执行的操作包括:
从该一个或多个处理器接收到该人工智能命令后,从该人工智能命令中包含的信息中获取对应该一个或多个神经元中的一第一神经元的该一个或多个输入连接或输出连接的一权重集合;
将联接该权重集合与该第一神经元;以及
响应于该权重集合与该第一神经元的联接,将联接该第一神经元的该权重集合,存储于该存储装置的一特定分页或区块,其中该存储装置的该特定分页,配置为存储联接该第一神经元的该权重集合。


5.根据权利要求3所述的设备,进一步包括该存储控制器,其中该存储控制器配置为执行的操作包括:
从该一个或多个处理器接收到该人工智能命令后,从该人工智能命令包含的该信息中获取一权重集合,该权重集合对应该一个或多个神经元中的一第一神经元的一个或多个输入连接或输出连接;
将联接该权重集合与该第一神经元;以及
响应于该权重集合与该第一神经元的联接:
将该权重集合划分为一第一子集和一第二子集;
将该第一子集存储在该存储装置的一第一通道的一相同分页或区块;以及
将该第二子集存储在该存储装置的一第二通道的一相同分页或区块。


6.根据权利要求3所述的设备,进一步包括该存储控制器,其中该存储控制器配置为执行的操作包括:
从该一个或多个处理器接收到该人工智能命令后,从该人工智能命令包含的该信息中获取一权重集合,该权重集合对应该一个或多个神经元中的一第一神经元的一个或多个输入连接或输出连接;
判断该权重集合的一第一权重具有一第一重要值、以及该权重集合的一第二权重具有一第二重要值,其中该第二重要值小于该第一重要值;以及
回应于该判断,执行以下步骤:
将该第一权重存储在该存储装置的一第一分页中一单层单元;以及
将该第二权重存储在该存储装置的一第二分页中一多层单元、一三层单元、或一四层单元。


7.根据权利要求3所述的设备,进一步包括该存储控制器,其中该存储控制器配置为执行的操作包括:
从该一个或多个处理器收到该人工智能命令后,从该人工智能命令中包含的该信息中,获取该一个或多个神经元中的一第一神经元的一个或多个输入连接或输出连接的一权重集合;
判断该权重集合的一第一权重具有一第一重要值、以及该权重集合的一第二权重具有一第二重要值,其中该第二重要值小于该第一重要值;以及
回应于该判断,执行以下步骤:
将该第一权重存储在该存储装置的一分页或区块,并在该存储装置的至少一个附加分页上复制第一权重;以及
将该第二权重存储在该存储装置的一分页或区块,该存储不包含复制。


8.根据权利要求3所述的设备,进一步包括该存储控制器,其中存储控制器配置为执行的操作包括:
从该一个或多个处理器接收到人工智能命令后,从该人工智能命令中包含的该信息中,获取该一个或多个神经元中的一第一神经元的一个或多个输入连接或输出连接中的一第一权重集合,以及该一个或多个神经元中的一第二神经元的一个或多个输入连接或输出连接中的一第二权重集合;
判断该第一神经元比该第二神经元更频繁地被存取,并且该第二神经元与该一个或多个神经元中的其他这些神经元以相同的速率被存取;以及
回应于该判断,执行以下步骤:
将该第一权重集合,存储在该存储装置的一第一区域,其用于记录;以及
将该第二权重集合,存储在该存储装置的一第二区域,其用于长期存储,非用于记录。


9.根据权利要求3所述的设备,进一步包括该存储控制器,其中该存储控制器配置为执行的操作包括:
从该一个或多个处理器收到该人工智能命令后,从该人工智能命令中包含的该信息中,获取该一个或多个神经元中的一第一神经元的一个或多个输入连接或输出连接的一权重集合;
判断该权重集合的一第一权重具有一特别重要值;
比较该特别重要值与一阈重要值;
当比较结果显示该特别重要值大于或等于该阈重要值,执行一完整纠错检查,该完整纠错检查作为该第一权重的该一个或多个读取或写入操作中一部分;以及
当比较结果表明该特殊重要值小于该阈重要值,执行一部分纠错检查,该部分纠错检查作为该第一权重的该一个或多个读取或写入操作中一部分,其中该部分纠错检查是对应该第一权重的该最高有效位之一所进行,或与对应该第一权重的该最低有效位所进行。


10.根据权利要求3所述的设备,进一步包括该存储控制器,其中该存储控制器配置为执行的操作包括:
从该一个或多个处理器收到该人工智能命令后,从该人工智能命令中包含的信息中,获取该一个或多个神经元中的一第一神经元的一个或多个输入连接或输出连接的一权重集合;
决定该权重集合中的各权重的一第一部分和一第二部分,其中各权重的该第一部分和该第二部分,分别对应于该权重的信息位的一第一分段和一第二分段,该第一分段和该第二分段的特征是对应的相对重要值;
存储该权重集合中这些权重的这些第一部分,在该存储装置的一第一分页中;以及
存储该权重集合中这些权重的这些第二部分,在该存储装置的一第二分页中;
其中,一第一次错误检查能力和一第二次不同错误检查能力分别对应该第一分页和该第二分页。


11.根据权利要求3所述的设备,进一步包括该存储控制器,其中该存储控制器配置为执行的操作包括:
从该一个或多个处理器收到该人工智能命令后,从该人工智能命令中包含的该信息中,获取该一个或多个神经元中的一第一神经元的输入连接或输出连接的一权重集合;
决定该权重集合的每个权重的一第一部分和一第二部分,其中各权重的该第一部分和该第二部分,可以分别对应于该权重的信息位的一第一分段和一第二分段,该第一分段和该第二分段的特征是对应的相对重要值;
将该权重集合中这些权重的这些第一部分,存储在该存储装置的一第一区块中;以及
存储该权重集合中这些权重的这些第二部分,在该存储装置的一第二区块中;
其中对应该第一区块的多个编程/擦除周期的数量,不同于对应该第二区块的多个编程/擦除周期的数量。


12.根据权利要求1所述的设备,其中该存储装置包括至少一第一分割区,用于存储这些应用程序中所包括的这些人工智能应用程序对应的数据;以及一第二分割区,用于存储这些应用程序中所包括的非人工智能应用程序对应的数据。


13.根据权利要求1所述的设备,其中该存储装置包括:一非易失性存储器、一通用闪存UFS,一快捷外设互联标准PCIe存储器、一相变存储器、一可变电阻式存储器、一磁阻式随机存取存储器、一动态随机存取存储器、一磁盘、或一光盘的其中之一。


14.一种系统,包括:
一个或多个处理器,其中,所述该一个或多个处理器中的每个处理器被配置为执行的第一操作,其包括:
从一输入设备接收用以处理的输入数据;
当判断输入数据为对应人工智能应用程序,执行下列步骤:
产生一人工智能命令,用于对一个或多个存储装置中的一特定存储装置,执行一个或多个读取或写入操作,该一个或多个存储装置配置为存储一个或多个多处理器所处理的多个应用程序,这些应用程序包含人工智能应用程序,该人工智能命令以一操作代码为特征,该人工智能命令包括对应该输入数据的该人工智能应用程序中一个或多个元件的信息;
将该人工智能命令和该输入数据发送到一存储控制器,以管理该特定存储装置,其中该存储控制器使用该操作代码以及该信息,以执行该存储装置的该一个或多个读取或写入操作,该信息包含该人工智能命令;以及
从该存储控制器接收在该特定存储装置上执行的该一个或多个读取或写入操作的结果;
其中,该人工智能应用程序的一个或多个元件包含一人工神经网络中一个或多个神经元;
该输入数据包括与该一个或多个神经元中的每一神经元的一个或多个输入连接或输出连接中的一个或多个对应的权重;以及
当判断该输入数据对应于这些应用程序中包含的一非人工智能应用程序:
存取该一个或多个存储装置中的一存储装置上,对应该输入数据的一个或多个存储装置;以及
执行一个或多个读取或写入操作,在该存取的一个或多个存储位置上;以及
一个或多个存储控制器,其中该一个或多个存储控制器中的每个存储控制器,管理一个或多个存储装置中的不同存...

【专利技术属性】
技术研发人员:赖俊宏张弘升
申请(专利权)人:旺宏电子股份有限公司
类型:发明
国别省市:中国台湾;71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1