CN107545914A - 用于智能存储器接口的方法和设备 - Google Patents

用于智能存储器接口的方法和设备 Download PDF

Info

Publication number
CN107545914A
CN107545914A CN201710384433.5A CN201710384433A CN107545914A CN 107545914 A CN107545914 A CN 107545914A CN 201710384433 A CN201710384433 A CN 201710384433A CN 107545914 A CN107545914 A CN 107545914A
Authority
CN
China
Prior art keywords
port
read
data
memory bank
memory
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
CN201710384433.5A
Other languages
English (en)
Other versions
CN107545914B (zh
Inventor
C.H.郑
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.)
Taihao Research Co ltd
Original Assignee
Altera Corp
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 Altera Corp filed Critical Altera Corp
Priority to CN201910982390.XA priority Critical patent/CN110729003A/zh
Publication of CN107545914A publication Critical patent/CN107545914A/zh
Application granted granted Critical
Publication of CN107545914B publication Critical patent/CN107545914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits

Abstract

本发明涉及用于智能存储器接口的方法和设备。一个实施例涉及一种存储器结构,包括存储体组和端口仿真电路模块。所述存储体组包括多个存储器存储体,每个存储器存储体具有一个读取端口和一个写入端口。所述端口仿真电路模块为所述存储体组提供组读取/写入端口和组读取端口。另一实施例涉及一种端口仿真电路模块。所述端口仿真电路模块包括:端口仿真控制电路,所述端口仿真控制电路接收包括针对组读取/写入端口的第一地址和针对组读取端口的第二地址的控制信号;针对所述组读取/写入端口的第一数据路径电路;以及针对所述组读取端口的第二数据路径电路,其中所述第二数据路径电路输出第二读取数据。也公开了其他实施例和特征。

Description

用于智能存储器接口的方法和设备
技术领域
本公开一般地涉及用于与存储器设备进行通信的接口架构的技术领域。
背景技术
静态随机存取存储器(SRAM)通常被用在集成电路中。SRAM单元具有在无需刷新的情况下保持数据的有利特征。SRAM单元可以包括不同数量的晶体管,并且常常因此通过晶体管的数量来指代(例如,六晶体管(6T) SRAM、八晶体管(8T) SRAM等)。晶体管通常形成用于存储位的数据锁存器。可以添加附加晶体管以控制对晶体管的访问。SRAM单元通常被布置为具有行和列的阵列。通常,SRAM单元的每行连接到字线,所述字线确定当前SRAM单元是否被选择。SRAM单元的每列连接到位线,所述位线被用于将位存储到SRAM单元中或者从SRAM单元读取。
发明内容
一个实施例涉及一种存储器结构,所述存储器结构包括存储体(bank)组和端口仿真电路模块。所述存储体组包括多个存储器存储体,每个存储器存储体具有一个读取端口和一个写入端口。所述端口仿真电路模块为所述存储体组提供组读取/写入端口和组读取端口。
另一实施例涉及一种端口仿真电路模块。所述端口仿真电路模块包括:端口仿真控制电路,所述端口仿真控制电路接收包括针对组读取/写入端口的第一地址和针对组读取端口的第二地址的控制信号;针对所述组读取/写入端口的第一数据路径电路;以及针对所述组读取端口的第二数据路径电路,其中所述第二数据路径电路输出第二读取数据。
另一实施例涉及一种从存储器存储体组读取数据的方法。从所述存储器存储体组的读取/写入端口接收请求在指定的存储器存储体中的读取地址处的数据的数据读取。做出所述指定的存储器存储体具有来自所述存储器存储体组的读取端口的冲突数据读取的确定。从所述存储器存储体组中的所有其他存储器存储体中的所述读取地址读取数据。使用从所有其他存储器存储体中的所述读取地址读取的数据来重建在所述指定的存储器存储体中的所述读取地址处的所述数据。
另一实施例涉及一种向存储器存储体组写入数据的方法。接收请求新数据被写入到所述存储器存储体组中的指定的存储器存储体中的写入地址的数据写入。读取在所述指定的存储器存储体中的所述写入地址处的先前数据。计算更新的奇偶性,并且所述更新的奇偶性被写入到所述存储器存储体组的奇偶性存储器存储体中的所述写入地址。所述新数据被写入到所述指定的存储器存储体中的所述写入地址。
其他实施例和特征也被公开。
附图说明
图1描绘了依照本发明的实施例的被组织成多个存储器通道的示例性存储器架构,每个存储器通道包括多个存储体组,并且每个存储体组包括多个SRAM存储体。
图2描绘了依照本发明的实施例的示例性存储体组的进一步细节。
图3是依照本发明的实施例的图2中所描绘的存储体组的信号的示例性时序图。
图4描绘了依照本发明的实施例的示例性端口仿真控制电路的细节。
图5描绘了依照本发明的实施例的端口A写入和读取数据路径电路的细节。
图6是依照本发明的实施例的用于来自仿真1RW端口的冲突存储体内的条目的数据读取的方法的流程图。
图7是依照本发明的实施例的用于来自仿真1RW端口的存储体中的条目的数据写入的方法的流程图。
图8是可包括本发明的各方面的现场可编程门阵列(FPGA)的简化部分框图。
图9是可采用本发明的技术的示例性数字系统的框图。
具体实施方式
本公开提供用于智能存储器接口的电路结构和操作方法。智能存储器接口能够执行智能存储器功能并且可以从没有存储器访问限制的1R+1W(一个读取端口和一个写入端口)SRAM存储体的合集中提供仿真1R+1RW(一个读取端口和一个读取/写入端口)SRAM通道。智能存储器接口也可以被配置为使得1R+1W SRAM存储体的合集在不期望仿真1R+1RW SRAM通道的情况下用作大型1R+1W SRAM。所实现的配置可能取决于映射到集成电路的核心逻辑的应用。
“智能性”经由原子操作功能性被提供给1RW端口。原子操作功能性允许应用在不影响原始存储器带宽的情况下并且用低功率对SRAM存储器本身执行智能存储器操作。
智能存储器接口可以有利地减少常见读取-修改-写入操作所需要的应用功率和事务带宽。这通过去除将来自SRAM的读取数据以物理方式传送回到集成电路的核心逻辑(诸如,例如现场可编程门阵列的核心结构)以得到修改的需要并且将写入数据传送回以被写入到相同SRAM位置来完成。
智能存储器接口也可以有利地允许为存储并转发存储器应用而交换临时数据存储内容。这降低了应用的存储器容量、功率和带宽要求。
图1描绘了依照本发明的实施例的被组织成多个存储器通道的示例性存储器架构,每个存储器通道包括多个存储体组,并且每个存储体组包括多个SRAM存储体。如所描绘的,通道引导(steering)逻辑可以用于与L个存储器通道(存储器通道0、存储器通道1、存储器通道2、...、存储器通道L-2和存储器通道L-1)对接,并且通道引导逻辑可以与集成电路的核心逻辑(诸如FPGA的可编程结构)对接。
通道引导逻辑操作用于从来自核心逻辑的多个输入引导对和来自相应的存储器通道的访问(读取/写入命令和读取/写入数据)。可以存在来自核心逻辑的多个存储器通道访问端口,并且,在那种情况下,通道引导逻辑将访问从特定访问端口引导到正确的存储器通道。在一些实施例中,通道引导逻辑可用UIB-lite(其是通用接口总线的简化版本)代替。
针对存储器通道0的内部结构示出了扩展视图,并且相同的内部结构也将存在于其他L-1个存储器通道中。如所示,每个存储器通道包括M个存储体组(存储体组0、存储体组1、存储体组2、...、存储体组M-2和存储体组M-1)。
针对存储体组0的内部结构示出了扩展视图,并且相同的内部结构也将存在于其他M-1个存储体组中。如所示,每个存储体组包括N个SRAM存储体(存储体0、存储体1、存储体2、...、存储体N-2和存储体N-1)、端口仿真电路模块和通道逻辑。如所指示的,存储体N-1可以是存储体组的示例性实施方式中的奇偶性存储体。每个存储体组使用通道逻辑来与通道引导逻辑对接。通道逻辑使用将读取/写入命令解码到相应的存储体组并且使用如由端口仿真电路模块所提供的端口A和端口B来与存储器通道中的每个存储体组对接。端口A是组读取/写入端口,并且端口B是组读取端口。图2描绘了依照本发明的实施例的示例性存储体组的进一步细节。如所描绘的,可以使用N个1R+1W SRAM存储体(存储体0、存储体1、...、存储体N-2、存储体N-1)和端口仿真电路模块来形成存储体组。
存储体组中的1R+1W SRAM存储体中的一个是奇偶性存储体。在示例性实施方式中,存储体N-1是奇偶性存储体。每个1R+1W SRAM存储体具有一个读取端口(B)和一个写入端口(A)。更特别地,每个SRAM存储体n具有控制(MEA/MEB)端口、地址A(ADRA)端口、地址B(ADRB)端口、数据读取(QB)端口和数据写入(QA)端口。
端口仿真电路模块包括端口仿真控制电路、端口A写入和读取数据路径电路以及端口B读取数据路径电路。
端口仿真控制电路具有初始化(INIT)和请求命令(CMD)控制信号输入、端口A控制和地址(MEA和ADRA)输入、端口B控制和地址(MEB和ADRB)输入。端口仿真控制电路使用这些输入来生成各种控制和地址信号。
注意,术语“原子”操作可以指代与对相同的存储器位置的其他操作并行或同时执行的操作。许多系统避免对由于错误数据的可能创建而导致的原子操作的请求。
在示例性实施方式中,1RW端口(端口A)的请求命令(CMD)包括针对被映射到读取访问(针对仅要求存储器读取的操作)或写入访问(针对要求读取-修改-写入序列的操作)的期望的原子操作的编码。示例编码包括:二进制加法;布尔(Boolean)运算(与、与非、或非、或、异或);数据交换;以及算术比较(等于、大于、小于)。
端口仿真控制电路生成N个MEA/MEB控制信号(MEA[0]/MEB[0]、MEA[1]/MEB[1]、MEA[2]/MEB[2]、...、MEA[N-1]/MEB[N-2]、MEA[N-1]/MEB[N-1])。MEA[0]/MEB[0]控制被提供给SRAM存储体0。MEA[1]/MEB[1]控制被提供给SRAM存储体1。MEA[2]/MEB[2]控制被提供给SRAM存储体2。依此类推。
端口仿真控制电路也生成写入地址A(ADRAWRITE)、读取地址A(ADRAREAD)和读取地址B(ADRBREAD)以及N个选择(ASEL[0]、ASEL[1]、...、ASEL[N-2]、ASEL[N-1])信号。ADRAREAD和ADRBREAD信号被作为输入提供给N个选择器(S[0]、S[1]、...、S[N-2]、S[N-1])。选择器S[0]通过ASEL[0]来控制。选择器S[1]通过ASEL[1]来控制。选择器S[2]通过ASEL[2]来控制。依此类推。当ASEL[n]为0时,则选择器S[n]将ADRAREAD输出到SRAM存储体n的ADRB输入。另一方面,当ASEL[n]为1时,则选择器S[n]将ADRBREAD输出到SRAM存储体n的ADRB输入。
端口A写入和读取数据路径电路从N个SRAM存储体接收N个读取数据输出(QB0、QB1、…、QBN-2、QBN-1)并且从通道逻辑接收数据写入(DA)信号。端口A写入和读取数据路径电路也从端口仿真控制电路接收CMR_R、RDA_EN[N-1:0]、RFW_EN和RDA_FWD_EN控制信号。注意,CMR_R控制信号基于请求命令编码输送规则和原子命令。
使用各种输入信号,端口A写入和读取数据路径电路生成第一数据写入(DARAW)信号和第二数据写入信号(DAN-1)。第一数据写入(DARAW)信号被输出到SRAM存储体0至N-2的QA端口并且输出到端口B读取数据路径电路,以及第二数据写入信号(DAN-1)被输出到SRAM存储体N-1的QA端口。端口A写入和读取数据路径电路也生成被输出到通道逻辑的响应接口(RESP)信号和数据读取(QA)信号。
注意,在示例性实施方式中,端口A写入和读取数据路径电路包括针对用于写入序列的奇偶性计算的读取数据与写入数据之间的期望的原子操作的硬件电路。针对采取多个流水线级的操作,可以为了时序收敛按需流水线化硬件电路。
进一步注意,在示例性实施方式中,从端口A写入和读取数据路径电路输出的响应接口(RESP)信号可以将原子操作的结果输送到通道逻辑。例如,RESP信号可以提供算术比较运算(即,等于、大于或小于)的结果。
端口B读取数据路径电路从N个SRAM存储体的数据读取(QB)端口接收N个数据读取信号(QB0、QB1、…、QBN-2、QBN-1)。端口B读取数据路径电路也从端口A写入和读取数据路径电路接收第一数据写入(DARAW)信号。使用各种输入信号,端口B读取数据路径电路选择给通道逻辑的数据读取(QB)信号。
图3是依照本发明的实施例的图2中所描绘的存储体组的信号的示例性时序图。该时序图假定N=5,使得在存储体组中存在五个SRAM存储体。
CLK信号示出了标记为0至7的时钟周期。存储体组与通道逻辑之间的信号包括MEA、WEA、ADRA、DA、QA、MEB、ADRB和QB信号。在存储体组内部的信号包括MEA[4:0]、MEB[4:0]、ASEL[4:0]、ADRAWRITE、ADRAREAD、ADRBREAD、RDA_EN[4:0]、RFW_EN、RDA_FWD_EN、DARAW、DAN-1、RDB_EN[4:0]和RDB_FWD_EN信号。
在所示的示例中,在时钟周期1,MEA和MEB信号转变为逻辑1,端口A写入使能(WEA)信号是逻辑零(指示读取操作),在ADRA上接收读取地址A0_BK1(指示存储体1中的地址A0),并且在ADRB上接收读取地址B0_BK0(指示存储体0中的地址B0)。在时钟周期2,在满足前一个时钟周期的读取请求时,数据读取QA信号输出数据QA0_BK1(指示从存储体1中的地址A0读取的数据),并且数据读取QB信号输出数据QB0_BK0(指示从存储体0中的地址B0读取的数据)。
类似地,在时钟周期2,在ADRA上接收读取地址A1_BK0(指示存储体0中的地址A1),并且在ADRB上接收读取地址B1_BK0(指示存储体0中的地址B1)。在时钟周期3,在满足前一个时钟周期的读取请求时,数据读取QA信号输出数据QA1_BK0(指示从存储体0中的地址A1读取的数据)。此外,由于ASEL[4:0]被设置为逻辑一,数据读取QB信号输出数据QB1_BK0(指示从存储体0中的地址B1读取的数据)。
注意,不能从存储体0直接读取在时钟周期3中输出的数据QA1_BK0。这是因为由于两个读取地址都在存储体0中而在存储体0处存在访问冲突。因此,依照本公开的实施例,数据QA1_BK0使用关于图6在下面所描述的方法600来重建。在这种情况下,重建要求来自存储体1至4(而不是存储体0)的数据,所以在时钟周期3中RDA_EN[4:0] = 11110。
在时钟周期3,端口A写入使能(WEA)变成逻辑一以指示写入操作,在DA端口上接收写入数据DA2_BK0,在ADRA上接收写入地址A2_BK0(指示存储体0中的地址A2),并且在ADRB上接收读取地址B2_BK3(指示存储体3中的地址B2)。在时钟周期4,作为前一个周期中在端口A上的写入命令的结果,目标条目的先前数据被从存储体0中的地址A2直接读取,并且针对存储体4中的地址A2的时钟奇偶性被更新(所以在时钟周期4中RDA_EN[4:0] = 10001,ADAWRITE=A2,并且DAN-1= DA4=DA2(P))。此外,在满足前一个时钟周期中在端口B上的读取命令时,数据读取QB信号输出数据QB2_BK3(指示从存储体3中的地址B2读取的数据)。
在时钟周期4,在DA端口上接收写入数据DA3_BK2,在ADRA上接收写入地址A3_BK2(指示存储体2中的地址A3),并且在ADRB上接收读取地址B3_BK2(指示存储体2中的地址B3)。在时钟周期5,作为前一个周期中在端口A上的写入命令的结果,(由于存储体2处的读取冲突)针对存储体2中的地址A3重建目标条目的先前数据,并且针对存储体4中的地址A3的时钟奇偶性被更新(所以在时钟周期5中RDA_EN[4:0] = 11011,ADAWRITE=A3,并且DAN-1=DA4=DA3(P))。此外,在满足前一个时钟周期的读取请求时,数据读取QB信号输出数据QB3_BK2(指示从存储体2中的地址B3读取的数据)。
在时钟周期5,端口A写入使能(WEA)变成逻辑零以指示读取操作,在ADRA上接收读取地址A4_BK1(指示存储体1中的地址A4),并且在ADRB上接收读取地址B4_BK1(指示存储体1中的地址B4)。在时钟周期6,在满足前一个时钟周期的读取请求时,数据读取QA信号输出数据QA4_BK1(指示从存储体1中的地址A4读取的数据),并且数据读取QB信号输出数据QB4_BK1(指示从存储体1中的地址B4读取的数据)。
注意,不能从存储体1直接读取在时钟周期6中输出的数据QA4_BK1。这是因为由于两个读取地址都在存储体1中而在存储体1处存在访问冲突。因此,依照本公开的实施例,数据QA4_BK1使用关于图6在下面所描述的方法600来重建。在这种情况下,重建要求来自存储体0、2、3和4(而不是存储体1)的数据,所以在时钟周期6中RDA_EN[4:0] = 11101。
另外MEA和MEB信号在时钟周期6变成逻辑零。因此,在该时钟周期期间不接收读取或写入请求。
图4描绘了依照本发明的实施例的示例性端口仿真控制电路的细节。如所描绘的,该端口仿真控制电路具有初始化(INIT)和命令(CMD)输入、端口A控制和地址(MEA和ADRA)输入、端口B控制和地址(MEB和ADRB)输入。
INIT输入用于利用已知内容(例如,全零)对SRAM阵列进行初始化。当INIT被断言(asserted)时,用户逻辑从端口A循环通过所有地址位以将所有存储体中的所有内容写入为零。在示例性实施方式中,在使用智能存储器之前要求到全零的这种初始化。
端口仿真控制电路生成各种控制和地址信号。特别地,端口仿真控制电路生成N个MEA/MEB控制信号(MEA[0]/MEB[0]、MEA[1]/MEB[1]、MEA[2]/MEB[2]、...、MEA[N-1]/MEB[N-2]、MEA[N-1]/MEB[N-1])。端口仿真控制电路也生成写入地址A(ADRAWRITE)、读取地址A(ADRAREAD)和读取地址B(ADRBREAD)以及N个选择(ASEL[0]、ASEL[1]、...、ASEL[N-2]、ASEL[N-1])信号。最后,端口仿真控制电路生成控制CMR_R、RDA_EN[N-1:0]、RFW_EN和RDA_FWD_EN控制信号。
针对端口仿真控制电路示出了两个配置位。第一配置位是数据重建使能位。当数据重建使能位为逻辑一时,则读取重建被启用。当数据重建使能位为逻辑零时,则读取重建被禁用。在示例性实施方式中,数据重建使能允许通过再用相同的端口仿真机制来重建整个存储体的内容。例如,如果存储体0中的多个位由于单粒子翻转(SEU)或其他错误而被损坏,则用户逻辑可以启用数据重建并且从端口A对存储体0进行读取和写回。这使数据将被从存储体1、2、...、N-1重建(而不从存储体0读取)并且然后写回到存储体0。这校正了存储体0中的错误。
第二配置位是端口A读取使能位。当端口A读取使能位为逻辑一时,则端口A读取操作被启用。当端口A读取使能位为逻辑零时,则端口A读取操作被禁用。
注意,如图4中所示,端口仿真控制电路包括命令解码路径。该命令解码路径操作用于对原子操作进行解码。此外,流水线化命令(CMD_R)被提供给端口A写入和读取数据路径电路。流水线化命令可以用于标识待由端口A写入和读取数据路径电路对一个或多个操作数执行的原子操作。特别地,操作数可以包括可以从QB0至QBN-1获得或者重建的操作数1以及可以由DA提供的可选操作数2。
图5描绘了依照本发明的实施例的端口A写入和读取数据路径电路的细节。如所示,端口A写入和读取数据路径电路从N个SRAM存储体接收N个读取数据输出(QB0、QB1、...、QBN-2、QBN-1)并且从通道逻辑接收数据写入(DA)信号。端口A写入和读取数据路径电路也从端口仿真控制电路接收CMR_R、RDA_EN[N-1:0]、RFW_EN和RDA_FWD_EN控制信号。
使用各种输入信号,端口A写入和读取数据路径电路生成第一数据写入(DARAW)信号和第二数据写入信号(DAN-1)。端口A写入和读取数据路径电路也生成被输出到通道逻辑的响应(RESP)信号和数据读取(QA)信号。
如图5中所示,可以在端口A写入和读取数据路径电路中包括原子操作硬件电路。该原子操作硬件电路可以包括二进制加法器逻辑(ADD)、布尔运算逻辑(BOOL)(诸如与、与非、或、或非和异或逻辑)以及比较逻辑(CMP)。此外,可以包括控制电路以针对数据交换操作(SWAP)允许读取数据返回。多路复用器(MUX)可以用于选择要写回并且用于最终奇偶性计算的写入数据(修改的或原始写入数据)。可以经由仿真读取数据路径(QA)返回原始读取数据,并且响应接口(RESP)可以用于输送由比较逻辑(CMP)执行的算术比较运算的结果。
图6是依照本发明的实施例的用于来自存储体组的1RW端口的冲突存储体内的条目的数据读取的方法600的流程图。可以使用关于图1至图5上面所描述的示例性电路来实现方法600。
按照步骤602,从存储体组的1RW端口接收数据读取命令。在上面所描述的示例性电路中,端口A是存储体组的1RW端口,并且通过使MEA被启用并且使WEA被禁用以及在ADRA中接收读取地址和存储体号在1RW端口处接收数据读取命令。
按照步骤604,确定了数据读取是到具有来自存储体组的1R端口的冲突数据读取的存储体。在上面所描述的示例性电路中,端口B是存储体组的1R端口,并且通过使MEB被启用并且在ADRB中接收读取地址和存储体号在1R端口处接收数据读取命令。在上面关于图3的时序图讨论了来自1RW和1R端口的冲突数据读取的示例。注意,如果在存储体处不存在冲突,则数据读取可以直接继续进行,而不用重建,如上面关于图3的时序图所讨论的。
按照步骤606,为了满足来自1RW端口数据读取,数据被从存储体组中的所有其他存储体中的相同地址读取。所有其他存储体包括所有不冲突数据存储体和奇偶性存储体。例如,如果N=5,使得存储体号从0变成4,并且发生冲突的存储体号是3,则数据被从存储体0、1、2和4中的相同地址读取,其中存储体4可以是奇偶性存储体。
按照步骤608,用于满足来自1RW端口的数据读取的数据被重建。考虑其中N=5、发生冲突的存储体号是3并且其中奇偶性存储体(存储体4)保持偶奇偶性位的示例。在此示例中,如果存储体0、1、2和4中的对应位合计为奇数,则可以将存储体3中的对应位重建为逻辑1。另一方面,如果存储体0、1、2和4中的对应位合计为偶数,则可以将存储体3中的对应位重建为逻辑0。以这种方式,可以逐位重建用于满足来自1RW端口的数据读取的数据。
按照步骤610,经重建的数据经由存储体组的1RW端口输出。在上面所描述的示例性电路中,端口A是存储体组的1RW端口,并且在数据QA中从1RW端口输出经重建的数据。
图7是依照本发明的实施例的用于来自存储体组的仿真1RW端口的存储体中的条目的数据写入的方法700的流程图。可以使用关于图1至图5上面所描述的示例性电路来实现方法700。
按照步骤702,从存储体组的1RW端口接收数据写入命令。在上面所描述的示例性电路中,端口A是存储体组的1RW端口,并且通过使MEA和WEA两者被启用并且在ADRA中接收写入地址和存储体号在1RW端口处接收数据写入命令。
按照步骤704,存储在被写入的目标条目处的先前数据(即,在ADRA中接收的写入地址和存储体号处的数据)被读取。如关于图3的时序图上面所讨论的,可以在不存在读取存储体冲突的情况下直接读取先前数据,或者可以在存在读取存储体冲突的情况下重建先前数据。
按照步骤706,经更新的奇偶性数据(针对奇偶性存储体中的写入地址)被计算。如图3的时序图中所指示的,经更新的奇偶性数据被输出到DAN-1数据信号。
按照步骤708,新数据被写入到目标条目中,并且经更新的奇偶性数据被写入到奇偶性存储体中。如图3的时序图中所指示的,DARAW数据信号提供被写入到由MEA[N-2:0]所指示的存储体中的新数据。如图3的时序图中进一步指示的,DAN-1信号提供被在由ADRAWRITE所指示的地址处写入到存储体N-1中的经更新的奇偶性数据。
注意,关于图7上面所描述的写入序列是一种读取-修改-写入(RMW)序列。RMW序列的“修改”步骤是计算待写入到奇偶性存储体中的新奇偶性值的操作。
图8是可包括本发明的各方面的现场可编程门阵列(FPGA) 10的简化部分框图。应该理解的是,本发明的实施例可被用在诸如现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、复杂可编程逻辑设备(CPLD)、可编程逻辑阵列(PLA)、数字信号处理器(DSP)和专用集成电路(ASIC)之类的许多类型的集成电路中。
FPGA 10在其“核心”内包括通过变化长度和速度的列和行互连导体的网络而互连的可编程逻辑阵列块(或LAB) 12的二维阵列。LAB 12包括多个(例如,十个)逻辑元件(或LE)。
LE是提供用户定义的逻辑功能的高效实施方式的可编程逻辑块。FPGA具有可被配置成实现各种组合和顺序功能的许多逻辑元件。逻辑元件能够访问可编程互连结构。该可编程互连结构可被编程为按照几乎任何期望的配置互连逻辑元件。
FPGA 10也可以包括分布式存储器结构,所述分布式存储器结构包括遍及阵列提供的变化大小的随机存取存储器(RAM)块。RAM块包括例如块14、块16和块18。这些存储器块也可包括移位寄存器和FIFO缓冲器。
FPGA 10还可以包括可实现例如具有加或减特征的乘法器的数字信号处理(DSP)块20。在此示例中位于芯片外围附近的输入/输出元件(IOE) 22支持许多单端和差分输入/输出标准。每个IOE 22耦合到FPGA 10的外部端子(即,引脚)。可以像所示的那样布置收发器(TX/RX)通道阵列,例如,其中每个TX/RX通道电路30耦合到数个LAB。
应当理解的是,在本文中仅出于说明性目的描述FPGA 10并且可在许多不同类型的PLD、FPGA和ASIC中实现本发明。
图9示出可具体实现本发明的技术的示例性数字系统50的框图。系统50可以是编程数字计算机系统、数字信号处理系统、专用数字交换网络或其他处理系统。而且,可针对诸如电信系统、汽车系统、控制系统、消费电子产品、个人计算机、互联网通信和联网等之类的各式各样的应用来设计此类系统。进一步,可以在单个板上、在多个板上或者在多个外壳内提供系统50。
系统50包括通过一条或多条总线互连在一起的处理单元52、存储器单元54和输入/输出(I/O)单元56。根据此示例性实施例,FPGA 58被具体实现在处理单元52中。FPGA 58可为系统50内的许多不同的目的服务。FPGA 58例如可以是处理单元52的支持其内部和外部操作的逻辑构件。FPGA 58被编程为实现在系统操作中参与其特定角色所必需的逻辑功能。FPGA 58可通过连接60特别耦合到存储器54并且通过连接62耦合到I/O单元56。
处理单元52可以将数据导向适当的系统组件以用于处理或存储,执行存储在存储器54中的程序,经由I/O单元接收和发送数据,或其他类似的功能。处理单元52可以是中央处理单元(CPU)、微处理器、浮点协处理器、图形协处理器、硬件控制器、微控制器、被编程以用作控制器的现场可编程门阵列、网络控制器,或任何类型的处理器或控制器。此外,在许多实施例中,常常不需要CPU。
例如,代替CPU,一个或多个FPGA 58可以控制系统的逻辑操作。作为另一示例,FPGA 58用作可以被按需重新编程以处理特定计算任务的可重构处理器。可替换地,FPGA58本身可以包括嵌入式微处理器。存储器单元54可以是随机存取存储器(RAM)、只读存储器(ROM)、硬盘或软盘介质、闪速存储器、磁带或任何其他存储装置,或这些存储装置的任何组合。
结论
在以上描述中,许多特定细节被给出以提供对本发明的实施例的彻底理解。然而,图示的本发明的实施例的以上描述不旨在为详尽无遗的或者将本发明限于所公开的精确形式。相关领域的技术人员将认识到,可在没有这些特定细节中的一个或多个的情况下或者利用其他方法、组件等实践本发明。
在其他实例中,未详细地示出或者描述众所周知的结构或操作以避免使本发明的各方面混淆。虽然在本文中出于说明性目的对本发明的特定实施例和针对本发明的示例进行了描述,但是如相关领域的技术人员将认识的那样,各种等效修改在本发明的范围内是可能的。可以鉴于以上详细描述对本发明做出这些修改。

Claims (11)

1.一种存储器结构,所述存储器结构包括:
包括多个存储器存储体的存储体组,每个存储器存储体具有一个读取端口和一个写入端口;以及
端口仿真电路模块,所述端口仿真电路模块为所述存储体组提供组读取/写入端口和组读取端口。
2.根据权利要求1所述的存储器结构,其中所述端口仿真电路模块包括:
端口仿真控制电路,所述端口仿真控制电路接收包括针对所述组读取/写入端口的第一地址和针对所述组读取端口的第二地址的控制信号。
3.根据权利要求1所述的存储器结构,其中所述端口仿真控制电路包括命令解码路径电路。
4.根据权利要求3所述的存储器结构,其中所述端口仿真电路模块还包括:
针对所述组读取/写入端口的第一数据路径电路,其中所述第一数据路径电路接收写入数据并且输出第一读取数据;以及
针对所述组读取端口的第二数据路径电路,其中所述第二数据路径电路输出第二读取数据。
5.根据权利要求1所述的存储器结构,其中所述第一数据路径电路包括用于原子操作的电路。
6.根据权利要求5所述的存储器结构,其中所述用于原子操作的电路包括二进制加法器逻辑、布尔运算逻辑、比较逻辑和数据交换逻辑。
7.根据权利要求1所述的存储器结构,其中当与从所述组读取端口接收到的数据读取命令存在存储体冲突时,所述端口仿真电路模块重建通过从所述组读取/写入端口接收到的数据读取命令所请求的数据。
8.根据权利要求7所述的存储器结构,其中通过从所述组读取/写入端口接收到的所述数据读取命令所请求的所述数据通过从所述存储体组中的所有其他存储器存储体中的相同地址读取数据来重建。
9.根据权利要求1所述的存储器结构,其中,在从所述组读取/写入端口接收到用于将新数据写入到目标条目的数据写入命令之后,所述端口仿真电路模块读取所述目标条目的先前数据。
10.根据权利要求9所述的存储器结构,其中,在从所述组读取/写入端口接收到用于将所述新数据写入到所述目标条目的所述数据写入命令之后,所述端口仿真电路模块也计算更新的奇偶性并且将所述更新的奇偶性写入到所述存储体组的奇偶性存储体中的对应条目中。
11.一种从存储器存储体组读取数据的方法,所述方法包括:
接收从所述存储器存储体组的读取/写入端口请求在指定的存储器存储体中的读取地址处的数据的数据读取;
确定所述指定的存储器存储体具有来自所述存储器存储体组的读取端口的冲突数据读取;
从所述存储器存储体组中的所有其他存储器存储体中的所述读取地址读取数据;以及
使用从所有所述其他存储器存储体中的所述读取地址读取的所述数据来重建在所述指定的存储器存储体中的所述读取地址处的所述数据。
CN201710384433.5A 2016-06-27 2017-05-26 用于智能存储器接口的方法和设备 Active CN107545914B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910982390.XA CN110729003A (zh) 2016-06-27 2017-05-26 用于智能存储器接口的方法和设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/193,686 US9990160B2 (en) 2016-06-27 2016-06-27 Methods and apparatus for smart memory interface
US15/193686 2016-06-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910982390.XA Division CN110729003A (zh) 2016-06-27 2017-05-26 用于智能存储器接口的方法和设备

Publications (2)

Publication Number Publication Date
CN107545914A true CN107545914A (zh) 2018-01-05
CN107545914B CN107545914B (zh) 2023-07-25

Family

ID=58715006

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710384433.5A Active CN107545914B (zh) 2016-06-27 2017-05-26 用于智能存储器接口的方法和设备
CN201910982390.XA Pending CN110729003A (zh) 2016-06-27 2017-05-26 用于智能存储器接口的方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910982390.XA Pending CN110729003A (zh) 2016-06-27 2017-05-26 用于智能存储器接口的方法和设备

Country Status (3)

Country Link
US (1) US9990160B2 (zh)
EP (2) EP3264415B1 (zh)
CN (2) CN107545914B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617838A (zh) * 2019-02-22 2019-04-12 盛科网络(苏州)有限公司 多通道报文汇聚共享内存管理方法及系统
CN111522753A (zh) * 2019-12-11 2020-08-11 中国船舶重工集团公司第七0九研究所 一种基于状态机的sdram控制方法及系统
CN111857817A (zh) * 2019-04-25 2020-10-30 比亚迪股份有限公司 数据读取方法、数据读取装置及数据读取系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111370043B (zh) * 2020-03-06 2022-01-21 展讯通信(上海)有限公司 Sram存储阵列和存储器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184846A1 (en) * 2005-02-03 2006-08-17 International Business Machines Corporation System and method for managing mirrored memory transactions and error recovery
US20100205383A1 (en) * 2009-02-12 2010-08-12 International Business Machines Corporation Memory Controller for Improved Read Port Selection in a Memory Mirrored System
CN102866860A (zh) * 2011-07-08 2013-01-09 赛普拉斯半导体公司 在同一循环中具有多个地址存取的存储器装置和方法
CN103455281A (zh) * 2012-05-30 2013-12-18 博科通讯系统有限公司 由单端口存储器块实现的两端口存储器

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4920483A (en) * 1985-11-15 1990-04-24 Data General Corporation A computer memory for accessing any word-sized group of contiguous bits
US6011744A (en) * 1997-07-16 2000-01-04 Altera Corporation Programmable logic device with multi-port memory
US6173425B1 (en) * 1998-04-15 2001-01-09 Integrated Device Technology, Inc. Methods of testing integrated circuits to include data traversal path identification information and related status information in test data streams
FR2822319B1 (fr) * 2001-03-16 2003-05-30 Thomson Csf Commutateur de trames d'informations de taille variable pour reseaux securitaires embarques
US7660316B2 (en) * 2002-07-02 2010-02-09 Emulex Design & Manufacturing Corporation Methods and apparatus for device access fairness in fibre channel arbitrated loop systems
JP5089167B2 (ja) 2003-04-22 2012-12-05 アギア システムズ インコーポレーテッド 共用マルチバンク・メモリのための方法および装置
US8787376B1 (en) 2008-03-17 2014-07-22 Juniper Networks, Inc. Systems and methods for accessing a multi-bank SRAM
US8370557B2 (en) 2008-12-19 2013-02-05 Intel Corporation Pseudo dual-port SRAM and a shared memory switch using multiple memory banks and a sideband memory
US8447918B2 (en) * 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
US8209470B2 (en) * 2009-04-10 2012-06-26 Honeywell International Inc. CPU data bus PLD/FPGA interface using dual port RAM structure built in PLD
US8166237B1 (en) * 2009-10-23 2012-04-24 Altera Corporation Configurable allocation of thread queue resources in an FPGA
US8959291B2 (en) * 2010-06-04 2015-02-17 Lsi Corporation Two-port memory capable of simultaneous read and write
US8446170B2 (en) * 2011-05-05 2013-05-21 Actel Corporation FPGA RAM blocks optimized for use as register files
US9128662B2 (en) * 2011-12-23 2015-09-08 Novachips Canada Inc. Solid state drive memory system
CN102968394A (zh) * 2012-10-19 2013-03-13 华中科技大学 一种基于乒乓机制的fpga与dsp数据传输系统
CN103336750B (zh) * 2013-07-10 2015-10-28 广西科技大学 寻址与存储单元一体化双端口存储控制器
US9819345B2 (en) 2014-10-02 2017-11-14 Altera Corporation Scalable 2.5D interface architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184846A1 (en) * 2005-02-03 2006-08-17 International Business Machines Corporation System and method for managing mirrored memory transactions and error recovery
US20100205383A1 (en) * 2009-02-12 2010-08-12 International Business Machines Corporation Memory Controller for Improved Read Port Selection in a Memory Mirrored System
CN102866860A (zh) * 2011-07-08 2013-01-09 赛普拉斯半导体公司 在同一循环中具有多个地址存取的存储器装置和方法
CN103455281A (zh) * 2012-05-30 2013-12-18 博科通讯系统有限公司 由单端口存储器块实现的两端口存储器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617838A (zh) * 2019-02-22 2019-04-12 盛科网络(苏州)有限公司 多通道报文汇聚共享内存管理方法及系统
CN111857817A (zh) * 2019-04-25 2020-10-30 比亚迪股份有限公司 数据读取方法、数据读取装置及数据读取系统
CN111857817B (zh) * 2019-04-25 2024-02-20 比亚迪半导体股份有限公司 数据读取方法、数据读取装置及数据读取系统
CN111522753A (zh) * 2019-12-11 2020-08-11 中国船舶重工集团公司第七0九研究所 一种基于状态机的sdram控制方法及系统

Also Published As

Publication number Publication date
EP3629330A1 (en) 2020-04-01
EP3264415B1 (en) 2019-08-21
US9990160B2 (en) 2018-06-05
US20170371594A1 (en) 2017-12-28
EP3264415A1 (en) 2018-01-03
CN110729003A (zh) 2020-01-24
CN107545914B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
CN107545914A (zh) 用于智能存储器接口的方法和设备
CN208061184U (zh) 矢量处理单元
CN107408403A (zh) 存储器中的最长元素长度确定
US10977033B2 (en) Mask patterns generated in memory from seed vectors
US20190362762A1 (en) Apparatuses and methods for scatter and gather
CN107209665A (zh) 产生并执行控制流
CN107729990A (zh) 支持离散数据表示的用于执行人工神经网络正向运算的装置及方法
CN107003989A (zh) 用于人工神经网络中的分布式与协作计算的方法和装置
JPS62217353A (ja) ダイナミックに再配置可能なベクトルビットスライスを使用する単一命令多重デ−タセルアレイ処理装置
CN109937450A (zh) 用于存储器对准的设备及方法
CN109871236A (zh) 具有低功率并行矩阵乘法流水线的流处理器
CN107423816A (zh) 一种多计算精度神经网络处理方法和系统
TW201835906A (zh) 用於在資料路徑中計算之裝置及方法
TW202040369A (zh) 矩陣正規/轉置讀取及包含矩陣正規/轉置讀取的可重配置資料處理器
US20230069360A1 (en) System and method for energy-efficient implementation of neural networks
Fey et al. Using memristor technology for multi-value registers in signed-digit arithmetic circuits
CN114286977A (zh) 人工智能加速器
CN114341983A (zh) 用于人工智能操作的激活函数
EP2027539A2 (en) Memory architecture
Ollivier et al. CORUSCANT: Fast efficient processing-in-racetrack memories
JPH06274528A (ja) ベクトル演算処理装置
CN107103358A (zh) 基于自旋转移力矩磁存储器的神经网络处理方法及系统
CN109003635A (zh) 数据复制
JPS62138936A (ja) セルアレイプロセツサチツプの試験方法と装置
US11488650B2 (en) Memory processing unit architecture

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220913

Address after: California, USA

Applicant after: INTEL Corp.

Address before: California, USA

Applicant before: Altera Corp.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20221026

Address after: Irish Dublin

Applicant after: Taihao Research Co.,Ltd.

Address before: California, USA

Applicant before: INTEL Corp.

GR01 Patent grant
GR01 Patent grant