CN110537192A - 利用最大似然对消息/标签关联以及标签/消息关联进行非易失性存储、检索和管理的自动化方法和关联装置 - Google Patents

利用最大似然对消息/标签关联以及标签/消息关联进行非易失性存储、检索和管理的自动化方法和关联装置 Download PDF

Info

Publication number
CN110537192A
CN110537192A CN201880025964.8A CN201880025964A CN110537192A CN 110537192 A CN110537192 A CN 110537192A CN 201880025964 A CN201880025964 A CN 201880025964A CN 110537192 A CN110537192 A CN 110537192A
Authority
CN
China
Prior art keywords
unit
memory
input
message
associative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880025964.8A
Other languages
English (en)
Other versions
CN110537192B (zh
Inventor
P·皮里姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CN110537192A publication Critical patent/CN110537192A/zh
Application granted granted Critical
Publication of CN110537192B publication Critical patent/CN110537192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0026Bit-line or column circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种关联存储器单元,并且涉及一种关联存储方法。根据本发明的关联存储器单元包括w位的至少n个存储器子单元和v位的第二存储器子单元的第一子集。可以使用关联存储器子单元将消息与标签关联起来以及将标签与消息关联起来。

Description

利用最大似然对消息/标签关联以及标签/消息关联进行非易 失性存储、检索和管理的自动化方法和关联装置
技术领域
本发明涉及一种方法和一种自动装置,该自动装置能够利用最大似然以非易失性方式将消息与标签的关联以及标签与消息的关联存储在存储器中、再调用(recall)和管理该关联。本发明还涉及一种系统,该系统用于在存储器中存储神经元群体网络的训练数据。
本发明尤其适用于硅上实现的神经网络,以用于处理各种信号,所述各种信号包括例如图像、声音或独立或同时感知的其它模态的感知表示的多维信号。更一般地,本发明允许用于经由神经元群体网络的生物启发方法将信号处理到有效产生的硅上的完整链。本发明还使得能够有效地执行例如在神经元处理之前的预处理中和/或在后处理中使用的常规信号处理方法。
背景技术
人类记忆从根本上是关联的:当我们能够将新信息与已经获取并牢固扎根于我们的记忆中的知识联系起来时,我们会更好地记住该新信息。此外,对我们的意义越大,此联系将越有效。因此,不是简单地回忆起固定的印象,目前认为记忆是源自对立(antagonistic)神经元通路的连续改变以及信息在大脑中的并行处理的再范畴化的连续过程。
技术正在尝试主要使用被称为关联存储器或内容可寻址存储器(CAM)的电子方法来复制这些过程。出版物中已发表了文献综述,K.Pagiamtzis和A.Sheikholeslami等人的“Content-addressable memory(CAM)circuits and architectures:A tutorial andsurvey”IEEE Journal of Solid-State Circuits,vol.41,no.3,pp.712–727,Mar2006。
随着MRAM(磁性随机存取存储器)存储器(在该存储器中,数据以磁取向的形式存储)的出现,该存储机制已经变成了非易失性。通过改变电子的自旋(尤其是通过隧穿)来实现状态变化。这些部件由Everspin和其它公司出售。
在法国,CNRS实验室的Spintec和格勒诺布尔的Crocus Technology公司共同开发了MRAM技术。该MRAM技术基于一种创新的编程技术,该编程技术允许克服稳定性和小型化方面的限制。代替传统的铁磁层叠层,这些合作伙伴已经开发了一种存储器单元,该存储器单元将铁磁层与随温度变化更加稳定的反铁磁层关联起来。该单元与允许将被称为“就地匹配”的比较逻辑功能直接集成到存储板中的自引用存储器单元技术相结合。同一公司的专利US 9 401 208 B2“Magnetic random access memory cell with a dual junctionfor ternary content addressable memory applications”描述了三态(ternary)模式的集成:三态CAM允许将给定存储字中的一个或更多个位编程成第三状态,该第三状态在上述专利中称为“X”或“不关心”,从而允许提高搜索灵活性。例如,三态CAM可以具有存储字“10XX0”,其可以与字“10000”、“10010”、“10100”和“10110”中的任何一个的搜索相对应。
该存储器单元为STT-MRAM类型(STT-MRAM代表自旋转移转矩磁性RAM)。该存储器单元的尺寸允许大规模且低成本集成、非常低的功耗并且保证非常长的信息保留时间。
目前正在兴起被称为N-RAM(即,纳米RAM)的另一种非易失性存储器,该N-RAM是美国公司Nantero进行研究的成果。该N-RAM使用了碳纳米管的特性,该碳纳米管允许大大减小芯片尺寸并因此增加模块的容量。该公司的专利No.US 9 299 430 B1“Method forreading and programming 1-R resistive charge element arrays”中描述了这种类型的存储器。
该单元由悬浮在电极上方的一定数量的纳米管构成。当电流在两个电极之间流过时,纳米管被吸引到上电极并与其接触。在两个电极之间没有电流的情况下,碳纳米管保持悬浮在空气中。为了确定纳米管是否接触上电极,在端子与上电极之间施加电压。如果有电流流过,则意味着纳米管正在与上电极接触,并且返回值1。如果没有电流流过,则纳米管处于悬浮状态并且返回值0。因此,值0和1是所谓的稳定位置,因为纳米管上没有机械张力。与DRAM相比,该体系结构更有利于减小刻蚀间距,并且在与SRAM具有相似的速度的同时,需要较少的电流来写入数据。
基于氧化铪铁电体的并且在专利US 7,709,359中描述的另一种非易失性存储器技术由于其小单元尺寸(约10F2)、写入模式下的消耗比STT-MRAM的消耗低至少1000倍这一事实以及与CMOS技术的制造兼容性(在刻蚀规模和工艺兼容性这两方面)而非常有前途。
这些技术引起了在神经科学领域中发表的一些发展,包括:
■V.Gripon和C.Berrou,“Sparse neural networks with large learningdiversity,”IEEE trans.on Neural Networks,vol.22,n 7,pp.1087-1096,July 2011。
本文给出了以下定义:
o在下面的描述中,在给定存储信息量M的情况下,由数据稀疏性实现的学习多样性等于2v,其中代码量与子消息I=2w相对应,即,消息k由c个子消息组成(在下面的描述中:消息ME由n个子消息组成)。因此,消息ME的长度是w位的n倍,并且存储机制的多样性是2n+w
o针对M>>c(此处为2v>>n~8)且M<<I2(此处为2v<<2n+w)的值,密度d接近M/l2,即,在下面的描述中:
d=2v/22+w或2v-(2+w)
该密度必须低,以便避免混淆与允许的错误率相对应的学习消息:其中,值v=16并且w=24,d=2-10,即,错误率接近0.001。
与本文相关联地,作者已经申请了两项专利:FR2964222A1和FR2980876A1,这两项专利描述了使用这些原理的神经元装置。
·Hooman Jarollahi,Vincent Gripon,Naoya Onizawa,和Warren J.Gross “Alow-power Content-Addressable Memory based on clustered-sparse networks”ASAP,2013 IEEE 24th int.conference.
·F.Leduc-Primeau,V.Gripon,M.G.Rabbat,和W.J.Gross,“Clusterbasedassociative memories built from unreliable storage”in Proc.Of IEEEIntl.Conf.on Acoustics,Speech,and Signal Processing(ICASSP),May 2014.
·Demetrio Ferro,Vincent Gripon,Xiaoran Jiang,“Nearest NeighbourSearch Using Binary Neural Networks”International Joint Conference on NeuralNetworks(IJCNN)2016.
·Qing Guo,Xiaochen Guo,Yuxin Bai,Engin_Ipek,“A Resistive TCAMAccelerator for Data-Intensive Computing“MICRO’11December 3-7,2011,PortoAlegre,Brazil et,
·Qing Guo,Xiaochen Guo,Ravi Patel,Engin_Ipek,Eby G.Friedman “AC-DIMM:Associative Computing with STT-MRAM”,ISCA’2013 Tel-Aviv,Israel,
上述文献已经将这些关联存储器存储机制引入了如下电子部件中,该电子部件被布置成形成DIMM格式存储条,而不是因而使用现有总线布局的现有存储条。
所有这些用于关联存储器存储的方法在允许动态反馈信息的同时,都不允许在存在于人类记忆中的两个方向(自下而上和自上而下)上进行伴随操作。此外,存储在存储器中的要素无法简单地从一种介质传送到另一种介质。
为了克服这些缺点,本发明的作者P.Pirim在公开“Perceptive Invariance andAssociative Memory Between Perception and Semantic Representation,USER aUniversal Semantic Representation Implemented in a System on Chip(SoC)”(发表于Living Machines 2016,LNAI 9793,pp.275–287,2016)中提出了另一种方法。该最早的简洁方法之后进行了许多改进,在本发明中对该改进进行描述。通过集成新的TCAM技术创建了一种新的关联存储器模型,该新的TCAM技术允许在大规模、低成本集成中经由最大似然计算来进行纠错。
发明内容
因此,本发明涉及一种方法和一种自动装置,所述自动装置(在本文的其余部分被称为“关联存储器存储”)能够利用最大似然,以非易失性方式将消息与标签的关联以及标签与消息的关联存储在存储器中、再调用和管理该关联。
这种关联存储器存储方法由至少两个相似的、内容可寻址存储器子单元的集合构成,其中,第一存储器子单元具有2v个w位的字,其中v介于1和w之间,第二存储器子单元具有2v个v位的字。
所述关联存储器子单元经由以下项,按写入模式被编程:
■v位输入模式地址端口,
■v位或w位输入模式数据端口,以及
■命令端口,所述命令端口包括排序二进制输入时钟以及两个二进制输入信号,一个二进制输入信号用于选择存储器,另一个二进制输入信号用于写入,这两个信号在该写入序列中是生效的,从而在该周期期间使得存在于所述数据端口上的v位或w位的字能够存储在通过所述地址端口上的v位字寻址的存储器位置处,
并且该同一关联存储器子单元经由以下项,按读取模式被编程:
■命令端口,所述命令端口包括以下项:排序二进制输入时钟;两个二进制输入信号,一个二进制输入信号用于选择有效存储器,另一个二进制输入信号用于在该读取序列中进行无效写入;以及二进制输出信号,所述二进制输出信号用于对根据本发明在该读取模式下存在的内容进行验证:
-读取在写入模式下预先记录的v位或w位数据,所述数据在数据输出端口上,所述数据由存在于所述输入地址端口上的v位字选择,并被独立地读取,
-读取与存在于所述输入数据端口上的v位或w位数据的地址相对应的v位数据,如果先前该v位或w位数据已经在写入模式下被存储在至少一个存储器位置处,则所述数据在存储器内容地址输出端口上,从而使用于对当前内容进行验证的输出二进制信号生效。在相反的情况下,在2v个存储器位置均不包括被馈送到所述输入数据端口的v位或w位数据的情况下,将通过用于对当前内容进行验证的所述输出二进制信号的无效来发信号通知所述存储器内容地址输出端口的无效输出。
在本发明的各种实施方式中,采用以下手段,所述手段可以单独使用或以任何技术上可预见的组合使用:
-在读取模式(Wr=0)下选择所述关联存储器存储单元,至少两个相似的存储器子单元经由两个独立的v位总线相关联:
-第一总线,所述第一总线连接在第一关联存储器的v位存储器内容地址输出端口与第二关联存储器的v位输入模式地址端口之间,以及
-第二总线,所述第二总线连接在所述第二关联存储器的v位存储器内容地址输出端口与所述第一关联存储器的v位输入模式地址端口之间,
-所选择的关联存储器存储单元处于写入模式,至少两个相似的存储器子单元经由连接到v位二进制计数器的输出端以及连接到各个关联存储器的v位输入模式地址端口的v位公共总线进行关联,
-所述关联存储器存储单元具有初始化阶段,所述初始化阶段涉及所有当前存储器子单元,所述阶段由用于对所述存储器子单元进行初始化的单元命令,由用于初始化并选择所有存储器的输入二进制信号的生效来触发所述阶段,所述输入二进制信号从所述命令端口输出。该初始化单元将v位二进制计数器初始化为零,然后在2v+1个周期期间,对每个排序二进制输入时钟周期将所述v位二进制计数器递增1个单位。在这段时间期间,所述初始化单元使写入模式生效(生效的写入二进制输入信号),并强制将所述存储器子单元中的各个存储器子单元的所述数据输入端口(In)清零。在该序列结束时,所述存储器子单元中的各个存储器子单元的所有存储器位置都被初始化为零,就像所述v位二进制计数器一样,
-在所述初始化序列之外,所述存储器选择二进制输入信号生效,在所述存储器写入信号的每次生效开始时,所述v位二进制计数器(3)递增一个单位值,
-当所述v位二进制计数器的值达到值2v-1时,计数限制信号生效,
-在按读取模式编程的情况下,所述存储器子单元一起被分组成两个集合,第一集合集成有n个存储器子单元,各个存储器子单元包括2v个w位的字,第二集合由包括2v个v位的字的关联存储器子单元表示,这两个集合通过两条对立总线链接:
·第一总线,所述第一总线连接到包括2v个v位的字的所述关联存储器子单元的v位存储器内容地址输出端口,并且连接到所述n个存储器子单元中的各个存储器子单元的v位输入模式地址端口。
·第二总线,所述第二总线被引入到用于对所述输入值的最大似然进行选择的单元(该单元将所选择的最具代表性的值作为输出来传递)中,所述第二总线是各个v位存储器内容地址输出端口以及用于对存在于所有n个存储器子单元中的相应内容进行验证的二进制输出信号的输出。该最大似然值被引入到包括2v个v位的字的所述关联存储器子单元的所述v位输入模式地址端口中。
-通过使读取模式下的校正二进制输入信号生效,将信息项从最大似然值单元的输出端发送到上述第一总线,
-在按写入模式编程的情况下,在写入周期开始时,将所述v位二进制计数器的值递增一个单位,以通过连接到各个关联存储器子单元的所有v位输入模式地址端口的总线来传递与新地址相对应的值,其中所述各个关联存储器子单元被分组成两个集合,第一集合并入有n个关联存储器,各个关联存储器包括2v个w位的字,第二集合由包括2v个v位的字的关联存储器子单元表示,
-被一起分组,这两个存储器子单元集合(包括v位二进制计数器、用于计算最大似然的单元、初始化单元以及各种逻辑控制元件)形成所述关联存储器存储机制的基本单元,
-在读取模式下,所述关联存储器存储单元与由n个w输入位的独立子消息(RSin_1至RSin_n)组成的消息(MEin_i)以及与v输出位的标签(Lout_j)相关联,并且反之亦然,在输入方面的v位标签(Lin_i)与输出方面的由n个w位独立子消息(RSout_1至RSout_n)组成的消息(MEout_j)相关联:被馈送至所述关联存储器(10)的基本单元的均匀部分消息(MEin_i)的存在将标签(Lout_i)作为输出来传递,该标签继而变为作为输入连接到所述关联存储器存储单元(10)的(Lin_i),并传递完整的先前学习的对应消息(MEout_i),
-各个w位独立输入子消息(RSin_x)和w位独立输出子消息(RSout_x)被构造成p个w/p位要素,其中,针对各个要素具有特定于它的位置的限定,
-如果需要,则能够在三态内容寻址存储器(TCAM)模式下独立地设置各个w/p位要素,
-所述关联存储器单元的w位输出子消息(RSout_x)连接到动态吸引子(attractor)的输入寄存器单元,并且所述同一动态吸引子的结果寄存器单元传递所述关联存储器单元的w位输入子消息(RSin_x),
-所述w位独立输入子消息(RSin_x)和w位独立输出子消息(RSout_x)的p个w/p位要素具有全局类型、动态类型或结构类型的基本语义表示作为特定于其各自位置的限定,
-所述动态吸引子从包含子序列的经排序的数据流中提取被位置引用并且与子消息相对应的全局类型、动态类型或结构类型的基本语义表示,所述数据流是从用于对输入数据流进行转换的单元输出的,
-通过抑制先例(将所述动态吸引子(80_x)的Cout链接到动态吸引子(80_x+1)的Cin)来动态地补充动态吸引子。各个动态吸引子互相依赖地限定子消息,整个所述子消息与所发送的消息相对应,
-基本关联存储器存储单元以倒金字塔模式连接,p个基本关联存储器单元的第一层级接收p个消息并生成p个标签,所述标签均通过子消息连接到第二层级中的基本关联存储器单元,从而生成对输入子消息进行汇总的标签,并且相反地,输入到该基本关联存储器单元中的第二汇总标签生成子消息的集合,这些子消息通过与子消息相关联的标签连接到所述第一层级的p个基本关联存储器单元的集合,并且所述第二汇总标签传递p个消息的集合,
-在读取模式下,代表基本关联存储器单元的存储器子单元经由连接到v位二进制计数器的输出端以及连接到各个关联存储器子单元的v位输入模式地址端口的v位公共总线相关联,该v位二进制计数器被初始化为零,然后根据传送二进制信号的命令递增一个单位。在各个传送序列中,能够访问消息(RSout_i)及其关联标签(Lout_i)的值,
-通过关于信息项的分布,将传送读取模式下的所述第一关联存储器存储单元的输出端口连接到写入模式下的所述第二关联存储器存储单元的输入端口,并且通过使所述第一关联存储器存储单元的读取周期与所述第二关联存储器存储单元的写入周期同步来将所述第一关联存储器存储单元与所述第二关联存储器存储单元关联起来,从而实现将从一个单元的关联存储器存储获取的知识传送到另一单元。
根据本发明,该关联存储器存储装置由至少两个相似的、内容可寻址存储器子单元的集合构成,其中,第一存储器子单元具有2v个w位的字,其中v介于1和w之间,第二存储器子单元具有2v个v位的字。
所述关联存储器子单元经由以下项,按写入模式被编程:
■v位输入模式地址端口,
■v位或w位输入模式数据端口,以及
■命令端口,所述命令端口包括排序二进制输入时钟以及两个二进制输入信号,一个二进制输入信号用于选择存储器,另一个二进制输入信号用于写入,这两个信号在该写入序列中是生效的,从而在该周期期间使得存在于所述数据端口上的v位或w位的字能够存储在通过所述地址端口上的v位字寻址的存储器位置处,
并且该同一关联存储器子单元经由以下项,按读取模式被编程:
■命令端口,所述命令端口包括以下项:排序二进制输入时钟;两个二进制输入信号,一个二进制输入信号用于选择有效存储器,另一个二进制输入信号用于在该读取序列中进行无效写入;以及二进制输出信号,所述二进制输出信号用于对根据本发明在该读取模式下存在的内容进行验证:
-或者数据输出端口,所述数据输出端口传递在写入模式下预先记录的v位或w位数据,所述数据由存在于所述输入地址端口上的v位字选择,并被独立地读取,
-或者存储器内容地址输出端口,所述存储器内容地址输出端口传递与存在于所述输入数据端口上的v位或w位数据的地址相对应的v位数据,如果先前该v位或w位数据已经在写入模式下被存储在至少一个存储器位置处,则所述数据在存储器内容地址输出端口上,从而使用于对当前内容进行验证的输出二进制信号生效。在相反的情况下,在2v个存储器位置均不包括存在于所述输入数据端口的v位或w位数据的情况下,将通过用于对当前内容进行验证的所述输出二进制信号的无效来发信号通知所述存储器内容地址输出端口的无效输出。
在本发明的各种实施方式中,采用以下手段,所述手段可以单独使用或以任何技术上可预见的组合使用:
-所述关联存储器采用非易失性技术,
-在读取模式下选择,所述关联存储器存储单元包括经由两个独立的v位总线相关联的至少两个相似的存储器子单元:
-第一总线,所述第一总线连接在第一关联存储器的v位存储器内容地址输出端口与第二关联存储器的v位输入模式地址端口之间,以及
-第二总线,所述第二总线连接在所述第二关联存储器的v位存储器内容地址输出端口与所述第一关联存储器的v位输入模式地址端口之间,
-在写入模式下选择,所述关联存储器存储单元包括至少两个相似的存储器子单元,所述至少两个相似的存储器子单元经由连接到v位二进制计数器的输出端以及连接到各个关联存储器的v位输入模式地址端口的v位公共总线进行关联,
-用于对2V个值进行计数的单元采用非易失性存储器存储,
-所述关联存储器存储单元具有初始化阶段,所述初始化阶段涉及所有当前存储器子单元,所述阶段由用于对所述存储器子单元进行初始化的单元命令,由用于初始化并选择所有存储器的输入二进制信号的生效来触发所述阶段,所述输入二进制信号从所述命令端口输出。该初始化单元将v位二进制计数器初始化为零,然后在2v+1个周期期间,对每个排序二进制输入时钟周期将所述v位二进制计数器递增1个单位。在这段时间期间,所述初始化单元使写入模式生效(生效的写入二进制输入信号),并强制将所述存储器子单元中的各个存储器子单元的所述数据输入端口(In)清零。在该序列结束时,所述存储器子单元中的各个存储器子单元的所有存储器位置都被初始化为零,就像所述v位二进制计数器一样,
-在所述初始化序列之外,所述存储器选择二进制输入信号生效,针对所述存储器写入信号的每次生效,所述v位二进制计数器递增一个单位值,
-所述v位二进制计数器包括作为输出的计数限制信号,当所述计数器的二进制值等于2v-1时,所述计数限制信号变得有效,
-在按读取模式编程的情况下,所述存储器子单元被分组成两个集合,第一集合集成有n个存储器子单元,各个存储器子单元包括2v个w位的字,第二集合由包括2v个v位的字的关联存储器子单元表示,这两个集合通过两条对立总线链接:
·第一总线,所述第一总线连接到包括2v个v位的字的所述关联存储器子单元的v位存储器内容地址输出端口,并且连接到所述n个存储器子单元中的各个存储器子单元的v位输入模式地址端口。
·第二总线,所述第二总线被引入到用于对所述输入值的最大似然进行选择的单元(该单元将所选择的最具代表性的值作为输出来传递)中,所述第二总线是各个v位存储器内容地址输出端口以及用于对存在于所有n个存储器子单元中的相应内容进行验证的二进制输出信号的输出。该最大似然值被引入到包括2v个v位的字的所述关联存储器子单元的所述v位输入模式地址端口中。
-通过使读取模式校正二进制输入信号生效,从最大似然值单元的输出端输出被发送到上述第一总线的信息项,
-在按写入模式编程的情况下,在写入周期开始时,将所述v位二进制计数器的值递增一个单位,以通过连接到各个关联存储器子单元的所有v位输入模式地址端口的总线来传递与新地址相对应的值,其中所述各个关联存储器子单元被分组成两个集合,第一集合并入有n个关联存储器,各个关联存储器包括2v个w位的字,第二集合由包括2v个v位的字的关联存储器子单元表示,
-被一起分组,这两个存储器子单元集合(包括v位二进制计数器、用于计算最大似然的单元、初始化单元以及各种逻辑控制元件)形成所述关联存储器存储机制的基本单元,
-在读取模式下,所述关联存储器存储单元将由n个w输入位的独立子消息(RSin_1至RSin_n)组成的消息(MEin_i)与v输出位的标签(Lout_j)关联起来,并且反之亦然,将输入端上的v位标签(Lin_i)与输出端上的由n个w位独立子消息(RSout_1至RSout_n)组成的消息(MEout_j)关联起来:被馈送至所述关联存储器(10)的基本单元的均匀部分消息(MEin_i)的存在将标签(Lout_i)作为输出来传递,该标签继而变为作为输入连接到所述关联存储器存储单元(10)的(Lin_i),并传递完整的先前学习的对应消息(MEout_i),
-各个w位独立输入子消息(RSin_x)和w位独立输出子消息(RSout_x)均被构造成p个w/p位要素,其中,针对各个要素具有特定于它的位置的限定,
-如果需要,则能够在三态内容寻址存储器(TCAM)模式下独立地设置各个w/p位要素,
-所述关联存储器单元的w位输出子消息(RSout_x)连接到动态吸引子的输入寄存器单元,并且所述同一动态吸引子的结果寄存器单元传递所述关联存储器单元的w位输入子消息(RSin_x),
-所述w位独立输入子消息(RSin_x)和w位独立输出子消息(RSout_x)的p个w/p位要素具有全局类型、动态类型或结构类型的基本语义表示作为特定于其各自位置的限定,
-所述动态吸引子从包含子序列的经排序的数据流中提取被位置引用并且与子消息相对应的全局类型、动态类型或结构类型的基本语义表示,所述数据流是从用于对输入数据流进行转换的单元输出的,
-通过抑制先例(将所述动态吸引子的Cout链接到动态吸引子的Cin)来动态地补充动态吸引子。各个动态吸引子互相依赖地限定子消息(Rsin_x),整个所述子消息与所发送的消息(ME_in)相对应,
-基本关联存储器存储单元以倒金字塔模式连接,p个基本关联存储器单元的第一层级接收p个消息并生成p个标签,所述标签均通过子消息连接到第二层级中的基本关联存储器单元,从而生成对输入子消息进行汇总的标签,并且相反地,输入到该基本关联存储器单元中的第二汇总标签生成子消息的集合,这些子消息通过与子消息相关联的标签连接到所述第一层级的p个基本关联存储器单元的集合,并且所述第二汇总标签传递p个消息的集合,
-在读取模式下,代表基本关联存储器单元的存储器子单元经由连接到v位二进制计数器的输出端以及连接到各个关联存储器子单元的v位输入模式地址端口的v位公共总线相关联,该v位二进制计数器被初始化为零,然后根据传送二进制信号T的命令递增一个单位。在各个传送序列中,能够访问消息及其关联标签的值,
-通过关于信息项的分布,将传送读取模式下的所述第一关联存储器存储单元的输出端口连接到写入模式下的所述第二关联存储器存储单元的输入端口,并且通过使所述第一关联存储器存储单元的读取周期与所述第二关联存储器存储单元的写入周期同步来将所述第一关联存储器存储单元与所述第二关联存储器存储单元关联起来,从而实现将从一个单元的关联存储器存储获取的知识传送到另一单元。
本发明还涉及前述方法和装置的所有可能变型例的以下应用:
-所述关联存储器的该基本单元已被集成到电子部件中,
-所述关联存储器的该基本单元被堆叠在电子芯片上。
附图说明
现在将通过以下描述中的示例(但是不限于此)的方式并参考以下附图对本发明进行描述:
图1大体上示出了根据本发明的对关联存储器子单元(1_1)进行描述的装置,
图2是结合了多个图1关联存储器子单元(1_i)的关联存储器单元(10)的写入模式的例示图。
图3是根据本发明的将两个关联存储器子单元按读取模式一起分组的示例,
图4是被扩展至两个以上的子单元且合并有用于计算最大似然的单元以及循环操作模式((Cor)=1)的图3的操作模式的例示图,
图5是根据本发明的处于初始化模式的关联存储器单元的示例,
图6是在知识传送模式下的关联存储器单元(10)的操作模式的例示图,
图7是两个关联存储器单元(10_1)与(10_2)之间的知识传送的示例,
图8是通过最大似然校正输入消息的模式的例示图,
图9是整个关联存储器单元(10)的例示图,
图10是将关联存储器(10)与动态吸引子单元(80_i)结合使用的示例,
图11是语言翻译单元(70)的传送功能的例示图,
图12是动态吸引子单元(80_i)的双线性直方图的计算的组织结构的例示图,
图13是创建了层次图通用生成器基本单元(60)的三个关联存储器单元(10_1)至(10_3)的金字塔模式下的布局的示例,
图14是基于存储在存储器中的消息的处理生成标签的图形的组成例示图,
图15是命令对激励作出响应的关联存储器单元(10)的使用示例,
图16是关联存储器单元(10)被集成到通用电子部件中的实施方式,
图17是关联存储器单元(10)被集成到晶片中的实施方式。
具体实施方式
图1示出了关联存储器存储单元(10)的基本要素:一组被表示为(1_1)至(1_n)(i是单元(1_i)的编号)的n个独立的TCAM或CAM存储器子单元的存储器子单元(1_1)。这些存储器子单元可以在RAM或CAM模式下操作,并且可以是非易失性的。根据本发明的各种实施方式,这些存储器子单元可以是各种类型的,例如STT-MRAM(自旋转移转矩磁性随机存取存储器)型、含铁RAM(ferroRAM)型或NRAM型或允许存储器在RAM或CAM模式下操作的任何其它类型。行为是RAM和CAM存储器的行为,因为将逻辑比较功能集成到了各基本存储器单元中,自旋电子结的加倍允许被称为“X”的第三状态,以便形成TCAM存储器。2v个w位的字的各存储器子单元(1_i)由以下各项构成:
·w位的输入端口(in);
·w位的输出端口(out);
·v位的存储器地址输入端口(Adr);
·与比较验证二进制输出信号(M)相关联的v位的输出端口(Cadr);以及
·由命令二进制输入信号(En)和(Wr)以及排序时钟二进制输入信号(Ck)组成的命令端口。
针对存储器子单元(1_i)中的各个存储器子单元,根据从命令总线输出的信号(En)和(Wr)的电平存在三种可能状态,这三种可能状态通过存在于命令端口上的时钟信号(Ck)分别排序在位置(En)、(Wr)和(Ck)处:
i)当信号(En)和(Wr)是不活动的时,存储器子单元(1_i)被阻止,并且其消耗几乎为零。
ii)当信号(En)是活动的且信号(Wr)是不活动的时,针对存在于输入端口(in)上的w位消息(RSin_i)触发CAM读取模式,将该w位消息与存储器子单元(1_i)的所有存储器地址的内容进行比较,以便在存储器子单元(1_i)的端口(Cadr)上提取包括消息(RSin_i)的v位地址(L_i),从而在存在该v位地址的情况下使信号(M)生效,并在相反情况下使该信号(M)无效。同样地,当信号(En)是活动的且信号(Wr)是不活动的时,针对作为地址端口(Adr)上的输入的v位数据(Cpt)触发RAM读取模式,这使被发送到输出端口(out)的w位内容(RSout_i)的存储器位置生效。
iii)当信号(En)和(Wr)是活动的时,针对存在于输入端口(In)上的子消息(RSin_i)触发RAM写入模式,该子消息按存在于输入端口(Adr)上的存储器地址(Cpt)被存储在存储器中。
图2例示了关联存储器单元(10)的写入模式,该写入模式包括将由n个子消息(RSin_1)至(RSin_n)构成的消息(MEin_i)以及标签(Lin_i)按公共存储器地址存储在存储器中,该公共存储器地址具有与由用于对2v个值进行计数的单元(3)传递的(Cpt[v-1:0])相等的值i,该单元(3)采用了非易失性存储器存储,并且在各个存储器存储动作时按照一元值递增。
该关联存储器单元(10)包括:用于对2v个值进行计数的单元(3),该单元(3)传递值i;以及两组相似的存储器子单元,其中一个存储器子单元(1_1)如图1所示。第一组由n个存储器子单元(参考(1_1)至(1_n))构成,各存储器子单元由2w个w位的字构成,并且各存储器子单元分别在其输入端口(In)上接收针对存储器子单元(1_1)的子消息(RSin_1)直至针对存储器子单元(1_n)的子消息(RSin_n)。第二组由2v个v位的字的存储器子单元(2)构成,该存储器子单元(2)在输入端口(In)上接收标签(Lin_i)。
通过使位于存储器子单元(1_1)至(1_n)以及(2)中的各个存储器子单元的命令端口上的二进制信号(En)和(Wr)生效来激活关联存储器单元(10)的写入模式。二进制信号(Wr)的生效将用于对2v个值进行计数的单元(3)递增一个单位,其中,在关联存储器单元(10)的整个写入模式过程中,该计数单元(3)的初始化命令(R)通过外部二进制输入(Rst)=0而保持为零。计数器(3)的等于(Cpt[v-1:0])的新值i无一例外地被呈现给各个存储器子单元的地址输入端口(In)。被馈送到各个存储器子单元的排序时钟信号(Ck)使存在于该关联存储器单元(10)中的所有存储器子单元的通用存储器存储生效。该关联存储器单元(10)的存储器存储操作的数量受到计数单元(3)的最大值2v-1的限制,该计数单元(3)针对此值传递限制二进制信号(F)。
图3例示了最简单实现方式的关联存储器单元(10)的读取模式,其中各组仅由一个存储器子单元构成。
通过使二进制信号(En)生效并取消信号(Wr)来激活关联存储器单元(10)的读取模式,其中这两个信号均位于存储器子单元(1_1)和(2)中的各个存储器子单元的命令端口上。
消息(MEin_i)与被馈送到存储器子单元(1_1)的输入端口(In)的子消息(RSin_1)相对应。存储器子单元(1_1)的包括值(RSin_1)的位置i被传递到该存储器子单元(1_1)的v位输出端口(Cadr),并且被馈送到存储器子单元(2)的输入端口(Adr)。存储器子单元(2)的在位置i中的内容(Lout_i)被传递到该存储器子单元(2)的输出端口(Out)。
被馈送至存储器子单元(2)的输入端口(In)的标签(Lin_j)将包括值(Lin_j)的位置的值j传递到该存储器子单元(2)的v位输出端口(Cadr),该v位输出端口与存储器子单元(1_1)的输入端口(Adr)连接。存储器子单元(1_1)的在位置j中的内容(RSout_j)被传递到该存储器子单元(1_1)的输出端口(Out)。该子消息(RSout_j)与消息MEout_j相对应。
关联存储器单元(10)的这种读取模式示出了消息(MEin_i)与标签(Lout_i)的关联,以及相反地,标签(Lin_j)与消息(MEout_j)的关联。
图4示出了图3所示的关联存储器单元(10)的读取模式扩展至其通用实现方式,其中,消息(MEin_i)由n个子消息(RSin_1)至(RSin_n)组成。第一组由n个存储器子单元(参考(1_1)至(1_n))构成,各个存储器子单元由2w个w位的字构成,并且各存储器子单元分别在其输入端口(In)上接收针对存储器子单元(1_1)的子消息(RSin_1)直至针对存储器子单元(1_n)的子消息(RSin_n)。第二组由2v个v位的字的存储器子单元(2)构成,该存储器子单元(2)在输入端口(In)上接收标签(Lin_j)。
在标签到消息的方向上,该方法与图3中所示的方法相同。(Lin_j)到达存储器子单元(2)的输入端口(In)使得值j被传递到该存储器子单元(2)的输出端口(Cadr),该值j通过链接值选择单元(5)被传输到总线AB,并被馈送到所有的存储器子单元(1_1)至(1_n),该存储器子单元各自经由其相应输出端口(Out)传递一起形成消息(MEout_j)的相应子消息(RSout_1至RSout_n)。
在相反的方向(即,消息到标签的方向)上,与消息(MEin_i)相对应的子消息(RSin_1)至(RSin_n)分别被馈送到各个存储器子单元(1_1)至(1_n)的输入端口(In),各个存储器子单元将值i或其它的值k传递至其相应输出端口(Cadr),相关联地,经由该存储器子单元的输出端(M)传递二进制生效信号。在存储器子单元中缺少所馈送的子消息的情况下,存储器子单元将二进制无效信号传递至该存储器子单元的输出端(M),然后就可以忽略该存储器子单元的输出端口(Cadr)上的值。
为了选择最具代表性的值i、k等,将用于计算最大似然的单元(4)引入到关联存储器存储单元(10)中。该单元(4)分别经由输入端口(L_i)至(L_n),从各个存储器子单元(1_1)至(1_n)的输出端口(Cadr)接收值i或其它的值k,同时分别经由输入端(V_1)至(V_n)接收各自的生效二进制信号。通过被引入到单元(4)中的时钟信号(CK)来确保内部排序。最大似然的选择发生于输出端口(L_i)上、将该值发送到存储器子单元(2)(该存储器子单元(2)经由其输出端口(Out)传递标签(Lout_i)的值)的输入端口(Adr)的v位总线上。
由二进制信号(Cor)命令的v位值选择链接单元(5)使得可以获得两种操作模式。当二进制值(Cor)无效时,操作说明与刚刚描述的操作说明相对应。二进制信号(Cor)的生效将总线(AB)从存储器子单元(2)的输出端口(Cadr)切换到单元(4)的输出端口(L_i),这允许输出残缺或部分输入消息(MEin_i)的经校正的消息(MEout_i)。该实施方式允许实现高的检索能力,尤其是在存在擦除或部分消息的情况下。
图5详述了关联存储器单元(10)的初始化顺序,这对于其校正操作而言是必不可少的。目的是将值零写入存在于关联存储器单元(10)中的存储器子单元的所有存储器单元中,并将计数器(4)初始化为零,以便随后能够在读取模式下操作,以将2v-2个消息值(零除外)存储在存储器中。
在上述关联存储器单元(10)中添加用于对初始化进行排序的单元(6),经由二进制信号(Ini)从外部命令该单元(6),存储器子单元和逻辑元件(7)、(8)、(9)、(11_1)至(11_n)和(14)允许进行初始化。
在整个初始化周期中,由初始化排序单元(6)传递的二进制信号(tWr)保持有效。存在于关联存储器单元(10)的存储器子单元(1_1)至(1_n)和(2)中的各个存储器子单元的输入端口(In)分别接收由以下逻辑单元传递的等于零的数据:包括各自分别控制子消息(RSin_1)至(RSin_n)的门(11_1)至(11_n)的逻辑单元,以及包括对标签(Lin_i)进行控制的v个门(9)的逻辑单元。各个逻辑门是具有两个输入端的布尔“AND”功能,这两个输入端中的一者取非并接收二进制信号(tWr),并且这两个输入端中的第二输入端接收子消息或标签的位中的一个。子消息或标签的各个位在二进制信号(tWr)无效时发送,或在二进制信号(tWr)有效时被强制为零。
初始化排序单元(6)通过时钟信号(CK)排序。该单元(6)接收命令二进制信号(Ini)以及发信号通知计数器(3)的计数限制的二进制信号(F),并且该单元(6)提取用于将计数器(3)清零的命令二进制信号(R)以及在整个初始化持续期间有效的初始化二进制信号(tWr)。
至少在一个时钟周期(Ck)的时间内,初始化信号(Ini)的生效使关联存储器单元(10)的初始化功能生效。该初始化以用于命令计数器(3)清零的二进制信号(R)的第一时钟周期(Ck)期间的生效开始。该输出端(R)通过具有两个输入端的“或”逻辑门(8)连接到该计数器(3)的输入端(R),第二输入端接收用于将该计数器(3)清零的外部二进制信号(Rst),该外部二进制信号的值在该初始化期间保持为零。从初始化周期开始,该计数器(3)将输出值(Cpt)初始化为零。在输出初始化二进制信号(tWr)时,第二时钟周期(Ck)生效。该初始化二进制信号(tWr)连接到逻辑单元(7)、(14)、(11_1)至(11_n)和(9)。逻辑单元(7)是具有两个输入端的“或”逻辑门,该逻辑单元(7)利用单元(6)的输出(tWr)或利用外部输入(Wr)使电路输出端内部的二进制信号(Wr)生效,其中该外部输入的值在该初始化时间期间保持为零。逻辑单元(14)是具有两个输入端和输出端的复用器,该逻辑单元(14)的输出端与计数单元(3)的输入端连接并使得该计数单元(3)递增,在该单元(14)的选择输入端(S)接收到有效信号(tWr)时,该输出端与时钟二进制信号(Ck)相对应,并且在该单元(14)的选择输入端(S)接收到无效信号(tWr)时,该输出端与由单元(7)输出的内部二进制信号(Wr)相对应。通过将值零写入存储器直到计数单元(3)的等于2v-1的最终值,各个时钟周期(Ck)将各存储器地址增加一个单位,连接到初始化单元(6)的计数单元(3)此时传递输出信号(F),在随后的周期中,该初始化单元(6)使计数单元(3)进行最后一次递增,其中计数单元(3)返回零,并且该初始化单元(6)使其输出信号(tWr)无效,从而结束初始化周期。
图6详细描述了用于将知识从关联存储器单元(10)传送到外部单元的知识传送模式。除了无效的二进制信号(Wr)以及与计数单元(3)的增量输入端连接的外部传送二进制信号(IncT)之外,该单元(10)的内部组织结构与图2所示的内部组织结构相对应。所有的存储器子单元(1_1)至(1_n)和(2)均处于读取模式,并在其输出端口(Out)上分别验证与消息(MEout_i)和(Lout_i)相对应的子消息(RSout_1)至(RSout_n),可以在关联存储器单元(10)的外部访问消息(MEout_i)和(Lout_i)。传送模式从将计数单元(3)初始化到零开始,通过以下操作来实现该初始化:在短时间内使外部二进制信号(Rst)生效,然后通过读取周期来激活和停用外部传送信号(IncT)。在各个读取周期中,读取由消息(MEout_i)和标签(Lout_i)组成的对,等于零的对表示传送结束。
图7示出了将由p个信息项组成的知识从关联存储器单元(10_1)传送到具有q个信息项的知识的关联存储器单元(10_2)。对子消息(Rsout_a1)至(Rsout_a4)以及第一关联存储器单元(10_1)的标签(Lout_a)进行传送的输出端分别连接到接收子消息(Rsin_a1)至(Rsin_a4)以及第二关联存储器单元(10_2)的标签(Lin_a)的接收端。连接到两个单元(10_1)和(10_2)的有效(=1)信号(En)使这些单元生效。单元(10_1)的二进制信号(Rst)的短暂生效会将内部计数器(3)初始化为零。传送信号(IncT)连接到第一单元(10_1)的输入端(T)以及第二单元(10_2)的输入端(Wr)。第一单元(10_1)的输入端(Wr)和第二单元(10_2)的(R)、(T)被设置为零(无效)。排序时钟(Ck)连接到两个单元(10_1)和(10_2)。接下来,通过读取周期来激活和停用外部传送信号(IncT)。在各个读取周期中,由消息(MEout_i)和标签(Lout_i)组成的对从单元(10_1)传送到单元(10_2),等于零的对表示传送结束。在传送结束时,关联存储器单元(10_2)包括p+q个消息标签对。各个单元(10_1)和(10_2)再次可以自由地在存储器中存储新的对,前者在p个存储之后进行存储,后者在p+q个存储之后进行存储。
图8详细描述了馈送消息、为此的最大似然的计算以及与输出相关联的标签的选择的组织结构。为了更清楚起见,未示出关联存储器单元(10)的有效生效二进制信号(En)和排序时钟(Ck)。
输入消息(MEin_x)由一个或更多个(n)个子消息组成,该子消息的大小均为(w)位,该输入消息的子消息被引用为(RSin_1)至(RSin_n)。这些子消息不一定是有序的。例如,子消息(RSin_1)在被学习时可以被放置在另一位置:位置选择单元(50)将从1到n顺序地放置子消息中的各个消息作为输出。当命令信号(En)生效时,排序时钟控制排序单元(51),该排序单元(51)命令n个w位输入(其中各个输入与一个输入子消息(RSin_1)至(RSin_n)连接)的复用单元(52),该复用单元(52)的输出端连接到所有存储器子单元(1_1)至(1_n)的输入端(In)。
所有子消息被组织成w位的字,该字被划分为w/q(整数除法)位的q个要素(该q个要素被引用为(RSi-1)至(RSi-q)),该q个要素与以下位置相对应:针对(RSi-1)的[w-1:a]位、针对(RSi-2)的[a-1:b]位等,直到[q-1:0]。各个w/q位要素与引用实体相对应。在该要素被较差地引用或不存在的情况下(例如位置[b-1:c]处的子消息(RSi-3)),TCAM模式(17)使得将该部分能够定位在xxxx(它将始终被验证)处。
因此,各个存储器子单元(1_1)至(1_n)证实子消息(RSin_1)至(RSin_n)的存在或不存在。在存在的情况下,存储器子单元在其输出端口(Cadr)上放置存储内容的地址,并使其二进制信号(M)生效。用于计算似然的单元(4)在其输入端(L_1)上接收存储器子单元(1_1)的输出端口(Cadr)的内容,并在其输入端(V_1)上接收该存储器子单元的生效二进制输出(M)。其它存储器子单元(1_2)到(1_n)的连接也是如此(索引(index)与上述输出端和输入端相同)。经由以下示例说明在单元(4)中实现的最大似然选择d的过程:
输入消息MEin_x由子消息(RSin_1)至(RSin_n)构成,这些子消息由单元(50)一个接一个地排序。在n个序列的末尾处,单元(4)已经从各个存储器子单元(1_1)至(1_n)分别接收了下表中呈现的关联数据(V_1)、(L_1)至(V_n)、(L_n):
在n个子消息的该处理序列期间,存储器子单元(1_1)发现了存在的三个存储器内容,其地址027、124和542被呈现给输入端(L_1)并通过单元(4)的(V_1)来生效。(V_1)的无效表示将不考虑输入端(L_1)上显示的数据。以相同的方式,存储器子单元(1_2)找到了存在的存储器内容,其地址124被呈现给输入端(L_2)并通过单元(4)的(V_2)来生效。分别地,存储器子单元(1_3)什么也不传递,存储器子单元(1_4)传递两个数据124和257,存储器子单元(1_5)传递两个数据003和257,并且随后的直至存储器子单元(1_n)的存储器子单元什么也不传递。单元(4)的子单元(41)对存在输入数据的次数进行计数,即,在该示例中,数据121出现一次,数据124出现三次,542出现一次,257出现两次并且003出现一次。子单元(42)选择最具代表性的数据(即,在此示例中,数据124出现最多的3次)并将该最具代表性的数据发送到寄存器(43),该寄存器(43)代表位于单元(4)的输出端口(Li)上的数据,该输出端口(Li)与本身连接到所有存储器子单元(1_1)至(1_n)以及(2)的输入端口(Adr)的v位总线进行通信。存储器子单元(1_1)至(1_n)将代表输出消息(MEout_y)的子消息(RSout_1)至(RSout_n)传递到它们各自的输出端口(out),该子消息的所有要素已被校正(对应于先前学习的模式)。
在单元(4)的子单元(41)任意找到两个等效当量的单独数据的情况下,该数据是可以选择的最可靠的数据。诸如Norman Mingo的不可能的三叉戟之类的难以辨认的形体的视觉感知就是一个示例。
图9详细描述了集成有上述各种模式(即,被动模式(各种功能的停止)、读取模式(参考图4进行了描述)、传送模式(参考图6进行了描述)、写入模式(参考图2进行了描述)以及初始化模式(参考图5进行了描述))的关联存储器单元(10)的操作。下表给出了命令总线的信号(En)、(Wr)和(T)的值与所选操作模式之间的对应关系:
命令总线/模式 En Wre T
停止 0 X X
读取 1 0 0
传送 1 0 1
写入 1 1 0
初始化 1 1 1
为了将各种操作模式一起分组,需要对以上参照图1至图6描述的关联存储器单元(10)进行某些修改。
由计数单元(3)传送的值Cpt[v-1;0]被传递至复用单元(5)的两个输入端中的一个输入端,第二输入由用于计算最大似然的单元(4)的v位输出端(L_i)传递。单元(5)的选择端(S)由二进制信号(Wr)控制,当二进制信号(Wr)有效时,该单元(5)的输出端(Y)与(Cpt)的值相对应,并且在相反情况下与(L_i)的值相对应。该单元(5)的输出端(Y)连接到存储器子单元(2)的输入端口(In),并且连接到第二复用器(12)的两个输入端中的一个输入端,该复用器(12)的第二输入端连接到存储器子单元(2)的输出端口(Cadr)。单元(12)的选择端(S)由具有两个输入端的“或”逻辑单元(13)的输出控制,该逻辑单元(13)分别在其输入端的各个输入端上接收二进制信号(Wr)和(Cor)。复用器(12)的输出端(Y)连接到各个存储器子单元(1_1)至(1_n)的输入端口(Adr)。
执行布尔函数Wr=tWr+Wre的“或”逻辑单元(7)已由执行布尔函数 的“与或”逻辑单元(7')取代,其中逻辑单元(7')与单元(7)的连接相同。
复用器(14)的输入信号(Wr)已被与具有两个输入端的“或”逻辑单元(15)的输出端的连接所取代,该逻辑单元(15)分别在其输入端的各个输入端上接收二进制信号(Wr)和(T)。
用于命令初始化模式(Ini)的二进制信号由具有两个输入端的“与”逻辑单元(16)生成,该逻辑单元(16)分别在其输入端的各个输入端上接收二进制信号(Wre)和(T)。
图10例示了关联存储器(10)与动态吸引子单元(80_i)和语言翻译传送单元(71)结合使用的示例。为了更加清楚,省略了排序信号。
语言翻译传送单元(71)。
由上游元件(这里未示出)生成的时空数据(70)被传递至语言翻译传送单元(71)的输入端口(E,P(i,j)),该语言翻译传送单元(71)继而按照时钟信号(Ck)所设定的速率将位置参考基本语义表示同步地传递至其输出端口G、D、S和P。各个输出端口G、D、S和P独立地且分别地连接到总线G(72)、总线D(73)、总线S(74)和总线P(75),这些总线具有相同的2z位大小。n个动态吸引子单元(80_1)至(80_n)分别经由输入端口G、D、S和P连接到这四个总线。
动态吸引子单元(80_1)
由于所有动态吸引子单元(80_1)至(80_n)是相同的,所以仅更详细地描述动态吸引子单元(80_1),其中着眼于给出其操作的说明。该动态吸引子单元(80_1)包括:
·四个相同的统计处理单元(81_G)、(81_D)、(81_S)和(81_P)。各个统计处理单元(81_x)包括:
o用于计算双线性直方图的单元(82),该单元包括:
■根据统计处理单元(81_x),与G或D或S或P相对应的输入数据(x),
■结果寄存器单元(R),
■用于使双线性直方图计算生效的输入(V),以及
■用于根据操作模式来排序(按顺序或按事件数量)的单元(这里未示出),该单元按顺序循环地确保初始化阶段、直方图计算阶段、寄存器(R)更新阶段以及自动分类阶段。
初始化阶段在于将用于存储直方图计算结果的存储器清零并将各种计算寄存器初始化。
在直方图计算阶段期间,各个所呈现的数据(x)与使计算生效或失效的输入信号(V)相对应。
在序列结束时或者一旦直方图的最大值超过外部参数化的阈值(该阈值取决于所使用的模式),使寄存器(R)和自动分类单元(83)的寄存器处于最新状态。所计算的值包括计算数NBPTS、中值Med、最大值RMAX、其位置PosRMX以及分类限制A、B、C和D。
o两个分类单元,一个是自动的(83),一个是基于请求的(84),这两个分类单元各自从输入端口(x)接收2z位的数据,并且如果该数据被包括在该分类单元的分类限制中:A和B针对z个最高有效位并且C和D针对z个最低有效位,则传递有效的分类二进制信号。
o布尔分类生效单元(85)从两个(自动和基于请求的)分类单元(83、84)接收二进制分类信号。针对这两个二进制分类信号执行的与逻辑运算的结果被发送出统计处理单元(81_x)。
·布尔时空分类单元(86)从四个统计处理单元(81_G)、(81_D)、(81_S)和(81_P)接收二进制分类信号,以便对该二进制分类信号执行与逻辑运算,该逻辑运算的结果被发送到直方图计算生效单元(87)。
·直方图计算生效单元(87)包括具有两个输入端(其中一个输入端取非)的与逻辑单元(88)以及具有两个输入端的或逻辑单元(89)。与逻辑单元(88)接收直接从与逻辑单元(86)输出的二进制信号,对单元(80_1)的输入二进制信号(Cin)取非,并且与逻辑单元(88)将二进制直方图计算生效信号传递至各个统计处理单元(81_G)、(81_D)、(81_S)和(81_P)的输入端(V)。
或逻辑单元(89)接收单元(80_1)的输入二进制信号(Cin)以及来自与逻辑单元(88)的二进制直方图计算生效信号,并将二进制禁止信号传递至单元(80_1)的输出端口(Cout)。
·输出寄存器单元(76)包括寄存器(RSi-1)至(RSi-q),每次值(NBPTS)超过外部参数化的阈值时,更新这些寄存器。寄存器(RSi-1)至(RSi-q)的次序与以下项相对应:中值(Med1、Med2)以及针对各个统计处理单元(81_G)、(81_D)、(81_S)和(81_P)的由分类限制B-A与D-C的差限定的分类范围(P1,P2)。即,针对(RSi-1)和(RSi-2),分别是全局模式的中值(MedG1、MedG2)及其相应范围(PG1,PG2),同样针对动态模式和结构模式,是与能量重心相对应的它们的位置(MedP1、MedP2)及其范围(PP1,PP2)。在此示例中,输出寄存器单元(76)包括寄存器(RSi-1)至(RSi-q)。通常,特定数量的寄存器(RSi-x)由于不相关而未被利用。例如,文本的视觉感知拥有均匀全局模式(颜色相同并且无移动),仅结构方面提供相关信息,在八个起始寄存器中,仅留下三个:重心、尺寸和结构。
·输入寄存器单元(77)包括具有与输出寄存器单元(76)的组织结构相同的组织结构的寄存器(RSo-1)至(RSo-q)。即,针对(RSo-1)至(RSo-q),分别是全局模式的中值(MedG1、MedG2)及其相应范围(PG1,PG2),该范围被变换为分类极限A、B、C、D,使得限制A等于MedG1-PG1/2,限制B等于MedG2+PG2/2,同样,针对限制C和D,按照相同的次序。这些分类限制A、B、C、D被写入到基于请求的分类单元(84)中。针对单元(81_D)、(81_S)和(81_P)的其它基于请求的分类单元(84)重复相同的操作。针对包括超过四位的z位信息,优选通过将分类下限减小1至2位的值并且通过将分类上限增加1至2位的值来扩展分类范围,以便扩大请求。
关联存储器(10)
在先前的图中所示的关联存储器单元(10)的通用实现方式中,该关联存储器单元(10)具有由n个子消息(RSin_1)至(RSin_n)形成的消息(MEin_i)以及由n个子消息(RSout_1)至(RSout_n)形成的消息(MEout_j),作为与动态吸引子单元(80_1)至(80_n)的交互(interface)。
子消息(RSin_1)从动态吸引子单元(80_1)的输出寄存器单元(76)发送到关联存储器单元(10)的存储器子单元(2_1)的输入端口(In)。同样,子消息(RSin_2)从动态吸引子单元(80_2)的输出寄存器单元(76)发送到关联存储器单元(10)的存储器子单元(1_2)的输入端口(In),并且发送按相同的次序继续直至秩n。
相反,子消息(RSout_1)从关联存储器单元(10)的存储器子单元(2_1)的输出端口(Out)发送到动态吸引子单元(80_1)的输入寄存器单元(77)。同样,子消息(RSout_2)从关联存储器单元(10)的存储器子单元(1-2)的输出端口(Out)发送到动态吸引子单元(80_2)的输入寄存器单元(77),并且发送按相同的次序继续直至秩n。
关联存储器单元(10)包括:
·由n个存储器子单元构成的第一组件,各个存储器子单元由2w个w位的字构成,所述子单元被引用为(1_1)至(1_n),并且各自分别经由其输入端口(In)接收针对存储器子单元(1_1)的子消息(RSin_1)至针对存储器子单元(1_n)的子消息(RSin_n),
·由2v个v位的字的存储器子单元(2)构成的第二组件,该存储器子单元经由输入端口(In)接收标签(Lin_j),以及
·用于计算最大似然以便选择最具代表性的值i、k等的单元(4)。该单元(4)分别经由输入端口(L_i)至(L_n)从各个存储器子单元(1_1)至(1_n)的输出端口(Cadr)接收值i或者其它的值k,同时分别经由输入端(V_1)至(V_n)接收各自的生效二进制信号。通过被引入到单元(4)中的时钟信号(CK)来确保内部排序。最大似然的选择发生于输出端口(L_i)上,将该值发送到存储器子单元(2)(该存储器子单元(2)经由其输出端口(Out)传递标签(Lout_i)的值)的输入端口(Adr)的v位总线上。
在标签到消息的方向上,该方法与图3中所示的方法相同。(Lin_j)到达存储器子单元(2)的输入端口(In)使得值j被传递到该存储器子单元(2)的输出端口(Cadr),该值j通过链接值选择单元(5)被发送到总线AB,并被馈送到所有的存储器子单元(1_1)至(1_n),该存储器子单元各自经由其相应输出端口(Out)传递一起形成消息(MEout_j)的相应子消息(RSout_1)至(RSout_n)。
在相反的方向(即,消息到标签的方向)上,与消息(MEin_i)相对应的子消息(RSin_1)至(RSin_n)分别被馈送到各个存储器子单元(1_1)至(1_n)的输入端口(In),各个存储器子单元将值i或其它的值k传递至其相应输出端口(Cadr),相关联地,经由该存储器子单元的输出端(M)传递二进制生效信号。在存储器子单元中缺少所馈送的子消息的情况下,存储器子单元将二进制无效信号传递至该存储器子单元的输出端(M),然后就可以忽略该存储器子单元的输出端口(Cadr)上的值。
消息的分解。
各个接收到的n·w位的消息(MEin)由n个w位子消息(RSin_x)构成,x从1变化至n。同样,由关联存储器传递的n·w位的各个消息(MEout)由n个w位子消息(RSout_x)构成,x从1变化至n。
各个子消息被分成q个z位(与w/q位相对应)的输入要素(RSi_x)或输出要素(RSo_x),这些要素的秩与位置、尺寸和表征的概念相对应。
·位置由坐标系(Ref)限定,该位置通常从一变化至三,并且针对要素对,常常等于二,例如,x和y表示坐标系(Ref)中的两个距离之间的关系,或者t和f表示坐标系(Ref)中的时间与频率之间的关系。通常,它是表示上述表征的数据云的重心位置,即,如子消息的要素所限定的。
·尺寸表征数据云(因此一个要素(RSi_x))针对坐标系(Ref)的轴的各个轴的范围(通常是数据云的大小)。
·表征通常是下列类型中的一种类型的基本语义表示:
·全局:作为非限制性示例,颜色由色度和饱和度限定,子通道由基波(fundamental)限定等。
·动态:作为非限制性示例,移动由速度和取向限定,语音韵律同样如此,等。
·结构:作为非限制性示例,边缘由取向和曲率限定,音素由共振峰随时间的分布限定,等。
标签由v位的字构成,可存储在存储器中的标签的量为2v-1,不包括标签“零”。
标签的定义由可能是不完整的和/或错误的输入消息给出,这使得难以找到标签。在与被应用于(RSin_i)的输入消息(17)的一个部分的位域的掩码相对应的某些要素(RSi_x)上使用三态模式使得能够解决该问题。
图11的a说明了语言翻译传送单元(71)基于由外部传感器(未示出)生成的时空数据(70)(时间数据E和位置数据P(i,j))的操作。输入到该单元(71)中的各个时空数据(70)被语言翻译并按照定位在P处的三个有区别的基本语义表示G、D、S,经由信号Ck同步地传递至四个输出端口。各个输出端口G、D、S和P独立地分别连接到总线G(72)、总线D(73)、总线S(74)和总线P(75)。
图11的b是各种数据G、D、S和P的示意性表示。输入数据被示出为处于其输出全局模式G、其输出动态模式D以及其输出结构模式S,并且在由数据P确定的位置(i,j)中,处于2D模式下的三个配准平面中。位置P被表示为其基础尺寸的函数。该基础尺寸针对视觉数据(x,y)或听觉数据(t,f)通常是2D的,但其当然可以是3D的或减小至1D。
图12例示了动态吸引子单元(80_i)的基于从语言翻译传送单元(71)输出的2z位的数据G、D、S和P的四个双线性直方图的计算结果的组织结构。在此示例中处理的输入数据是2D视觉类型。单元(71)将该数据语言翻译为:
·全局表示(G):沿着两个轴,色度(T)和饱和度(S)。22z个值上的直方图(H_G),图12的a。
·动态表示(D):沿着两个轴,方向(Dir)和移动速度(Vit)。22z个值上的直方图(H_D),图12的b。
·结构表示(S):沿着两个轴,取向边缘(Bo)和曲率(Cb)。22z个值上的直方图(H_S),图12的c。
·位置表示(P):沿着两个轴x和y。22z个值上的直方图(H_P),图12的d。
各个输入数据被编码成2z位的字,其给出了直方图计算的2z×2z矩阵表示,前z位表示一个轴,剩余z位表示矩阵的第二轴。
为了例示表示基本语义表示的感知方法,在图12的d中示出了对象(Ob)的一个边缘段的位置(P)的表示,灰色阴影的值与矩阵(H_P)的双线性直方图计算的分类结果(由分类单元(83)分类)相对应。该直方图计算的结果被发送至输出寄存器单元(76),其值是2z位的位置重心(x,y)及其2z位的尺寸范围(a,b)。
对象(Ob)的感知到的取向和局部曲率(图12的c)由双线性直方图计算(H_S)传递,其计算结果被发送至输出寄存器单元(76),其中,其重心以及因此其2z位的语义取向和曲率表示(bo,cb)和其2z位的公差(a,b)作为值。
图12的a经由双线性直方图计算(H_G)的结果指示对象(Ob)的部分的由其2z位的色度和饱和度值(t,s)与其2z位的公差值(a,b)表示的主色,其被发送至输出寄存器单元(76)。
同样地,图12的b经由双线性直方图计算(H_D)的结果指示对象(Ob)的部分的由其2z位的移动方向值和其速度(t,s)与其2z位的公差值(a,b)表示的局部移动,其被发送至输出寄存器单元(76)。
相反,输入寄存器单元(77)以相同的次序使各个统计处理单元(81_G)、(81_D)、(81_S)和(81_P)的基于请求的分类单元(84)的分类限制处于最新状态。
该感知方法确保了通过学习的标签表示和解释的感知到的数据之间的自动控制。
在此示例应用中,关联存储器(10)的输入子消息(RSin_x)由以下项构成:针对子消息(RSi-1)和(RSi-2)的结果(t,s,a,b)、针对子消息(RSi-3)和(RSi-4)的(dir,vit,a,b)、针对子消息(RSi-5)和(RSi-6)的(bo,cb,a,b)以及针对子消息(RSi-7)和(RSi-8)的(x,y,a,b)。关联存储器(10)的输出子消息(RSout_x)同样如此。
该子消息(RSin_x)是定位的全局、动态或结构基本语义表示。n个子消息(RSin_x)(x从1变化至n)限定消息MEin_i,该消息MEin_i将标签(Lout_i)表示为关联存储器(10)的输出。
图13示出了三个关联存储器单元(10_1)至(10_3)的使用,这三个关联存储器单元一起分组成将消息与标签相关联以及将标签与消息关联起来的集合(60),其中,各个消息被组织成四个子消息,所述关联存储器单元中的各个关联存储器单元被组装成两个层次级别,这两个层次级别并行地将两个输入消息(MEin_a)和(MEin_b)与一个输出标签(Lout_c)关联起来并且将一个输入标签(Lin_c)与两个输出消息(MEout_a)和(MEout_b)关联起来。被输入到单元(10_1)的消息(MEin_a)由四个子消息(RSin_a1)至(RSin_a4)构成,同样地,从单元(10_1)输出的消息(MEout_a)由四个子消息(RSout_a1)至(RSout_a4)构成。单元(10_2)具有与单元(10_1)相同的配置,其中索引a被b取代。标签(Lout_a)和(Lout_b)形成输入到单元(10_3)的消息,同样地,输入标签(Lin_a)和(Lin_b)形成从单元(10_3)输出的消息。该单元(10_3)将其输入标签(Lin-c)与包括子消息(Lin_a)和(Lin_b)的输出消息关联起来,并将其输出标签(Lout-c)与包括子消息(Lout_a)和(Lout_b)的输入消息关联起来。单元(10_3)的输入端上不存在的子消息用值零表示。
三个关联存储器单元(10_1)至(10_3)的这种布置使得消息(MEin_a)和(MEin_b)能够与标签(Lout_c)相关联,反之亦然,使得消息(MEout_a)和(MEout_b)能够与标签(Lin_c)相关联。
该布置是非限制性的,它可以在数量方面扩展到按多个层次级别一起分组的超过三个的关联存储器单元(10_1)至(10_x),子消息数中的消息大小相应地变化。这些树使得能够利用少量的关联存储器单元(10_1)至(10_x)进行复杂且多样的训练例程。
例如,表示数字1的消息(A)和表示数字0的消息(B)分别与关联存储器单元(10_1)和关联存储器单元(10_2)相关联,这些单元分别传递标签“1”和“0”,这些标签形成传递标签“10”的关联存储器单元(10_3)的新消息。在相反方向上,标签“10”生成包括标签“1”和“0”的两个子消息的消息,标签“1”和“0”分别被引入关联存储器单元(10_1)和(10_2)中,并分别生成数字“1”和“0”的基本表示,其中校正了错误消息部分。
同样地,利用该组织结构,消息1将(声音)与一个关联存储器单元(10_1)关联起来,并且消息2将(白鸟(white bird))与一个关联存储器单元(10_2)关联起来,第三关联存储器单元(10_3)与标签“海鸥”关联。相反地,当听到特定于海鸥的声音时,该声音被视为消息1所描述的基本语义表示,该消息1被引入到关联存储器单元(10_1)中,从而声音标签被传递到关联存储器单元(10_3),该关联存储器单元(10_3)的最大似然单元(3)从中获得标签“海鸥”。反过来,同一关联存储器单元(10_3)生成消息(声音)和(白鸟)。通过标签将白鸟子消息引入到关联存储器单元(10_2)中,该关联存储器单元(10_2)从中获得与该白鸟的描述相对应的基本语义表示的消息,以便对其进行定位。
图14示出了将消息与标签关联起来以及将标签与消息关联起来的多个集合的使用至通用层次图生成器(60)的扩展和泛化。为了更清楚起见,未显示用于对这些集合(60)的所有关联存储器(10)进行管理的命令二进制信号(En)、(Wr)、(T)、(Co r)和排序时钟(Ck)。
第一消息关联集合(60_1)将两个消息(A)和(B)与一个标签(L_AB)关联起来,反之亦然。第二消息关联集合(60_2)将两个消息(C)和(D)与一个标签(L_CD)关联起来,反之亦然。第三消息关联集合(60_3)将预先通过消息(L_AB)和(L_CD)定义的两个标签与一个标签(L_ABCD)关联起来,反之亦然。第四消息关联集合(60_4)将预先通过消息(L_ABCD)和消息(E)定义的标签与标签(L_ABCDE)关联起来,反之亦然。
图15例示了机器人类型的使用模式。接收器(92)感知激励(91),然后接收器(92)经由其输出端口(Mes)将传入消息(93)发送到关联存储器单元(10_1),该关联存储器单元(10_1)经由其输入端(MEin)引导其输出端(Lout)至感知标签(94)。根据应用,分析过程(这里未示出)由此推断出命令标签(95),该命令标签被传递到关联存储器(10_1)的输入端口(Lin)。该关联存储器(10_1)然后将传出信号(96)传递到其输出端口(MEout),该传出信号被传送到给出响应(98)的效应单元(effective unit)(97)的输入端口(Cde)。
图16示出了结合有关联存储器(10)的电子部件(20)。为了减少电路焊盘的数量,以下项已被关联:
·接口单元(21),该接口单元用于在关联存储器的输入端/输出端(Lin/Lout)与经由信号(En)和(Wr)控制的电子部件的双向端口(Lin/Lout)之间进行通信。
·接口(22),该接口用于在关联存储器的经由信号(Sel[2:0])选择的输入端/输出端(RSin_i/RSout_i)与电子部件的双向端口(RSin/RSout)之间进行通信。
·命令信号:(En)、(Wr)、(T)、(R)、(F)、(Cor)、(Ck)和(Sel[2:0])。
根据总线大小:v=16并且w=24,该封装具有56个焊盘,这非常紧凑。将n设置为8,存储器容量由8个单元(每个单元有216个24位的字)以及一个存储器单元(该存储器单元有216个16位的字)组成,即,总共13 631 488个存储器单元。目前,一个基本单元小于1μm2,例如铁电单元的28nm技术中为10F2,这使得小于15mm2的电路可用于65 535个标签的关联存储器,因此非常经济。
图17示出了另一种电子集成形式,这次直接集成到已经用另一刻蚀工艺处理过的晶片(30)的基板中。该BEOL过程(BEOL代表“线路后端”)使得能够生产包括感知和关联存储器部分这两者的单个部件。这是片上系统(SoC)。该SoC可以被复制成SoC矩阵阵列,以使得能够并行地处理诸如视觉、听觉、触觉等之类的多种感知模态,并且增加所生成的感知知识。该SoC可以有利地堆叠在图像传感器下方,以获得具有智能的视觉传感器。如果该SoC添加有发送单元,则获得完整工作产品所需的全部就是提供电源。
附图标记和符号
1_i 2v个w位的字的关联存储器子单元(i)
2 2v个v位的字的关联存储器子单元
3 用于对(Cpt)的2v个值进行计数的、具有清零输入端(R)和计数限制输出端(F)的单元
4 用于选择最大似然的单元
5 v位的2对1复用单元
6 用于对存储器子单元进行初始化的单元
7 具有2个输入端的布尔或布尔单元
7’ 具有2个输入端的布尔与或布尔单元
8 具有2个输入端的布尔或布尔单元
9 具有2个输入端的布尔与布尔单元,该两个输入端中的一个输入端是取非的v位输入端
10 关联存储器单元
11_i 具有2个输入端的布尔与布尔单元(i),该两个输入端中的一个输入端是取非的w位输入端
12 v位的2对1复用单元
13 具有2个输入端的布尔或布尔单元
14 1位的2对1复用单元
15 具有2个输入端的布尔或布尔单元
16 具有2个输入端的布尔与布尔单元
17 被应用至输入消息RSin_i的一部分的位域的掩码
20 集成有关联存储器(10)的电子部件
21 用于在关联存储器(10)的输入端/输出端Lin/Lout与电子部件(20)之间进行通信的接口
22 用于在关联存储器(10)的输入端/输出端RSin_i/RSout_i与电子部件(20)的RSin/RSout之间进行通信的接口
30 硅晶片
41 用于通过搜索最具代表性的数据对数据进行排序和量化的单元
42 用于对最具代表性的数据进行量化的寄存器
43 用于选择最大似然的输出值的单元
50 用于选择位置的单元
51 排序单元
52 具有n个w位输入端的复用单元
60 通用层次图生成器
70 时空输入数据
71 语言翻译传送单元
72 G总线
73 D总线
74 S总线
75 P总线
76 输出寄存器单元
77 输入寄存器单元
78 二进制直方图计算生效信号
80 动态吸引子单元
81_G、81_D、81_S、和81_P 统计处理单元
82 双线性直方图计算单元
83 自动分类单元
84 基于请求的分类单元
85 用于使分类生效的布尔单元
86 用于时空分类的布尔单元
87 直方图计算生效单元
91 激励
92 接收器
93 传入通道
94 感知标签
95 命令标签
96 传出通道
97 效应器
98 响应
AB 命令v位总线
Adr 存储器子单元(1_1)至(1_n)以及(2)的存储器地址输入端口
Cadr 用于由子单元(1_1)至(1_n)以及(2)的输入端口(In)选择的存储器内容的地址输出端口
Cin 动态禁止输入命令
Cout 动态禁止输出命令
Ck 排序时钟
Cor 用于对输入消息(RSin_i)进行校正的命令信号输入端
Cpt 计数单元(3)的输出端口
Cpt[v-1:0] 计数单元(3)的二进制输出值
D 动态基本语义表示
En 关联存储器子单元(1_i)和(2)的生效输入函数
F 计数限制输出信号
G 全局基本语义表示
In 存储器子单元(1_1)至(1_n)和(2)的输入端口
L_i 存储器(1)与(2)之间的链接值
L_AB 输入和输出标签
L_CD 输入和输出标签
Lout_i 作为输出的标签
Lin_j 作为输入的标签
M 使关联输出端口(Cadr)的二进制值生效的输出信号
MA、MB、MC、MD、ME 输入和输出消息
MEin_i 将n个子消息(RSin_1)至(RSin_n)一起分组的输入消息
MEout_j 将n个子消息(RSout_1)至(RSout_n)一起分组的输出消息
n 输入或输出子消息(RSin_i)或(RSout_i)的数量
Ob 对象的边缘段
Out 存储器子单元(1_1)至(1_n)和(2)的输出端口
P 基本语义表示G、D和S的位置
q 形成子消息的要素的数量
R 用于将计数单元(3)清零的输入信号
S 结构基本语义表示
Wr 用于控制针对存储器子单元(1)和(2)的写入的信号
Wre 用于选择要写入的关联存储器单元(10)的输入信号
RSi_x z位的输入子消息RSin_i的要素
RSo-x z位的输出子消息RSout_i的要素
RSin_i 存储器输入中的子消息(i)
RSout_i 存储器输出中的子消息(i)
V_i 用于对(L_i)的值进行验证的输入
Wr 存储器写入控制信号(1)和(2)
/1 1位二进制信号
/v v位二进制信号总线
/w w位二进制信号总线,w=z·q
/z z位二进制信号总线

Claims (52)

1.一种关联存储器存储单元(10),所述关联存储器存储单元(10)包括:
-至少一个第一存储器子单元(1_1至1_n),各第一存储器子单元包括2v个w位的字,所述至少一个第一存储器子单元形成n(n≥1)个存储器子单元的第一集合;
-第二存储器子单元(2),所述第二存储器子单元包括2v个v位的字,所述第二存储器子单元形成第二集合;
各个存储器子单元包括:
-2v个存储器位置,所述存储器位置用于存储所述字,通过v位的存储器地址来识别各个位置;
-v位存储器地址输入端口(Adr);
-v位或w位数据输入端口(In);
-v位或w位数据输出端口(Out);
-v位存储器地址输出端口(Cadr);以及
-用于验证内容的二进制输出端(M);
各个存储器子单元被配置为:
-在写入模式下,将经由所述数据输入端口(In)接收的字存储在经由所述存储器地址输入端口(Adr)接收的地址处;
-在读取模式下:
-如果所述2v个存储器位置中的一个存储器位置包括经由所述数据输入端口(In)接收的字,则使二进制输出信号(M)生效,以对当前内容进行验证,并将该位置的地址传递给所述存储器地址输出端口(Cadr);
-否则,不使用于对内容进行验证的二进制输出信号(M)生效。
2.根据权利要求1所述的关联存储器存储单元,其中,各个存储器子单元包括命令端口,所述命令端口接收被所有存储器子单元共用的排序二进制输入时钟(Ck)、存储器选择二进制输入信号(En)以及写入二进制输入信号(Wr),并且所述命令端口被配置为:
-当所述存储器选择二进制输入信号(En)和写入二进制输入信号(Wr)被激活时,激活所述写入模式;
-当所述存储器选择二进制输入信号(En)被激活并且所述写入二进制输入信号(Wr)是不活动的时,激活所述读取模式。
3.根据权利要求1至2中的一项所述的关联存储器存储单元,所述单元是非易失性存储器。
4.根据权利要求1至3中的一项所述的关联存储器存储单元,所述关联存储器存储单元包括:
-第一总线(AB),所述第一总线在读取模式和写入模式下是活动的;
-第二总线,所述第二总线独立于所述第一总线,并且在读取模式下是活动的。
5.根据权利要求4所述的关联存储器存储单元,其中,在读取模式下:
-所述第二总线连接在所述至少一个第一存储器子单元(1_1至1_n)的存储器地址输出端口(Cadr)与所述第二存储器子单元(2)的存储器地址输入端口(Adr)之间;
-所述第一总线(AB)连接在所述第二存储器子单元(2)的存储器地址输出端口(Cadr)与所述至少一个第一存储器子单元(1_1至1_n)的存储器地址输入端口(Adr)之间。
6.根据权利要求1至5中的从属于权利要求5的一项所述的关联存储器存储单元,其中,在写入模式下,所述第一总线(AB)连接到v位二进制计数器(3)的输出端,所述二进制计数器(3)生成2v个计数值,并且所述第一总线(AB)连接到各个存储器子单元(1_1至1_n和2)的存储器地址输入端口(Adr)。
7.根据权利要求6所述的关联存储器存储单元,其中,所述二进制计数器(3)采用非易失性存储器存储。
8.根据权利要求6至7中的从属于权利要求2的一项所述的关联存储器存储单元,所述关联存储器存储单元包括:
-用于对所述存储器子单元进行初始化的单元(6);
-命令端口,所述命令端口接收初始化输入二进制信号(Ini)和所述存储器选择二进制输入信号(En)作为输入;
其中,所述初始化输入二进制输入信号(Ini)的激活被发送到所述初始化单元(6),并与所述存储器选择二进制输入信号(En)的激活一起产生初始化阶段,在所述初始化阶段中,为了将各个存储器子单元的所有存储器位置初始化为零,所述初始化单元(6)被配置为:
-将所述二进制计数器(3)初始化为零;
-激活所述写入二进制输入信号(Wr),以使所述写入模式生效;
-强制将各个存储器子单元的数据输入端口(In)清零;
-在2v+1个周期期间,针对所述排序二进制输入时钟(Ck)的每个周期,将所述二进制计数器(3)递增一个单位。
9.根据权利要求8所述的关联存储器存储单元,其中,在所述初始化阶段之外,如果所述存储器选择二进制输入信号(En)生效,则在所述存储器写入信号(Wr)的每次生效时,所述二进制计数器(3)递增。
10.根据权利要求6至9中的一项所述的关联存储器存储单元,其中,所述二进制计数器(3)被配置为:当所述计数器的二进制值等于2v-1时,激活计数限制信号(F)。
11.根据权利要求6至10中的一项所述的关联存储器存储单元,其中,所述二进制计数器(3)被初始化为零,然后针对限定传送周期的传送二进制信号(T)的命令,所述二进制计数器(3)递增一个单位,在此过程中,所述关联存储器存储单元将与所述计数器的值(i)相关联的标签(Lout_i)和消息(MEout_i)作为输出来传递。
12.根据权利要求4至11中的从属于权利要求4的一项所述的关联存储器存储单元,所述关联存储器存储单元包括用于选择最大似然的单元(4),并且其中,在读取模式下:
-所述第一总线(AB)连接到所述第二存储器子单元(2)的存储器地址输出端口(Cadr),并且连接到所述第一集合中的各个所述第一存储器子单元(1_1至1_n)的存储器地址输入端口(Adr);
-所述第二总线将各个所述存储器地址输出端口(Cadr)的输出以及用于对所述第一集合中的各个所述第一存储器子单元(1_1至1_n)的内容进行验证的二进制输出信号(M)连接到用于选择最大似然的单元(4)的输入端;
-用于选择最大似然的单元(4)被配置为:将输入值中的最具代表性的值(L_i)作为输出来传递,该值被引入到所述第二存储器子单元(2)的地址输入端口(Adr)中。
13.根据权利要求12所述的关联存储器存储单元,其特征在于,当读取模式校正二进制输入信号(Cor)生效时,被发送给所述第一总线(AB)的信息项是用于选择最大似然值的单元(4)的输出(L_i)。
14.根据权利要求6至13中的从属于权利要求6的一项所述的关联存储器存储单元,其中,在写入模式下,在写入操作开始时,所述二进制计数器(3)的值递增一个单位,以通过所述第一总线(AB)传递与新地址相对应的值。
15.根据权利要求6至15中的从属于权利要求6、8和12的一项所述的关联存储器存储单元,所述关联存储器存储单元包括一起分组的存储器子单元(1_1至1_n)的所述第一集合、存储器子单元(2)的所述第二集合、所述二进制计数器(3)、用于计算最大似然的单元(4)、所述初始化单元(6)以及逻辑控制元件的集合,所述控制单元形成所述关联存储器存储单元(10)的基本单元。
16.根据权利要求15所述的关联存储器存储单元,在读取模式下,将由n个w输入位的独立输入子消息(RSin_1至RSin_n)组成的输入消息(MEin_i)与v输出位的输出标签(Lout_j)关联起来,并且将v位输入标签(Lin_i)与由n个w位独立输出子消息(RSout_1至RSout_n)组成的输出消息(MEout_j)关联起来,并且其中:
-所述第一集合中的所述第一存储器子单元的各个数据输入端口(In)分别接收w位输入子消息(RSin_1至RSin_n);
-所述第一集合中的所述第一存储器子单元的各个输出输入端口(Out)分别发出输出子消息(RSout_1至RSout_n);
-所述第二存储器子单元的数据输入端口接收所述输入标签(Lin_i);
-所述第二存储器子单元的输出数据端口发出所述输出标签(Lout_i)。
17.根据权利要求16所述的关联存储器存储单元,其特征在于,各个w位输入子消息(RSin_x)和w位输出子消息(RSout_x)被构造成p个w/p位要素,其中,针对各个要素具有特定于其位置的限定。
18.根据权利要求17所述的关联存储器存储单元,其特征在于,能够在三态内容寻址存储器(TCAM)模式下独立地设置各个w/p位要素。
19.根据权利要求18所述的关联存储器存储单元,其中,如果w/p位的要素被较差地引用或不存在,则在三态内容寻址存储器(TCAM)模式下设置该w/p位的要素。
20.一种关联存储器存储装置,所述关联存储器存储装置包括根据权利要求16至19中的一项所述的关联存储器存储单元(10)。
21.根据权利要求20所述的关联存储器存储装置,所述关联存储器存储装置包括:
-具有输入寄存器单元(77)和结果寄存器单元(76)的至少一个动态吸引子(80_x);
其中,所述关联存储器存储单元(10)的w位输出子消息(RSout_x)被传递到所述动态吸引子的所述输入寄存器单元(77),并且通过所述动态吸引子的所述结果寄存器单元(76)来传递所述关联存储器存储单元(10)的w位输入子消息(RSin_x)。
22.根据权利要求19至21中的一项所述的关联存储器存储装置,其特征在于,所述w位输入子消息(RSin_x)和w位输出子消息(RSout_x)的p个w/p位要素具有全局类型、动态类型或结构类型的基本语义表示作为特定于它们各自位置的限定。
23.根据权利要求22所述的关联存储器存储装置,其特征在于,所述动态吸引子(80_x)被配置成:从包括子序列的经排序的数据流中提取被位置(75)引用并且与子消息相对应的全局类型(72)、动态类型(73)或结构类型(74)的基本语义表示,所述数据流是从用于对输入数据流(70)进行转换的单元(71)输出的。
24.根据权利要求23所述的关联存储器存储装置,所述关联存储器存储装置包括动态吸引子的集合,各个动态吸引子(80_x)限定所述关联存储器存储单元(10)的输入子消息(RSin_x),接收输入二进制信号(Cin),并且传递输出二进制信号(Cout),所述输出二进制信号(Cout)传递至后续动态吸引子(80_x+1)作为输入,其中,所述集合的所述动态吸引子被迭代地补充,当所述集合中的所有动态吸引子被锁定,并且假设没有达到动态吸引子的最大数量且由最后一个动态吸引子识别的相似的数量不低于预定义阈值时,新的动态吸引子被补充并被添加至所述集合。
25.根据权利要求20至24中的一项所述的关联存储器存储装置,所述关联存储器存储装置包括根据权利要求16至19中的一项所述的关联存储器存储单元的集合,其特征在于,所述集合中的所述关联存储器存储单元以双向金字塔模式连接,并且:
-在一个方向上,第一层级包括分别接收p个输入消息并分别生成p个输出标签的多个(p个)关联存储器单元,各个输出标签通过第二层级的关联存储器单元的输入子消息连接,所述第二层级的关联存储器单元生成对所述输入子消息进行汇总的输出标签;
-在相反方向上,第二汇总标签被输入到所述第二层级的关联存储器单元中,所述第二层级的关联存储器单元生成p个输出子消息的集合,所述p个输出子消息分别通过所述第一层级的p个关联存储器单元的集合的输入标签连接,所述第一层级的p个关联存储器单元分别传递p个输出消息的集合。
26.一种装置,所述装置包括第一关联存储器存储单元以及第二关联存储器存储单元,所述第一关联存储器存储单元是根据权利要求1至19中的一项所述的关联存储器存储单元,并且所述第二关联存储器存储单元是根据权利要求1至19中的一项所述的关联存储器存储单元,并且所述装置被配置成执行以下操作:通过关于信息项的分布将所述第一单元的输出端口连接到所述第二单元的输入端口,并且通过使所述第一单元的读取周期与所述第二单元的写入周期同步,来将从所述第一单元的关联存储器存储获取的知识传送到所述第二单元。
27.根据权利要求20至26中的一项所述的关联存储器存储装置,所述关联存储器存储装置包括被集成到电子部件中的根据权利要求15至19中的一项所述的关联存储器存储单元。
28.根据权利要求20至26中的一项所述的关联存储器存储装置,所述关联存储器存储装置包括被堆叠在电子芯片上的根据权利要求15至19中的一项所述的关联存储器存储单元。
29.一种通过关联存储器存储单元(10)来关联存储器存储的方法,所述关联存储器存储单元(10)包括:
-至少一个第一存储器子单元(1_1至1_n),各个第一存储器子单元包括2v个w位的字,所述至少一个第一存储器子单元形成n(n≥1)个存储器子单元的第一集合;
-第二存储器子单元(2),所述第二存储器子单元包括2v个v位的字,所述第二存储器子单元形成第二集合;
各个存储器子单元包括:
-2v个存储器位置,所述存储器位置用于存储所述字,通过v位的存储器地址来识别各个位置;
-v位存储器地址输入端口(Adr);
-v位或w位数据输入端口(In);
-v位或w位数据输出端口(Out);
-v位存储器地址输出端口(Cadr);以及
-用于验证内容的二进制输出端(M);
所述方法包括以下步骤:
-在写入模式下,将经由所述数据输入端口(In)接收的字存储在经由所述存储器地址输入端口(Adr)接收的地址处;
-在读取模式下:
-如果2v个存储器位置中的一个存储器位置包括经由所述数据输入端口(In)接收的字,则使二进制输出信号(M)生效,以对当前内容进行验证,并将该位置的地址传递到所述存储器地址输出端口(Cadr);
-否则,不使用于对内容进行验证的二进制输出信号(M)生效。
30.根据权利要求29所述的关联存储器存储方法,其中,各个存储器子单元包括命令端口,所述命令端口接收被所有存储器子单元共用的排序二进制输入时钟(Ck)、存储器选择二进制输入信号(En)以及写入二进制输入信号(Wr),所述方法包括以下步骤:
-当所述存储器选择二进制输入信号(En)和写入二进制输入信号(Wr)被激活时,激活所述写入模式;
-当所述存储器选择二进制输入信号(En)被激活并且所述写入二进制输入信号(Wr)为不活动的时,激活所述读取模式。
31.根据权利要求29至31中的一项所述的关联存储器存储方法,所述关联存储器存储方法包括以下步骤:
-在读取模式和写入模式下激活所述关联存储器单元的第一总线(AB);
-在读取模式下,独立于所述第一总线,激活所述关联存储器单元的第二总线。
32.根据权利要求31所述的关联存储器存储方法,其中,在读取模式下:
-所述第二总线连接在所述至少一个第一存储器子单元(1_1至1_n)的存储器地址输出端口(Cadr)与所述第二存储器子单元(2)的存储器地址输入端口(Adr)之间;
-所述第一总线连接在所述第二存储器子单元(2)的存储器地址输出端口(Cadr)与所述至少一个第一存储器子单元(1_1至1_n)的存储器地址输入端口(5)(Adr)之间。
33.根据权利要求32所述的关联存储器存储方法,其中,在写入模式下,所述第一总线(AB)连接到v位二进制计数器(3)的输出端并且连接到各个存储器子单元(1_1至1_n和2)的存储器地址输入端口(Adr),其中,所述二进制计数器(3)生成2v个计数值。
34.根据权利要求33所述的关联存储器存储方法,其中,所述关联存储器存储单元(10)包括:
-用于对所述存储器子单元进行初始化的单元(6);
-命令端口,所述命令端口接收初始化输入二进制信号(Ini)和所述存储器选择二进制输入信号(En)作为输入;
所述方法包括以下步骤:在激活了所述初始化输入二进制输入信号(Ini)并激活了用于选择所有存储器的信号(En)的情况下,为了将各个存储器子单元的所有存储器位置初始化为零,激活阶段包括:
-利用所述初始化单元(6)将所述二进制计数器(3)初始化为零;
-利用所述初始化单元(6)激活所述写入二进制输入信号(Wr),以使所述写入模式生效;
-利用所述初始化单元(6)强制将各个存储器子单元的数据输入端口(In)清零;
-在2v+1个周期期间,针对所述排序二进制输入时钟(Ck)的每个周期,利用所述初始化单元(6)将所述二进制计数器(3)递增一个单位。
35.根据权利要求34所述的关联存储器存储方法,其中,在所述初始化阶段之外,所述存储器选择二进制输入信号(En)生效,并且所述关联存储器存储方法包括以下步骤:在所述存储器写入信号(Wr)的每次生效时,递增所述二进制计数器(3)。
36.根据权利要求33至35中的一项所述的关联存储器存储方法,所述关联存储器存储方法包括以下步骤:当所述v位二进制计数器(3)的值达到值2v-1时,使计数限制信号(F)生效。
37.根据权利要求33至36中的一项所述的方法,所述方法包括以下步骤:将所述二进制计数器(3)初始化为零,然后针对限定传送周期的传送二进制信号(T)的命令,将所述二进制计数器(3)递增一个单位,在此过程中,所述关联存储器存储单元将与所述计数器的值(i)相关联的标签(Lout_i)和消息(MEout_i)作为输出来传递。
38.根据权利要求32至37中的从属于权利要求32的一项所述的关联存储器存储方法,其中,所述关联存储器存储单元包括用于选择最大似然的单元(4),并且,在读取模式下:
-所述第一总线(AB)连接到所述第二存储器子单元(2)的存储器地址输出端口(Cadr),并且连接到所述第一集合中的各个所述第一存储器子单元(1_1至1_n)的存储器地址输入端口(Adr);
-所述第二总线将各个所述存储器地址输出端口(Cadr)的输出以及用于对所述第一集合中的各个所述第一存储器子单元(1_1至1_n)的内容进行验证的二进制输出信号(M)连接到用于选择最大似然的单元(4)的输入端;
并且所述方法包括以下步骤:
-将输入值中的最具代表性的值(L_i)作为来自用于选择最大似然的单元(4)的输出来传递,并且将该最具代表性的值(L_i)引入到所述第二存储器子单元(2)的地址输入端口(Adr)中。
39.根据权利要求37所述的关联存储器存储方法,所述关联存储器存储方法包括以下步骤:当读取模式校正二进制输入信号(Cor)生效时,将来自用于选择最大似然值的单元(4)的输出(L_i)的信息项发送到所述第一总线(AB)。
40.根据权利要求29至39中的一项所述的关联存储器存储方法,所述关联存储器存储方法包括以下步骤:在写入模式下,在写入操作开始时,将所述二进制计数器(3)的值递增一个单位,以通过公共总线(AB)传递与新地址相对应的值。
41.根据权利要求34至40中的从属于权利要求32、33和34的一项所述的关联存储器存储方法,其中,将存储器子单元(1_1至1_n)的所述第一集合、存储器子单元(2)的所述第二集合、所述二进制计数器(3)、用于计算最大似然的单元(4)、所述初始化单元(6)以及逻辑控制元件的集合一起分组,所述控制单元形成所述关联存储器存储单元(10)的基本单元。
42.根据权利要求41所述的关联存储器存储方法,所述关联存储器存储方法包括以下步骤:在读取模式下,将由n个w输入位的独立输入子消息(RSin_1至RSin_n)组成的输入消息(MEin_i)与v输出位的输出标签(Lout_j)关联起来,并且将v位输入标签(Lin_i)与由n个w输出位的独立输出子消息(RSout_1至RSout_n)组成的输出消息(MEout_j)关联起来,所述方法包括以下步骤:
-分别利用所述第一集合中的所述第一存储器子单元的各个数据输入端口(In)来接收w位输入子消息(RSin_1至RSin_n);
-分别利用所述第一集合中的所述第一存储器子单元的各个输出输入端口(Out)来发出输出子消息(RSout_1至RSout_n);
-利用所述第二存储器子单元的数据输入端口来接收所述输入标签(Lin_i);
-利用所述第二存储器子单元的输出数据端口来发出所述输出标签(Lout_i)。
43.根据权利要求42所述的关联存储器存储方法,所述关联存储器存储方法包括以下步骤:将各个w位输入子消息(RSin_x)和w位输出子消息(RSout_x)均构造成p个w/p位要素,其中,针对各个要素具有特定于它的位置的限定。
44.根据权利要求43所述的关联存储器存储方法,所述关联存储器存储方法包括以下步骤:在三态内容寻址存储器(TCAM)模式下独立地实现各个w/p位要素。
45.根据权利要求44所述的关联存储器存储方法,其中,如果各个w/p位的要素被较差地引用或不存在,则在三态内容寻址存储器(TCAM)模式下设置该各个w/p位的要素。
46.根据权利要求29至45中的一项所述的关联存储器存储方法,其中,将根据权利要求42至45中的一项所述的关联存储器存储单元集成到装置中。
47.根据权利要求46所述的关联存储器存储方法,其中,所述装置包括:
-具有输入寄存器单元(77)和结果寄存器单元(76)的至少一个动态吸引子(80_x);
所述关联存储器存储方法包括以下步骤:将所述关联存储器存储单元(10)的w位输出子消息(RSout_x)传递到所述动态吸引子的所述输入寄存器单元(77),并且利用所述动态吸引子的所述结果寄存器单元(76)来传递所述关联存储器存储单元(10)的w位输入子消息(RSin_x)。
48.根据权利要求43至47中的从属于权利要求43的一项所述的关联存储器存储方法,其特征在于,所述w位输入子消息(RSin_x)和w位输出子消息(RSout_x)的p个w/p位要素具有全局类型、动态类型或结构类型的基本语义表示作为特定于它们各自位置的限定。
49.根据权利要求48所述的关联存储器存储方法,所述关联存储器存储方法包括以下步骤:利用所述动态吸引子(80_x),从包括子序列的经排序的数据流中提取被位置(75)引用并且与子消息相对应的全局类型(72)、动态类型(73)或结构类型(74)的基本语义表示,所述数据流是从用于对输入数据流(70)进行转换的单元(71)输出的。
50.根据权利要求49所述的关联存储器存储方法,其中,所述装置包括动态吸引子的集合,各个动态吸引子(80_x)限定所述关联存储器存储单元(10)的输入子消息(RSin_x),接收输入二进制信号(Cin),并且传递输出二进制信号(Cout),所述方法包括以下步骤:将所述动态吸引子(80_x)中的一个动态吸引子的输出信号(Cout)传递至后续动态吸引子(80_x+1),并且其中,所述集合的所述动态吸引子被迭代地补充,当所述集合中的所有动态吸引子被锁定,并且假设没有达到动态吸引子的最大数量且由最后一个动态吸引子识别的相似的数量不低于预定义阈值时,新的动态吸引子被补充并被添加至所述集合。
51.根据权利要求46至50中的一项所述的关联存储器存储方法,其中,所述装置包括关联存储器存储单元的集合,所述关联存储器存储方法包括以下步骤:以双向金字塔模式连接所述集合中的所述关联存储器存储单元(10_x),并且:
-在一个方向上,利用第一层级的多个(p个)关联存储器单元来接收p个消息,并且利用所述第一层级的关联存储器单元来生成p个输出标签,各个输出标签通过第二层级的关联存储器单元的输入子消息连接,所述第二层级的所述关联存储器单元生成对所述输入子消息进行汇总的标签;
-在相反方向上,利用被输入到所述第二层级的关联存储器单元中的第二汇总标签来生成p个输出子消息的集合,所述p个输出子消息分别通过所述第一层级的p个关联存储器单元的集合的输入标签连接,所述第一层级的p个关联存储器单元分别传递p个输出消息的集合。
52.一种用于将从一个装置的第一关联存储器存储单元的关联存储器存储获取的知识传送到根据权利要求46至51中的一项所述的装置的第二关联存储器存储单元的方法,所述方法包括以下步骤:关于信息项的分布,将所述第一单元的输出端口连接到所述第二单元的输入端口,并且使所述第一单元的读取周期与所述第二单元的写入周期同步。
CN201880025964.8A 2017-04-28 2018-04-27 关联存储器存储单元、装置和方法 Active CN110537192B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1700463 2017-04-28
FR1700463A FR3065826B1 (fr) 2017-04-28 2017-04-28 Procede et dispositif associe automatises aptes a memoriser, rappeler et, de maniere non volatile des associations de messages versus labels et vice versa, avec un maximum de vraisemblance
PCT/EP2018/060923 WO2018197689A1 (fr) 2017-04-28 2018-04-27 Procédé et dispositif associé automatisés aptes à mémoriser, rappeler et gérer de manière non volatile des associations de messages versus label et vice versa, avec un maximum de vraisemblance

Publications (2)

Publication Number Publication Date
CN110537192A true CN110537192A (zh) 2019-12-03
CN110537192B CN110537192B (zh) 2023-05-26

Family

ID=60138403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880025964.8A Active CN110537192B (zh) 2017-04-28 2018-04-27 关联存储器存储单元、装置和方法

Country Status (7)

Country Link
US (1) US11526741B2 (zh)
EP (1) EP3616131B1 (zh)
JP (1) JP7075414B2 (zh)
KR (1) KR102457546B1 (zh)
CN (1) CN110537192B (zh)
FR (1) FR3065826B1 (zh)
WO (1) WO2018197689A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109074576A (zh) * 2016-04-29 2018-12-21 区块链控股有限公司 使用区块链实现逻辑门功能
KR20210039075A (ko) * 2019-10-01 2021-04-09 삼성전자주식회사 비휘발성 메모리 장치의 초기화 제어 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN85106711A (zh) * 1985-06-13 1987-02-04 英特尔公司 微处理机系统的存储管理
FR2805653A1 (fr) * 2000-02-28 2001-08-31 St Microelectronics Sa Memoire serie programmable et effacable electriquement a lecture par anticipation
EP1293938A2 (de) * 2001-09-07 2003-03-19 Philips Corporate Intellectual Property GmbH Binärzähler mit permutierten Speicherung
CN101868829A (zh) * 2007-11-21 2010-10-20 美光科技公司 用于m位存储器单元的m+n位编程和m+l位读取
CN102768853A (zh) * 2006-05-15 2012-11-07 苹果公司 多级数据存储单元的维护操作
CN104112479A (zh) * 2013-04-22 2014-10-22 爱思开海力士有限公司 编码器、译码器和包括其的半导体器件

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61148547A (ja) 1984-12-24 1986-07-07 Canon Inc メモリ制御装置
US7095783B1 (en) * 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US6067417A (en) * 1992-06-30 2000-05-23 Discovision Associates Picture start token
JP3484093B2 (ja) 1999-02-01 2004-01-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 連想メモリ
JP3845845B2 (ja) 2001-07-24 2006-11-15 株式会社テルミナス・テクノロジー 連想メモリ・システムおよびネットワーク機器およびネットワーク・システム
JP2007280054A (ja) * 2006-04-06 2007-10-25 Sony Corp 学習装置および学習方法、並びにプログラム
US7709359B2 (en) 2007-09-05 2010-05-04 Qimonda Ag Integrated circuit with dielectric layer
JP4427574B2 (ja) 2007-11-30 2010-03-10 国立大学法人広島大学 連想メモリおよびそれを用いた検索システム
JP2010244615A (ja) * 2009-03-19 2010-10-28 Elpida Memory Inc 半導体装置及び半導体装置の書き込み制御方法
FR2964222A1 (fr) 2010-08-25 2012-03-02 Inst Telecom Telecom Bretagne Dispositif d'apprentissage et de decodage de messages, mettant en œuvre un reseau de neurones, procedes d'apprentissage et de decodage et programmes d'ordinateur correspondants.
EP2506265B1 (en) 2011-03-28 2019-06-05 Crocus Technology Magnetic random access memory cell with a dual junction for ternary content addressable memory applications
FR2980876A1 (fr) 2011-10-03 2013-04-05 Inst Telecom Telecom Bretagne Dispositifs d'apprentissage et/ou de decodage de messages sequentiels, mettant en oeuvre un reseau de neurones, procedes d'apprentissage et de decodage et programmes d'ordinateur correspondants
WO2014203039A1 (en) * 2013-06-19 2014-12-24 Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi System and method for implementing reservoir computing using cellular automata
US9299430B1 (en) 2015-01-22 2016-03-29 Nantero Inc. Methods for reading and programming 1-R resistive change element arrays

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN85106711A (zh) * 1985-06-13 1987-02-04 英特尔公司 微处理机系统的存储管理
FR2805653A1 (fr) * 2000-02-28 2001-08-31 St Microelectronics Sa Memoire serie programmable et effacable electriquement a lecture par anticipation
EP1293938A2 (de) * 2001-09-07 2003-03-19 Philips Corporate Intellectual Property GmbH Binärzähler mit permutierten Speicherung
CN102768853A (zh) * 2006-05-15 2012-11-07 苹果公司 多级数据存储单元的维护操作
CN101868829A (zh) * 2007-11-21 2010-10-20 美光科技公司 用于m位存储器单元的m+n位编程和m+l位读取
CN104112479A (zh) * 2013-04-22 2014-10-22 爱思开海力士有限公司 编码器、译码器和包括其的半导体器件

Also Published As

Publication number Publication date
FR3065826B1 (fr) 2024-03-15
JP7075414B2 (ja) 2022-05-25
FR3065826A1 (fr) 2018-11-02
JP2020524317A (ja) 2020-08-13
KR20190126101A (ko) 2019-11-08
EP3616131B1 (fr) 2024-07-10
US11526741B2 (en) 2022-12-13
WO2018197689A1 (fr) 2018-11-01
CN110537192B (zh) 2023-05-26
KR102457546B1 (ko) 2022-10-20
EP3616131A1 (fr) 2020-03-04
US20200050930A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
Han et al. P-CNN: Part-based convolutional neural networks for fine-grained visual categorization
Cheng et al. Holistic prototype activation for few-shot segmentation
Liu et al. A memristor-based optimization framework for artificial intelligence applications
Zand et al. Low-energy deep belief networks using intrinsic sigmoidal spintronic-based probabilistic neurons
CN110998486A (zh) 超低功率神经元形态人工智能计算加速器
US20200193280A1 (en) Adaptation of memory cell structure and fabrication process to binary data asymmetry and bit-inversion tolerance asymmetry in deep learning models
CN110537192A (zh) 利用最大似然对消息/标签关联以及标签/消息关联进行非易失性存储、检索和管理的自动化方法和关联装置
Ranaei et al. Evaluating technological emergence using text analytics: two case technologies and three approaches
Chen et al. A survey on architecture advances enabled by emerging beyond-CMOS technologies
Lebdeh et al. Memristive device based circuits for computation-in-memory architectures
US20130258905A1 (en) Self-evolvable logic fabric
Feng et al. An unsupervised anomaly intrusion detection algorithm based on swarm intelligence
US20230245698A1 (en) Three-dimensional structure of memories for in-memory computing
Chakraborty et al. In situ unsupervised learning using stochastic switching in magneto-electric magnetic tunnel junctions
Ahmed et al. Scalable spintronics-based bayesian neural network for uncertainty estimation
Pękalska et al. A discussion on the classifier projection space for classifier combining
Yang et al. Matching in memristor based auto-associative memory with application to pattern recognition
Tatsumi et al. Nonlinear extension of multiobjective multiclass support vector machine based on the one-against-all method
Lim A hierarchical adaptively boosted in-memory classifier in 6T SRAM
Hoskins An iterated function systems approach to emergence
Liang et al. A Hardware Efficient Reservoir Computing System Using Cellular Automata and Ensemble Bloom Filter
Taha Memristive architectures and algorithms for approximate graph-based inference
Li et al. An improved adaptive support vector machine algorithm with combinational fuzzy C-means clustering
CN105005559A (zh) 一种基于主题特征的文档分类方法
Zhao Gradient Decomposition Methods for Training Neural Networks with Non-Ideal Weights

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant