用于处理大数据集的系统和方法与流程


用于处理大数据集的系统和方法
1.相关申请的交叉引用
2.本公开要求2020年11月2日提交的美国申请no.17/087,203的优先权权益,上述申请的全部内容通过引用合并于此。
技术领域
3.本公开涉及数据处理技术,尤其涉及一种用于处理大数据集的系统和方法。


背景技术:



4.许多最近和不断发展的领域的研究和商业应用都依赖于非常大的数据集,例如图数据。示例应用包括计算流体动力学、计算生物物理学、图像处理、基因组分析、电子商务、搜索引擎、机器学习以及包括图形神经网络(graph neural network,gnn)的神经网络。这类大数据集的大小可能超过10tb甚至更大。
5.大数据集的处理通常通过将数据集加载到动态随机存取存储器(dram)中来执行,动态随机存取存储器被配置作为部署在分布式计算机系统中的处理器的主存储器。例如,由于动态随机存取存储器是易失性的,因此必须首先将数据集从永久存储器(例如硬盘驱动器)转移到动态随机存取存储器中。这可能是一个不利的耗时的操作。将数据集加载到主存储器后,部分数据集需要从动态随机存取存储器读取到处理器,由处理器处理,然后写回动态随机存取存储器。不幸的是,动态随机存取存储器的访问时间,受到包括例如计算机数据总线带宽的限制,非常慢。例如,访问主存储器(dram)可能比处理器能够执行的操作慢一个数量级或更多。这可能导致不希望和/或不可接受的性能水平。此外,如此大容量的动态随机存取存储器(例如tb大小)的成本,加上支持如此大容量的动态随机存取存储器所需的计算机系统,通常被认为在商业上不可行,从而限制了这种非常大的数据集的使用。


技术实现要素:



6.本公开的一个目的是实现处理大数据集的装置。
7.因此,需要的是处理大数据集的系统和方法。另外需要的是能够克服从主存储器到处理器来回传输大数据集的带宽限制的处理大数据集的系统和方法。进一步地,需要的是能够与现有的处理大数据集(例如处理图)的系统和方法兼容和互补的处理大数据集的系统和方法。
8.根据本公开的实施例提供了一种装置,该装置包括:非易失性存储器单元的块阵列,位于集成电路管芯上;算术逻辑单元,位于集成电路管芯上上,所述算术逻辑单元耦合到块阵列。所述算术逻辑单元用于响应于从集成电路管芯外部接收的指令对块阵列的内容执行算术逻辑运算。非易失性存储器单元可以包括nand型闪存单元。
9.根据本公开的另一实施例提供了一种驱动控制器,该驱动控制器包括:接口,被配置为在功能上将驱动控制器耦合到多个存储器集成电路设备;总线接口,被配置为在功能上将驱动控制器耦合到计算机系统;以及数据集控制器,用于对存储在多个存储器集成电
路设备内的数据集执行数据集运算,而不通过总线接口传送数据集的内容。
10.根据本公开的另一实施例提供了一种固态驱动单元,该固态驱动单元包括多个芯片的非易失性存储器集成电路管芯。每个存储器集成电路管芯包括位于集成电路管芯上的非易失性存储器单元的块阵列,以及位于集成电路管芯上的与块阵列耦合的算术逻辑单元。算术逻辑单元用于响应于从集成电路管芯外部接收的指令对块阵列的内容执行算术逻辑运算。该固态驱动单元还包括:总线接口,被配置为在功能上将驱动单元耦合到计算机系统;和数据集控制器,用于对存储在多个非易失性存储器集成电路管芯中的数据集执行数据集运算,而不通过总线接口传输数据集的内容。
11.通过上述方案,使得可以克服从主存储器到处理器来回传输大数据集的带宽限制,从而高效处理大数据集。
附图说明
12.并入本说明书并构成本说明书一部分的附图示出了本公开的实施例,并与说明书一起用于解释本公开的原理。除非另有说明,否则附图可能没有按比例绘制。
13.图1示出本公开实施例的存储器集成电路的示例性框图。
14.图2示出本公开实施例的用于处理大数据集的新型驱动单元的示例性框图。
15.图3示出本公开实施例的发送到存储器集成电路的示例性指令。
16.图4示出本公开实施例的有助于处理超大数据集的示例性数据集。
17.图5示出一示例性电子系统的示例性框图,该电子系统可用作实现本公开实施例的平台。
具体实施方式
18.现在将详细参考本公开的各种实施例,其示例在附图中示出。虽然将结合这些实施例来描述本公开,但应理解,它们并不旨在将本公开限制于这些实施例。相反,本公开旨在涵盖可包括在如所附权利要求所定义的本公开的精神和范围内的替代、修改和等同物。此外,在本公开的以下详细描述中,为了提供对本公开的透彻理解,阐述了许多具体细节。然而,本领域普通技术人员将认识到,可以在没有这些具体细节的情况下实施本公开。在其他实例中,未详细描述公知的方法、过程、组件和电路,以避免不必要地模糊本公开的方面。
19.下文将基于与非门(nand)型闪存的固态驱动器(ssd)来描述本公开的实施例,该固态驱动器(ssd)通过高速外围组件互连(pcie)计算机扩展总线功能性地连接到计算机系统。这些描述是示例性的,而不是限制性的。应当理解,本公开的实施例非常适合于各种存储器单元技术,包括例如气泡存储器、nor型闪存、电阻随机存取存储器(reram)、导电桥接ram(cbram)、铁电ram(feram)、磁阻ram(mram)、铁电场效应晶体管(fefet)存储器、畴壁存储器(dwm)、碳纳米管存储器(nram)、千足存储器、电化学随机存取存储器(ecram)等。
20.类似地,本公开的实施例非常适合于计算机系统的各种功能连接,包括例如计算机扩展总线,例如,工业标准体系结构(isa)、扩展isa(eisa)、微通道、多总线、ieee 796、ieee 1196、ieee 1496、pci、计算机自动测量和控制(camac)、仪表总线(mbus)、跑道总线(runway bus)、计算机高速链路(cxl)等。此外,本公开的实施例非常适合于各种外围连接总线,例如,通用串行总线(usb)、高级技术附件(advanced technology attachment,ata)、
串行ata(sata)、ieee 1394、小型计算机系统接口(scsi)等。
21.图1示出本公开实施例的新型存储器集成电路100的示例性框图。尽管存储器集成电路100被示为nand型闪存,但这是示例性的,并且本公开的实施例不限于该存储器技术。此外,任何大小符号,例如阵列大小和/或总线宽度,是示例性的,而不是限制性的。
22.存储器集成电路100包括存储器单元的块阵列110,存储器单元例如,nand存储器单元。本领域的技术人员能够理解块阵列与其他类型的存储器(例如高速缓冲存储器或寄存器存储器)之间的区别。存储器单元的块阵列110包括多个平面,例如,n+1个,标记为平面0 120到平面n 130。例如,每个平面可以包括四千(4k)字节的存储器。存储器阵列经常被组织成包括多个存储器单元的块,被组织作为包括多个位线的多个字线。平面包括多个这样的块。在一些实施例中,每个平面具有相关联的预取缓冲器(例如平面0120的预取缓冲器122)以及相关联的输出缓冲器(例如平面0120的输出缓冲器123)。
23.存储器集成电路100还包括新型存储器级算术逻辑单元(alu)150。存储器级算术逻辑单元150与块阵列110相关联。在一些实施例中,存储器级算术逻辑单元150可以位于与块阵列110相同的集成电路管芯上。存储器级算术逻辑单元150被配置为对块阵列110的平面的预取缓冲器和输出缓冲器的内容执行逻辑和/或算术运算。例如,如图所示,存储器级算术逻辑单元150可以对平面0120的预取缓冲器122和平面0120的输出缓冲器123执行运算。存储器集成电路100可包括逻辑单元(未示出)以选择性地将预取缓冲器和输出缓冲器从块阵列110的任何平面路由到存储器级算术逻辑单元150。在一些实施例中,存储器级算术逻辑单元150可以使用存储器平面的缓冲器,例如平面0 120的预取缓冲器122和平面0 120的输出缓冲器123。在其他实施例中,缓冲器内容可以在专用于存储器级算术逻辑单元150的附加寄存器中复制。
24.存储器级算术逻辑单元150通常可以执行一组运算以便于处理给定数据集。根据本公开的实施例,可以实现任何合适的运算。典型的运算可以包括例如,加、减、乘、除、比较、移位、旋转、二进制补码(two’s complement)、乘积累加(mac)、或、异或等。存储器级算术逻辑单元150可以包括例如,组合逻辑单元、有限状态机和/或存储的程序处理单元以及以上任意组合,并且还可以包括微代码。存储器级算术逻辑单元150被配置为接收操作码以对来自可用操作的输入执行期望的运算,并将结果存储在累加寄存器170中。
25.图2示出本公开实施例的用于处理大数据集的新型驱动单元200的示例性框图。在一些实施例中,驱动单元200可被表征为固态驱动器(ssd)。驱动单元200包括存储器管芯阵列210,存储器管芯阵列210包括多个存储器集成电路211、212和213。通常会有比所示的三个更多的管芯。存储器集成电路211、212和213例如,可以包括图1的存储器集成电路100。根据本公开的实施例,存储器管芯阵列210的每个这样的管芯包括存储器级算术逻辑单元,例如图1的存储器级算术逻辑单元150。
26.驱动单元200包括存储器单元控制器220。众所周知,驱动单元(例如,固态驱动器)的存储设备(例如,存储器集成电路)通常不能直接与计算机总线和/或处理器(例如,处理器290)连接。存储器单元控制器220提供一系列功能以使驱动单元能够经由总线292在功能上与处理器交互,包括例如总线接口控制、逻辑到物理地址转换、读取、存储器单元编程(写入)、存储器单元擦除、磨损均衡、缺陷管理等。
27.根据本公开的实施例,存储器单元控制器220除了包括实现存储功能单元所需的
常规功能之外,还包括附加功能。存储器单元控制器220包括新型的数据集控制器230。在一些实施例中,数据集控制器可以与存储器单元控制器220共享硬件。数据集控制器230在其自身组件之间控制和分配数据集运算以及将数据集运算控制和分配给存储器管芯阵列210的存储器管芯100的存储器级算术逻辑单元,例如图1中的存储器级算术逻辑单元150。例如,单个数据集节点上的操作,或者存储在同一存储器管芯上的两个数据集节点之间的运算,可以按照数据集控制器230的指示,由那个特定管芯的存储器级算术逻辑单元执行。
28.数据集控制器230还能够执行数据集运算,例如,加、减、乘、除、比较、移位、旋转、二进制补码、乘积累加(mac)、和、或、异或、矩阵乘法、向量运算等。在一些实施例中,与存储器级算术逻辑单元150相比,数据集控制器230可以更有能力。例如,与存储器级算术逻辑单元150相比,数据集控制器230能够对更大量的数据执行更复杂的运算、不同的运算和/或以更快的方式执行。根据本公开的实施例,如果数据集运算需要存储在不同存储器管芯上的节点,则这样的数据集运算可以由数据集控制器230执行。数据集控制器230还可以执行被数据集控制器230的相对更大的计算能力增强的数据集运算。根据本公开的实施例,数据集控制器230可以从处理器290接收扩展的数据集运算命令。
29.数据集控制器230包括数据集放置控制功能单元240。数据集放置控制功能单元240可以包括例如,组合逻辑单元、有限状态机和/或存储的程序处理单元、及以上任何组合,并且还可以包括微码。数据集放置控制功能单元240将从处理器290接收的数据放置到存储器管芯阵列210中的某个位置和一数据结构中,该数据结构有助于处理非常大的数据集,并且便于存储器级算术逻辑单元进行运算。例如,数据集放置控制功能单元240尝试将逻辑上相邻的节点和/或边放置在物理上邻近的同一存储器集成电路内,例如存储器集成电路100(图1),以便启用该存储器集成电路的存储器级算术逻辑单元(例如存储器级算术逻辑单元150(图1))来执行数据集运算。下面的图4示出了示例性的数据集组织。
30.数据集控制器230包括数据集数据获取和预取控制功能单元250。数据获取和预取控制功能单元250可以包括例如,组合逻辑单元、有限状态机和/或存储的程序处理单元、以及以上任何组合,并且还可以包括微码。数据获取和预取控制功能单元250可用于访问数据集的数据值,例如,通过访问和跟踪指向数据集中此类数据的指针和/或链接。例如,根据下面进一步描述的图4中的数据集组织的实施例,数据获取和预取控制功能单元250可以从元带420(图4)访问向量元地址,从特征地址带430(图4)访问向量特征数据的地址,并利用向量特征数据的地址来查和/或访问存储在特征数据带440(图4)中的向量特征数据。
31.数据集控制器230包括数据集加速器270。数据集加速器270可以包括例如,组合逻辑、有限状态机和/或存储的程序处理单元、以及以上任何组合,并且还可以包括微码。数据集加速器270可用于执行广泛的数据集操作,包括例如,如先前所述的关于存储器级算术逻辑单元(alu)150(图1)的算术逻辑单元(alu)类型的运算。在一些实施例中,数据集加速器270可包括在存储器级算术逻辑单元(alu)中未示出的用于数据集处理的附加功能。这种附加功能可包括例如矩阵乘法和/或向量处理单元(vpu)。
32.通常,数据集加速器270用来执行不适于存储器级算术逻辑单元(alu)的数据集运算。例如,位于第一管芯中的存储器级算术逻辑单元(alu)可能不适于执行需要存储在第二管芯中的操作数的运算。在一些实施例中,数据集加速器270能够进行超出存储器级算术逻辑单元(alu)能力的运算。在一些实施例中,数据集加速器270可以比存储器级算术逻辑单
元(alu)更有效地执行运算,例如更快地执行运算。
33.数据集控制器230包括卸载数据集运算到存储器管芯阵列的功能单元260。卸载数据集运算到存储器管芯阵列的功能单元260可以包括例如,组合逻辑单元、有限状态机和/或存储的程序处理单元、以及以上任何组合,并且还可以包括微码。卸载数据集运算到存储器管芯阵列的功能单元260可用于确定数据集运算(例如,累加一系列向量数据值的运算)是否可由存储器集成电路的算术逻辑单元(例如,存储器级算术逻辑单元150(图1))执行。例如,卸载数据集运算到存储器管芯阵列的功能单元260确定数据集运算的操作数是否位于单个存储器集成电路内(例如,存储器集成电路100(图1))。如果操作数位于单个存储器集成电路内,则该运算可由存储器集成电路的算术逻辑单元执行。通常,如果操作数不位于单个存储器集成电路内,则该运算将不由存储器集成电路的算术逻辑单元执行。在这种情况下,数据集运算可以由数据集加速器270执行。
34.类似地,卸载数据集运算到存储器管芯阵列的功能单元260确定存储器集成电路的算术逻辑单元是否能够执行数据集运算。如前所述,与存储器级算术逻辑单元相比,数据集加速器270能够对更大量的数据执行更复杂的运算、不同的运算和/或以更快的方式执行。在这种情况下,卸载数据集运算到存储器管芯阵列的功能单元260可指示数据集加速器270执行数据集运算。
35.根据本公开的实施例,卸载数据集运算到存储器管芯阵列的功能单元260可以指示一部分的数据集操作由一个或多个存储器集成电路的算术逻辑单元执行,而数据集操作的其他部分由数据集加速器270执行。例如,不同存储器集成电路上的存储器集成电路的算术逻辑单元可以对存储在对应存储器集成电路内的数据执行累加操作,而数据集加速器270访问来自存储器集成电路的算术逻辑单元的结果,以对存储在多个存储器集成电路上的数据执行累加。
36.图3示出本公开实施例的发送到存储器集成电路(例如,图1的存储器集成电路100)的示例性指令300。指令300包括可由例如传统nand型闪存芯片接收的传统指令的新超集。例如,传统的nand型闪存芯片可接收操作码,操作码指示芯片读取或写入页面,或擦除存储器块。类似地,传统的nand型闪存芯片可以接收芯片内的地址,在该地址上执行操作码指定的操作。通常有几种形式的地址可用,包括平面、页和/或块号,以及偏移地址。
37.根据本公开的实施例,指令300是由数据集控制器(例如,图2的数据集控制器230)生成的创新指令。指令300被发送到存储器集成电路,例如,图1的存储器集成电路100。指令300包括数据集操作码340。数据集操作码340指示存储器级算术逻辑单元(例如,图1的算术逻辑单元150)执行数据集运算,例如将两个向量的特征数据相乘。
38.指令300包括预取地址330。在一些实施例中,预取地址可由数据获取和预取控制功能单元250(图2)生成。存储器级算术逻辑单元可以使用预取地址330来根据数据集操作码340确定要操作的一些数据。指令300包括标志350,标志350用于指示与操作码340对应的数据集运算的结果要添加到存储器级算术逻辑单元的累加寄存器。地址320是用于执行存储器集成电路的常规操作的常规地址。在一些实施例中,基本操作码字段310被扩展为包括标志和/或新操作码,以示意指令300的事例不是常规存储器操作,而是包括数据集操作码,例如有效数据集操作码340。在一些实施例中,数据集操作码组340包括“无操作”代码,以指示指令300的事例是常规存储器操作。
39.图4示出本公开实施例的有助于处理超大数据集的示例性数据集400。数据集400包括跨越多个存储器集成电路411、412(例如,图2的存储器管芯阵列210)的信息的三个带420、430、440。例如,每个存储器集成电路411、412的特征在于具有包括对应于三个带的三种数据类型的类似组织。通常会有比图示多得多的存储器集成电路,例如,100个或更多的存储器集成电路。
40.数据集400包括特征数据带440。特征数据带440包括与数据集(例如,图的每个节点)相对应的典型的大量的数据。这些数据通常可以表示为数据的阵列或向量。这些数据可以称为节点的信息内容。数据条目通常是固定长度的,尽管这不是必需的。根据本公开的实施例启用可变长度的特征数据。
41.数据集400包括特征地址带430。特征地址带430包括关乎数据集的信息,例如,图结构。特征地址带430标识每个向量的邻居向量。在一些实施例中,与存储数据集的特征数据相比,地址带430限于数据集(例如,图)的地址信息。例如,特征地址带430包括指向存储在特征数据带440中的数据的指针,下面将进一步描述。例如,如图4中特征地址带430的右侧所示,如果向量0有两个邻居,则特征地址带430包括向量0数据的地址(向量0的特征地址“v0_f_addr”)以及向量0的邻居的特征数据地址(向量0的邻居0的特征地址“v0_nb0_f_addr”和向量0的邻居1的特征地址“v0_nb1_f_addr”)。
42.类似地,列出了向量1的邻居的特征数据地址:向量1的特征地址“v1_f_addr”、向量1的邻居0的特征数据地址“v1_nb0_f-addr”等。所有向量的所有邻居的特征数据地址在特征地址带430中列出。可以理解,在一些实施例中,一些邻居可以位于不同的存储器集成电路中。以这种新型方式,可以对数据集之间的多个关系(例如,图结构)进行编码。
43.数据集400包括元带420。元带420包括对应于图的各种节点或顶点的特征数据地址的地址信息。例如,元带420包括指向特征地址带430中条目的指针。元带420的指针位于存储器集成电路内的固定和/或容易确定的地址处,这可使各种进程能够从特征地址带430中到特征数据地址,并最终访问特征数据带440内的特征数据。例如,为了访问向量0的特征数据,进程可以从元带420内查向量0的元地址。元带420中的元地址将指向特征地址带430中的条目。在特征地址带420内访问该条目将提供位于特征数据带440中的向量0的特征数据的地址。
44.根据本公开的实施例,整个大数据集存储在单个驱动单元中,例如图2的驱动单元200。例如,在固态驱动器的实施例中,驱动器单元可包括160个基于nand的存储器集成电路,以容纳大小高达16tb的数据集。为了方便,可以将驱动器页面的大小设置为与节点的特征数据大小相对应的大小。邻居节点可以位于不同的存储器集成电路中,以便并行执行来自不同存储器集成电路的读操作。根据本公开的实施例,预取功能用于查当前存储器集成电路的下一相邻节点,而不是按顺序加载下一页。图4的预取450示出了要预取的特征数据。在一些实施例中,预取数据可以加载到图1的预取缓冲器122中。
45.图5示出示例性电子系统500的框图,电子系统用作实现本公开实施例的平台。在一些实施例中,电子系统500可以是“服务器”计算机系统。电子系统500包括用于通信信息的地址/数据总线550、功能上与总线耦合用于处理信息和指令的中央处理器复合体505。总线550可包括例如,高速外围组件互连(pcie)计算机扩展总线、工业标准体系结构(isa)、扩展isa(eisa)、微通道、多总线、ieee 796、ieee 1196、ieee 1496、pci、计算机自动测量和控
制(camac)、仪表总线(mbus)、跑道总线(runway bus)、计算机高速链路(cxl)等。
46.在一些实施例中,中央处理器复合体505可以包括单个处理器或多个处理器,例如,多核处理器,或多个独立的处理器。中央处理器复合体505可以包括任何组合中的各种类型的公知的处理器,包括例如数字信号处理器(dsp)、图形处理器(gpu)、复杂指令集(cisc)处理器、精简指令集(risc)处理器和/或超长字指令集(vliw)处理器。电子系统500还可以包括与总线550耦合用于存储中央处理器复合体505的信息和指令的易失性存储器515(例如,随机存取存储器,ram),以及与总线550耦合用于存储处理器复合体505的静态信息和指令的非易失性存储器510(例如,只读存储器,rom)。可选地,电子系统500还包括可更换的非易失性存储器520(例如,nor闪存),非易失性存储器520用于存储中央处理器复合体505的信息和指令,该信息和指令可在系统500制造后更新。在一些实施例中,可以仅包括rom 510或闪存520中的一个。
47.图5的电子系统500中还包括可选输入设备530。设备530可以将信息和命令选择传送给中央处理器505。输入设备530可以是用于向电子系统500传送信息和/或命令的任何合适的设备。例如,输入设备530可以采用键盘、按钮、操纵杆、轨迹球、音频传感器(例如麦克风)、触敏数字化面板、眼球扫描仪等的形式。
48.电子系统500可以包括显示单元525。显示单元525可包括液晶显示(lcd)装置、阴极射线管(crt)、场发射装置(fed,也称为平板crt)、发光二极管(led)、等离子显示装置、电致发光显示器、电子纸、电子墨水(e-ink)或其他适合于创建用户可识别的图形图像和/或字母数字字符的显示设备。在一些实施例中,显示单元525可以具有相关的照明装置。
49.可选地,电子系统500还包括与总线550耦合的扩展接口535。扩展接口535可以实现许多公知的标准扩展接口,包括但不限于安全数字卡接口、通用串行总线(usb)接口、紧凑型闪存、个人计算机(pc)卡接口、插件总线(card bus)、外围组件互连(pci)接口、高速外围组件互连(pci express)、迷你pci接口、ieee 5394、小型计算机系统接口(scsi)、个人计算机存储卡国际协会(pcmcia)接口、行业标准体系结构(isa)接口、rs-232接口等。在本公开的一些实施例中,扩展接口535可包括基本上与总线550的信号一致的信号。
50.各种各样的公知设备可以经由总线550和/或扩展接口535连接到电子系统500。这种设备的示例包括但不限于旋转磁存储器设备、闪存设备、数码相机、无线通信模块、数字音频播放器和全球定位系统(gps)设备。
51.可选地,系统500还包括通信端口540。通信端口540可以实现为扩展接口535的一部分。当实现为独立接口时,通信端口540通常可用于经由面向通信的数据传输协议与其他设备交换信息。通信端口的示例包括但不限于rs-232端口、通用异步收发器(uart)、usb端口、红外光收发器、以太网端口、ieee 5394和同步端口。
52.可选地,系统500包括网络接口560,网络接口560可实现有线或无线网络接口。在一些实施例中,电子系统500可以包括附加的软件和/或硬件特征(未示出)。
53.系统500的各种模块可以访问计算机可读介质,并且已知或已理解该术语包括可移动介质,例如安全数字(“sd”)卡、cd和/或dvd rom、磁盘等,以及不可移动或内部介质,例如硬盘驱动器、ram、rom、闪存等。
54.电子系统500包括一个或多个数据集驱动器570,数据集驱动器570在功能上耦合到处理器复合体505。在一些实施例中,数据集驱动器570可以经由总线550耦合到处理器复
合体505。在一些实施例中,数据集驱动器570可以经由扩展接口535耦合到处理器复合体505。根据本公开的实施例,数据集驱动器570,例如,如关于图2所述的驱动器单元200,包括对数据集驱动器570自身内的大数据集执行各种操作的特征,并且,无需将大量数据传送到处理器复合体505。
55.根据本公开的实施例提供了用于处理大数据集的系统和方法。此外,根据本公开的实施例提供了用于处理大数据集的系统和方法,其可以克服从主存储器到处理器来回传送大数据集的带宽限制。此外,根据本公开的实施例提供了用于处理大数据集的系统和方法,这些系统和方法与现有的处理大数据集(例如,图形处理)的系统和方法兼容和互补。
56.以上描述了本公开的各种实施例。虽然在特定实施例中描述了本公开,但应当理解,本公开不应被解释为受这些实施例的限制,而是根据上面的权利要求来解释。

技术特征:


1.一种装置,包括:非易失性存储器单元的块阵列,位于集成电路管芯上;以及算术逻辑单元(150),位于所述集成电路管芯上,所述算术逻辑单元耦合到所述块阵列,其中,所述算术逻辑单元用于响应于从所述集成电路管芯外部接收的指令对所述块阵列的内容执行算术逻辑运算。2.根据权利要求1所述的装置,其中,所述非易失性存储器单元包括nand型闪存单元。3.根据权利要求1所述的装置,其中,所述算术逻辑单元用于独立于访问来自所述集成电路管芯外部的数据,执行所述算术逻辑运算。4.根据权利要求1所述的装置,其中,所述非易失性存储器单元的块阵列包括多个平面,每个平面包括预取缓冲器和输出缓冲器。5.根据权利要求4所述的装置,其中,所述算术逻辑单元被配置为选择性地耦合到所述多个平面中每个平面的预取缓冲器和输出缓冲器;以及所述算术逻辑单元被配置成从所述集成电路管芯外部接收指令,所述指令指定预取地址和操作码,所述操作码指示对包含在给定平面的预取缓冲器和输出缓冲器中的数据执行的运算。6.一种驱动控制器,包括:接口,被配置成在功能上将所述驱动控制器耦合到多个存储器集成电路设备;总线接口,被配置成在功能上将所述驱动控制器耦合到计算机系统;以及数据集控制器,用于对存储在所述多个存储器集成电路设备中的数据集执行数据集运算,而不通过所述总线接口传送数据集的内容。7.根据权利要求6所述的驱动控制器,其中,所述数据集控制器还用于执行至少下列一者:创建和保持数据集结构;通过跟随数据集结构的指针来获取数据集的数据;对存储在所述多个存储器集成电路设备内的数据执行数据集运算;将所述数据集运算的处理分配到所述多个存储器集成电路设备上的算术逻辑单元。8.根据权利要求6所述的驱动控制器,其中,所述数据集控制器包括向量处理单元,9.根据权利要求6所述的驱动控制器,其中,所述驱动控制器还用于接收、解码和执行数据集运算。10.一种固态驱动单元,包括:多个非易失性存储器集成电路管芯,每个存储器集成电路管芯包括:非易失性存储器单元的块阵列,位于集成电路管芯上;算术逻辑单元,位于所述集成电路管芯上,所述算术逻辑单元耦合到所述块阵列,其中,所述算术逻辑单元用于响应于从所述集成电路管芯外部接收的指令对所述块阵列的内容执行算术逻辑运算;总线接口,配置成在功能上将所述驱动单元耦合到计算机系统;以及数据集控制器,用于对存储在所述多个非易失性存储器集成电路管芯中的数据集执行数据集运算,而不通过所述总线接口传送数据集的内容。11.根据权利要求10所述的固态驱动,其中,所述数据集控制器还用于至少下列一者:
将所述数据集运算的处理分配到所述多个非易失性存储器集成电路管芯上的所述算术逻辑单元;创建和保持数据集结构;通过跟随所述数据集结构的指针来获取所述数据集的数据;对位于所述多个非易失性存储器集成电路管芯的不同管芯中的数据集元素执行运算。12.根据权利要求10所述的固态驱动,其中,所述多个数据集运算包括矩阵乘法。

技术总结


本公开提供一种用于处理大数据集的系统和方法。所述装置包括:非易失性存储器单元的块阵列,位于集成电路管芯上;以及算术逻辑单元,位于集成电路管芯上,算术逻辑单元耦合到块阵列。算术逻辑单元用于响应于从集成电路管芯外部接收的指令对块阵列的内容执行算术逻辑运算。非易失性存储器单元可以包括NAND型闪存单元。存单元。存单元。


技术研发人员:

薛菲 朱峰 郑宏忠 李双辰

受保护的技术使用者:

平头哥(上海)半导体技术有限公司

技术研发日:

2021.10.26

技术公布日:

2022/4/8

本文发布于:2024-09-20 14:30:25,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/14665.html

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

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