本申请是申请号为201710130887.x(针对的分案申请号201710460367.5)、申请日为2017年3月7日的发明专利申请的分案申请。本发明涉及集成电路领域,更确切地说,涉及兼具图像识别功能的存储器。
背景技术:
::模式匹配和模式识别指在目标模式(被检索的模式,targetpattern)中查找与检索模式(用于检索的模式,searchpattern)相同或接近的模式。其中,模式匹配要求查找到相同的模式,模式识别仅要求查找到接近的模式。除了特别说明,本说明书不区分模式匹配和模式识别,并用模式处理来统称各种对模式进行的操作。模式处理(包括模式匹配和模式识别)应用广泛。常用的模式处理包括字符串匹配、代码匹配、语音识别和图像识别等。字符串匹配广泛用于大数据分析(如金融数据分析、电商数据分析、生物信息学)等领域:从大数据(目前多为文本数据库,含有目标字符串)中查找检索字符串,并进行统计分析。代码匹配广泛用于防恶意软件(anti-malware,如网络安全、计算机杀毒)等领域:从网络数据包中查找病毒标识(virussignature)或检查网络数据包是否符合网络规范(networkrules),从而决定网络数据包是否安全。语音识别将通过语音传感器搜集到、或存储在语音档案库中的语音信号与声学模型库和语言模型库匹配。图像识别将通过图像传感器搜集到、或存储到图像档案库中的图像信号与图像模型库匹配。随着大数据时代的到来,传统的模式库(包括检索模式库和目标模式库)已成为大型数据库(tb级到pb级,甚至eb级):检索模式库(包括所有用于检索的模式)的数据量已经很大,而目标模式库(包括所有被检索的模式,通常为用户数据库)的数据量则更为巨大。目前计算机采用的vonneumann架构已不能满足大数据时代对模式处理的要求。在vonneumann架构中,用于处理模式的处理器和用来存储模式的存储器是分离的:存储器(如硬盘、光盘、磁带等)仅用作存储模式数据,而不能对它进行任何模式处理;所有的模式处理都由外置处理器(如cpu、gpu)来完成。众所周知,分离的处理器和存储器之间带宽有限,光是从模式库中读出所有数据就需要很长时间,更何况对它们进行处理分析。因此,对大型模式库的模式处理需要耗费很长时间。模式处理的一个典型应用是图像识别。图像识别的一种手段是根据图像模型库对用户图像进行模式识别。在识别时,模式处理器将用户图像数据与图像模型库中的图像模型一一比较,寻找最接近的图像模型。在传统计算机架构中,用户图像数据存储在外存(如硬盘)中。外存只是一个单纯的存储器,其本身不具备任何图像识别功能。当需要对一个新的图像模型进行识别时,需要把计算机硬盘中的所有用户图像数据读到处理器中进行图像识别。由于传统图像处理器(如cpu、gpu)内核数量有限、其图像识别平行度低,而且从外存中读出用户图像数据耗时很长,故传统计算机架构在处理图像识别时效率低下。技术实现要素:本发明的主要目的是提高图像识别的效率。本发明的另一目的是提供一种能高效地、兼具图像识别功能的存储器。为了实现这些以及别的目的,本发明提出一种兼具图像识别功能的存储器,它是对分布式模式处理器的拓展:该存储器不仅能存储用户图像数据,还能根据输入的图像模型(如所需寻找的图像)对自身存储的用户图像数据进行本地图像检索。该存储器含有多个存储处理单元,每个存储处理单元都含有一个包括图像识别电路的模式处理电路和至少一个存储至少部分图像数据的三维存储(three-dimensionalmemory,简称为3d-m)阵列。3d-m阵列与模式处理电路的垂直集成带来很多优势:由于3d-m阵列不占衬底面积,它可以集成在模式处理电路上,这能增加存储容量、减少芯片面积。更重要的是,由于3d-m阵列和模式处理电路处于同一芯片中且距离很近,它们之间能实现一大带宽电连接。通过采用大规模平行计算(每个存储器芯片可以含有上万个存储处理单元),该存储器能对大型图像库(如图像档案库)根据输入的图像模型(如所需寻找的图像)实现快速图像检索。相应地,本发明提出一种兼具图像识别功能的存储器(200),其特征在于含有:一传输至少部分图像模型的输入总线(110);多个与所述输入总线(110)耦合的存储处理单元(100aa-100mn),所述多个存储处理单元(100aa-100mn)中每个存储处理单元(100ij)均含有一个图像识别电路(180)和至少一个三维存储(3d-m)阵列(170;或170a-170d);其中,所述3d-m阵列(170;或170a-170d)存储至少部分图像数据;所述图像识别电路(180)根据所述图像模型对所述部分图像数据进行模式识别;所述3d-m阵列(170;或170a-170d)有多个周边电路(15,15`,17,17`;或15a-15d,17a-17d),所述图像识别电路(180)和所述周边电路(15,15`,17,17`;或15a-15d,17a-17d)中的所有晶体管(0t)均位于同一半导体衬底(0)之中,并位于所述半导体衬底(0)的上表面;所述3d-m阵列(170;或170a-170d)中的所有存储元(5aa)均位于所述半导体衬底(0)的上方,且不位于任何半导体衬底之中;所述3d-m阵列(170;或170a-170d)与所述周边电路(15,15`,17,17`;或15a-15d,17a-17d)通过多个接触通道孔(1av)耦合,所述接触通道孔(1av)不穿透任何半导体衬底;所述图像识别电路(180)被所述周边电路(15,15`,17,17`;或15a-15d,17a-17d)至少部分包围;所述周边电路(15,15`,17,17`;或15a-15d,17a-17d)位于所述图像识别电路(180)之外。本发明还提出一种兼具图像识别功能的存储器(200),其特征在于含有:一传输至少部分图像模型的输入总线(110);多个与所述输入总线(110)耦合的存储处理单元(100aa-100mn),所述多个存储处理单元(100aa-100mn)中每个存储处理单元(100ij)均含有一个图像识别电路(180)和多个三维存储(3d-m)阵列(170a-170d,170w-170z),其中,所述3d-m阵列(170a-170d,170w-170z)存储至少部分图像数据;所述图像识别电路(180)根据所述图像模型对所述部分图像数据进行模式识别;所述3d-m阵列(170a-170d,170w-170z)有多个周边电路(15a-15d,17a-17d;15w-15z,17w-17z),所述图像识别电路(180)和所述周边电路(15a-15d,17a-17d;15w-15z,17w-17z)中的所有晶体管(0t)均位于同一半导体衬底(0)之中,并位于所述半导体衬底(0)的上表面;所述3d-m阵列(170a-170d,170w-170z)中的所有存储元(5aa)均位于所述半导体衬底(0)的上方,且不位于任何半导体衬底之中;所述3d-m阵列(170a-170d,170w-170z)与所述周边电路(15a-15d,17a-17d,15w-15z,17w-17z)通过多个接触通道孔(1av)耦合,所述接触通道孔(1av)不穿透任何半导体衬底;所述图像识别电路(180)含有多个组件(180a,180b),每个所述组件(180a)被所述周边电路(15a-15d,17a-17d,15w-15z,17w-17z)中选定的周边电路(15a-15d,17a-17d)至少部分包围,所述周边电路(15a-15d,17a-17d)位于所有所述组件(180a,180b)之外。附图说明图1是一种分布式模式处理器的电路框图。图2a-图2c是三种存储处理单元的电路框图。图3a是一种三维可写存储器(three-dimensionalwritablememory,简称为3d-w)及基于3d-w的存储处理单元的截面图;图3b是一种三维印录存储器(three-dimensionalprintedmemory,简称为3d-p)及基于3d-p的存储处理单元的截面图。图4是一种存储处理单元的透视图。图5a-图5c是三种存储处理单元的衬底电路布局图。注意到,这些附图仅是概要图,它们不按比例绘图。为了显眼和方便起见,图中的部分尺寸和结构可能做了放大或缩小。在不同实施例中,数字后面的字母后缀表示同一类结构的不同实例;相同的数字前缀表示相同或类似的结构。本说明书采用如下用词惯例:“电路(或晶体管)位于衬底之中”是指至少部分电路(或晶体管)位于衬底之中,如电路所含晶体管的沟道、漏、源位于衬底之中,但晶体管的栅极及其互连线仍位于衬底之外;“电路器件(如存储元)不位于衬底之中”是指电路器件的任何部分都不位于衬底之中;“衬底的上表面”是指衬底中大多数晶体管所在的表面;“晶体管位于衬底的上表面”是指晶体管的沟道、漏、源位于衬底的上表面之下,栅极位于衬底的上表面之上;“衬底上方”是指与衬底的上表面位于同一边;“电路器件(如存储元)位于衬底的上方”是指电路器件的任何部分都位于衬底的上方,不位于衬底之中;“模式处理电路与3d-m阵列重叠”是指3d-m阵列在衬底上的投影与模式处理电路重叠。此外,“/”表示“和”与“或”的关系”。具体实施方式图1表示一种兼具图像识别功能的存储器200,它是一种分布式模式处理器芯片。该处理器200含有mxn个存储处理单元100aa-100mn。这些存储处理单元100aa-100mn均形成在衬底0上。输入总线110与各个存储处理单元耦合,输出总线120与各个存储处理单元耦合。注意到,分布式模式处理器芯片200可以含有上万个存储处理单元100aa-100mn。如此数量众多的存储处理单元100aa-100mn可以保证大规模平行计算,以实现高速模式处理。每个存储处理单元100ij都含有一模式处理电路170和至少一存储至少一模式的3d-m阵列180。图2a-图2c是三种存储处理单元100ij的电路框图。在这些实施例中,一个模式处理电路180为不同数量的3d-m阵列170服务。图2a中的模式处理电路180为一个3d-m阵列170服务:存储在3d-m阵列170中的模式数据通过大带宽电连接160(参见图3a-图4)送入模式处理电路180,与输入模式数据110进行模式匹配或模式识别,并产生输出模式数据120。图2b中的模式处理电路180为四个存储阵列170a-170d服务:存储在3d-m阵列170a-170d中的模式数据通过大带宽电连接160a-160d(参见图3a-图4)送入模式处理电路180,并与输入模式数据110进行模式匹配或模式识别。图2c中的模式处理电路180为八个存储阵列170a-170d和170w-170z服务:存储在3d-m阵列170a-170d和170w-170z中的模式数据通过大带宽电连接160a-160d和160w-160z(参见图3a-图4)送入模式处理电路180,并与输入模式数据110进行模式匹配或模式识别。从以后的图5a-图5c可以看出,为更多3d-m阵列服务的模式处理电路180具有更大的面积和更强的功能。图3a-图3b表示两种典型3d-m。图3a是一种基于3d-w的存储处理单元100ij的截面图。3d-w存储的信息采用电编程录入。常见的3d-w有3d-xpoint。其它3d-w包括memristor、阻变存储器(rram)、相变存储器(pcm)、programmablemetallizationcell(pmc)、conductivebridgingrandom-accessmemory(cbram)等。根据其可编程的次数,3d-w又分为三维一次编程存储器(three-dimensionalone-time-programmablememory,简称为3d-otp)和三维多次编程存储器(three-dimensionalmultiple-time-programmablememory,简称为3d-mtp)。顾名思义,3d-otp能编程一次,3d-mtp能编程多次(包括重复编程)。3d-otp工艺成熟,它可存储检索模式库(如病毒标识库、网络规范库、声学模型库、语言模型库等),这些模式库中的模式数据只增加不修改。3d-mtp是一种通用存储器,它可用来存储目标模式库,如用户数据(包括用户代码)等。基于3d-w的存储处理单元100ij含有一形成在半导体衬底0上的衬底电路层0k。存储层16a堆叠在衬底电路0k之上,存储层16b堆叠在存储层16a之上。衬底电路层0k含有存储层16a、16b的周边电路15、17…以及模式处理电路180(图5a-图5c),它包括晶体管0t及互连线0m。衬底电路层0k中的所有晶体管0t均位于衬底0之中,并位于衬底0的上表面。每个存储层(如16a)含有多条第一地址线(如2a,沿y方向)、多条第二地址线(如1a,沿x方向)和多个3d-w存储元(如1aa)。存储层16a、16b中的所有存储元1aa均位于衬底0的上方,且不位于任何衬底之中。存储层16a、16b分别通过接触通道孔1av、3av与衬底0耦合,接触通道孔1av、3av不穿透任何衬底。3d-w存储元5aa含有一层编程膜12和一层二极管膜14。编程膜12可以是反熔丝膜(用于3d-otp),也可以是其它多次编程膜(用于3d-mtp)。二极管膜14具有如下的广义特征:在读电压下,其电阻较小;当外加电压小于读电压或者与读电压方向相反时,其电阻较大。二极管膜可以是p-i-n二极管,也可以是金属氧化物(如tio2)二极管等。图3b是一种基于3d-p的存储处理单元100ij的截面图。3d-p存储的信息是在工厂生产过程中采用印刷方式录入的(印录法)。这些信息是永久固定的,出厂后不能改变。印录法可以是光刻(photo-lithography)、纳米压印法(nano-imprint)、电子束扫描曝光(e-beamlithography)、duv扫描曝光、激光扫描曝光(laserprogramming)等。常见的3d-p有三维掩膜编程只读存储器(3d-mprom),它通过光刻法经过掩膜编程录入数据。3d-p的读速度比3d-w快,它适合存储固定的模式库(如声学模型库和语言模型库等),并实现高性能模式处理(如实现自然语言处理和实时语言翻译等)。3d-p含有至少两种存储元5aa,6aa。存储元6aa是一种低阻存储元,存储元5aa是一种高阻存储元。低阻存储元6aa含有一层二极管膜14,高阻存储元5aa比低阻存储元6aa多含一层高阻膜12。作为一个简单的例子,高阻膜12可以是一层二氧化硅膜。该高阻膜12在工艺流程中利用印录法在存储元6aa处被物理移除。在图3a-图3b的3d-m(包括3d-w和3d-p)中,每个存储层含有多个3d-m阵列。3d-m阵列是在一个存储层中所有共享了至少一条地址线的存储元之集合。在一个3d-m阵列中,所有地址线是连续的,并不与不同3d-m阵列共享任何地址线。另一方面,一个3d-m芯片含有多个3d-m模块。每个3d-m模块含有3d-m中的所有存储层,其顶存储层仅含一个3d-m阵列,而且该3d-m阵列在衬底上的投影决定了该3d-m模块的边界。图4从另一个角度披露了存储处理单元100ij的结构。存储模式的3d-m阵列170堆叠在衬底0的上方,处理模式的模式处理电路180位于衬底0中,并被3d-m阵列170至少部分覆盖。3d-m阵列170和模式处理电路180之间通过由大量接触通道孔1av、3av构成的大带宽电连接160实现通讯。由于接触通道孔1av、3av数量众多(可以上万个)且长度很短(微米级),芯片内电连接160的带宽远高于芯片间的通讯带宽。3d-m阵列170与模式处理电路180的垂直集成带来很多优势:由于3d-m阵列170不占衬底面积0,它可以集成在模式处理电路180上,这能增加存储容量、减少芯片面积。更重要的是,由于3d-m阵列170和模式处理电路180处于同一芯片200中且距离很近,它们之间能实现较大带宽。通过采用大规模平行计算,分布式模式处理器200能对大型模式库实现快速模式处理。图5a-图5c披露了三种存储处理单元的具体实现方式。在这些实施例中,模式处理电路180被3d-m阵列(170;170a-170d;或170w-170z)至少部分覆盖。换句话说,模式处理电路180与3d-m阵列(170;170a-170d;或170w-170z)至少部分重叠。图5a的实施例对应于图2a中存储处理单元100ij。模式处理电路180为一个3d-m阵列170服务。在该实施例中,3d-m阵列170含有四个周边电路,包括x解码器15、15`和y解码器(包括读出电路)17、17`。3d-m阵列170通过接触通道孔1av、3av与其周边电路15、15`、17、17`耦合。模式处理电路180与周边电路15、15`、17、17`耦合(图中未画出)。模式处理电路180被周边电路15、15`、17、17`包围,周边电路15、15`、17、17`位于模式处理电路180之外。在图5a中,由于3d-m阵列170位于衬底电路0k的上方,不位于衬底电路0k中,在此用虚线表示其在衬底0上的投影。在本实施例中,模式处理电路180被局限在四个周边电路之间,其面积不能超过3d-m阵列170的面积,故其面积较小、功能有限。该实施例较适于实现较简单的模式处理(如字符串匹配和代码匹配)。很明显,较复杂的模式处理(如语音识别、图像识别)需要更大的电路,这需要在3d-m阵列170下腾出更大的衬底面积,以便模式处理电路180的布局。图5b-图5c披露了两种具有更大面积和更强功能的模式处理电路180。图5b的实施例对应于图2b中存储处理单元100ij。在该实施例中,一个模式处理电路180为四个3d-m阵列170a-170d服务。每个3d-m阵列(如170a)只有两个周边电路(如x解码器15a和y解码器17a)。在这四个3d-m阵列170a-170d下方,衬底电路0k可以自由布局,形成一模式处理电路180。很明显,图5b中的模式处理电路180可以是图5a的四倍大,它能实现较复杂的模式处理功能。图5c的实施例对应于图2c中存储处理单元100ij。在该实施例中,一个模式处理电路180为八个3d-m阵列170a-170d和170w-170z服务。这八个3d-m阵列分为两组150a、150b。每组(如150a)包括四个3d-m阵列(如170a-170d)。在第一组150a的四个3d-m阵列170a-170d下方,衬底电路可以自由布局,形成第一模式处理电路组件a180a。类似地,在第二组150b的四个3d-m阵列170w-170z下方,衬底电路也可以自由布局,形成第二模式处理电路组件b180b。第一模式处理电路组件180a和第二模式处理电路组件180b构成模式处理电路180。在本实施例中,在相邻周边电路之间(如相邻x解码器15a,15c之间;在相邻的y解码器17a,17b之间;在相邻的y解码器17c,17d之间)留有间隙(如g),以形成布线通道190xa,190ya,190yb,供不同模式处理电路组件150a,150b之间、或不同模式处理电路之间实现通讯。很明显,图5c中的模式处理电路180可以是图5a的八倍大,它能实现更复杂的模式处理功能。在本发明的一些实施例中,模式处理电路180仅需完成部分模式处理功能。比如说,模式处理电路180仅需完成简单模式处理(如简单特征的提取和处理)。经过该简单模式处理筛选后的模式将进一步通过输出总线120送到更强大的外置处理器(如cpu、gpu)中完成最终模式处理。由于模式库中的大部分模式会被简单模式处理筛选掉,输出的模式仅占模式库的小部分,这能降低输出总线120的带宽压力。在分布式模式处理器200中,存储处理单元100ij可以采用两种模式处理方式——类处理器方式和类存储器方式。对于类处理器方式,存储处理单元100ij对外界来说就像一个能用其自带的检索模式库、对外来用户数据进行模式处理的处理器。具体说来,存储处理单元100ij的3d-m阵列170存储检索数据库;存储处理单元100ij的输入数据110是用户数据(包括用户代码),这些用户数据一般说来是实时产生的,如网络数据包;存储处理单元100ij将用户数据110与检索模式库进行模式匹配或模式识别。由于3d-m阵列170与模式处理器180之间具有大带宽连接160,这种模式处理方式比传统的、检索模式库存储于分离存储器的模式处理方式效率高。对于类存储器方式,存储处理单元100ij对外界来说像一个主要用于存储用户数据、且能利用自带模式处理电路进行模式处理的存储器。具体说来,用户数据长久存储在存储处理单元100ij的3d-m阵列170中;存储处理单元100ij的输入数据110是检索模式数据;存储处理单元100ij将检索模式数据110与其用户数据进行模式匹配或模式识别。注意到,多个采用类存储器方式的分布式模式处理器芯片200可以像闪存芯片一样封装成存储卡(如sd卡、tf卡)和固态硬盘,用于存储海量的用户数据(如用户数据档案)。由于每个分布式模式处理器芯片200中的每个存储处理单元100ij都自带一个模式处理电路180,这个模式处理电路180仅需处理该存储处理单元100ij中3d-m阵列170存储的数据。因此,不论存储卡和固态硬盘的容量有多大,其模式处理的时间都接近单一模式处理电路180处理与其耦合的3d-m阵列170中存储的数据之时间。这个巨大的优势对传统处理器来说不可想象。在类存储器方式中,存储处理单元100ij是用户数据的最终存储器件。这与传统的、含有嵌入式存储器的处理器不同:传统处理器中的嵌入式存储器仅临时存储用户数据,用户数据的最终存储器件还是外置存储器(如硬盘、光盘、磁带等)。如果用户数据长久存储在传统处理器中,则该传统处理器仅能为这些数据服务,而无法为其它数据服务。也就是说,大量用户数据需要使用很多处理器。由于传统处理器非常昂贵,这种处理方式代价过于高昂。与之比较,在本发明提出的存储处理单元100ij中,模式处理电路180集成在3d-m阵列170下方,与3d-m阵列的周边电路(如解码器)同时形成。由于3d-m本来就要形成周边电路,且周边电路只在衬底0上占很小面积(参见图5a-图5c),大部分衬底面积可以用来形成模式处理电路180,模式处理电路180对于3d-m来说是免费的。因此,在分布式模式处理器芯片200上可以形成大量近似免费的模式处理电路180,每个模式处理电路180为特定的数据(存储在与之耦合的3d-m阵列170中)服务。以下就分布式模式处理器的应用做一简单介绍。作为一个例子,分布式模式处理器200是一防恶意软件(anti-malware)处理器,它主要用于网络安全和计算机杀毒。网络安全可采用类处理器方式:分布式模式处理器200的输入数据110是网络数据包,3d-m阵列170存储网络规范库和病毒标识库,模式处理电路180对它们进行模式匹配。计算机杀毒可采用类处理器方式和类存储器方式:对于类处理器方式,计算机中存储的用户数据作为输入数据110传输至分布式模式处理器200,3d-m阵列170存储病毒标识库,模式处理电路180对它们进行模式匹配;对于类存储器方式,病毒标识作为输入数据110传送至分布式模式处理器200,用户数据存储在3d-m阵列170中,模式处理电路180对它们进行模式匹配。在类处理器方式中,3d-m可以是3d-otp或3d-mtp,它用于存储网络规范库和病毒标识库。在类存储器方式中,3d-m最好是3d-mtp,它存储用户数据库。作为另一个例子,分布式模式处理器200可用于大数据分析(如金融数据分析、电商数据分析、生物信息学)。大数据分析涉及非结构化数据或半结构化数据。传统的、采用关系型数据库(relationaldatabase)的分析方法对此无能为力。分布式模式处理器200能提高大数据分析能力。为了提高效率,最好采用类存储器方式:大数据作为档案存储在3d-m阵列170中,用于数据分析的关键词作为输入模式数据110送至分布式模式处理器200,模式处理电路180对它们进行模式匹配。在大数据分析中,3d-m最好是3d-mtp,它用于存储用户数据。分布式模式处理器200还可以用于语音识别和/或图像识别。在识别过程中,可以采用类处理器方式和类存储器方式。对于类处理器方式,用户产生的语音/图像数据作为输入数据110送至分布式模式处理器200,3d-m阵列170存储各种识别模型库(如声学模型库、语言模型库、图像模型库等),之后模式处理器180进行识别。对类存储器方式,用户产生的语音/图像数据作为档案存储在3d-m阵列170中,需要查找的语言信号或图像信号作为输入数据110送至分布式模式处理器200,之后模式处理电路180进行识别和查找。在类处理器方式中,3d-m可以是3d-p、3d-otp或3d-mtp,它存储声学模型库、语言模型库、图像模型库等。在类存储器方式中,3d-m最好是3d-mtp,它存储语音/图像档案库。应该了解,在不远离本发明的精神和范围的前提下,可以对本发明的形式和细节进行改动,这并不妨碍它们应用本发明的精神。因此,除了根据附加的权利要求书的精神,本发明不应受到任何限制。当前第1页12当前第1页12