CN105912484B - 高带宽存储器和少故障差分异或 - Google Patents

高带宽存储器和少故障差分异或 Download PDF

Info

Publication number
CN105912484B
CN105912484B CN201610090389.2A CN201610090389A CN105912484B CN 105912484 B CN105912484 B CN 105912484B CN 201610090389 A CN201610090389 A CN 201610090389A CN 105912484 B CN105912484 B CN 105912484B
Authority
CN
China
Prior art keywords
block
complementary
storage sub
data
sub
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.)
Expired - Fee Related
Application number
CN201610090389.2A
Other languages
English (en)
Other versions
CN105912484A (zh
Inventor
特拉维斯·黑比希
米龙·比埃
卡尔·蒙策尔
理查德·约翰·斯特凡妮
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Avago Technologies General IP Singapore Pte Ltd
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 Avago Technologies General IP Singapore Pte Ltd filed Critical Avago Technologies General IP Singapore Pte Ltd
Publication of CN105912484A publication Critical patent/CN105912484A/zh
Application granted granted Critical
Publication of CN105912484B publication Critical patent/CN105912484B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1621Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
    • 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
    • G06F13/1678Details of memory controller using bus width
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Static Random-Access Memory (AREA)
  • Dram (AREA)
  • Logic Circuits (AREA)

Abstract

本发明涉及高带宽存储器和少故障差分异或,提供了一种高带宽多读存储设备,包括多个存储块、多个地址输入总线和多个输出数据总线。存储块包括辅助性存储块,且每个存储块包括几个包括辅助性存储子块的存储子块。输出数据总线输出与地址相对应的数据,该地址在多读操作期间与地址输入总线相对应。地址与存储块的存储子块的单个存储子块相对应。本发明还提供了包括选择逻辑电路、预充电路和多路复用器的差分异或电路。该选择逻辑电路提供与单端输入信号相对应的互补输出信号。在评估阶段,多路复用器提供差分输出信号。

Description

高带宽存储器和少故障差分异或
相关申请的交叉引用
依据《美国法典》第三十五章,第一百一十九条,本申请要求于2015年2月19日提交的美国临时专利申请62/118,454优先权的权益,此处通过引用将其全部内容结合与此。
技术领域
本描述一般涉及存储器电路,并且更具体而言,但非排外地,涉及高带宽存储器和少故障差分异或(Exclusive OR,XOR)。
背景技术
需要高存储器带宽的网络处理器可使用相当大且实现昂贵的多端口存储器位单元。例如,基于多端口存储器位单元的寄存器文件存储器可使用4端口存储器位单元(每个使用4组通门)或4读端口存储器位单元(使用4组串行晶体管(例如NFET)为读端口和通门为写端口)。但是,这些位单元大体面积昂贵,且最常被用于小容量寄存器文件应用。现有的位单元和相关的存储器架构不适用于网络处理器所需要的大容量存储器。
发明内容
根据本发明示例性实施例,提供了一种高带宽多读存储设备,设备包括:多个存储块,多个存储块中的每个存储块包括多个存储子块,其中,多个存储块包括辅助性存储块,多个存储子块包括辅助性存储子块;多个地址输入总线:以及多个输出数据总线,配置为输出与多个地址相对应的数据,其中,在多读操作期间,多个地址与多个地址输入总线相对应;其中,多个地址与多个存储块中的一个存储块的多个存储子块中的单个存储子块相对应。
多个输出数据总线中的至少部分输出数据总线配置为通过一个或多个异或门耦合至除单个存储子块外的至少两个存储子块。
多个输出数据总线的第一输出数据总线配置为输出与多个地址的第一地址相对应的数据,第一地址在多读操作期间与多个地址输入总线的第一地址输入总线相对应,其中,辅助性存储子块中的不是所述辅助性存储块的一部分的各个辅助性存储子块配置为包含主要辅助性数据,并且其中,至少一个异或门配置为提供主要辅助性数据,且配置为在写操作期间,接收来自多个存储块中的不同块的多个存储子块中的至少两个存储子块的输入数据,多个存储子块中的至少两个存储子块包括各辅助性存储子块。
作为辅助性存储块的一部分的每个辅助性存储子块配置为包含次级辅助性数据,其中至少一个异或门配置为提供次级辅助性数据,且配置为在写操作期间,接收来自多个存储块中的至少两个存储块的多个存储子块中的至少两个存储子块的输入数据。
辅助性存储块的最后一个辅助性存储子块配置为包含三级辅助性数据,其中,至少一个异或门配置为提供三级辅助性数据,且配置为在写操作期间,接收来自辅助性存储块的至少两个存储子块的输入数据。
第二输出数据总线配置为输出与多个地址的第二地址相对应的数据,第二地址在多读操作期间与第二地址输入总线相对应,其中,第二输出数据总线耦合至第一读异或门,第一读异或门配置为接收来自多个存储块中的第一存储块的一个存储子块的数据和多个存储块中的第一存储块的一个辅助性存储子块的数据,其中,第一存储块的一个存储子块和第一存储块的一个辅助性存储子块不同。
多个输出数据总线的第三输出数据总线配置为输出与多个地址的第三地址相对应的数据,第三地址在多读操作期间与多个地址输入总线的第三地址输入总线相对应,其中,第三输出数据总线耦合至第二读异或门,第二读异或门配置为接收来自多个存储块中的第二存储块的一个存储子块的数据和第二存储块的一个辅助性存储子块的数据,其中,第二存储块的一个存储子块和第二存储块的一个辅助性存储子块不同。
该设备进一步包括与多个存储子块的每个存储子块相对应的数据输出路径,其中,数据输出路径包括耦合至输出异或门的多路复用器,其中,多个输出异或门连接形成菊花链异或树,并且其中,存储子块的感测放大器配置为将数据传至菊花链异或树的一个异或门中。
根据本发明示例性实施例,提供了一种差分异或电路,电路包括:选择逻辑电路,配置为接收单端输入信号和时钟信号,以及提供与单端输入信号相对应的互补输出信号;预充电路,配置为在预充电阶段,为输出节点预充电;以及多路复用器,配置为接收差分输入信号和互补输出信号,以及在评估阶段,在输出节点提供差分输出信号。
差分输出信号配置为依赖于单端输入信号,并且其中,差分输出信号包括差分输入信号或差分输入信号的互补中的一个。
预充阶段和评估阶段基于时钟信号的不同状态,并且其中,电路在多个异或阶段实现。
选择逻辑电路包括两个反相器和一个或多个包括NAND或NOR门的逻辑门,其中,多路复用器包括两个交叉耦合MOS通门,并且其中,预充电路包括至少两个MOS晶体管,至少两个MOS晶体管在至少两个MOS晶体管的共栅节点接收时钟信号。
根据本发明示例性实施例,提供了一种用于提供高带宽多读存储设备的方法,方法包括:将存储设备分割为多个存储块,多个存储块的每个存储块包括多个存储子块,其中,多个存储块包括辅助性存储块,多个存储子块包括辅助性存储子块;以及配置存储设备的多个输出数据总线以输出与多个地址相对应的数据,其中,多个地址在多读操作期间与多个地址输入总线相对应;其中,多个地址与多个存储块中的一个存储块的多个存储子块中的单个存储子块相对应。
该方法进一步包括通过一个或多个异或门将多个输出数据总线中的至少部分输出数据总线配置为耦合至除单个存储子块外的多个存储子块中的至少两个存储子块。
该方法进一步包括:配置多个输出数据总线的第一输出数据总线以输出与多个地址的第一地址相对应的数据,其中,第一地址在多读操作期间与多个地址输入总线的第一地址输入总线相对应;在写操作期间,向不是辅助性存储块的一部分的各辅助性存储子块内写入主要辅助性数据;以及配置至少一个异或门,以提供主要辅助性数据且在写操作期间接收来自包括各辅助性存储子块的各自存储块的多个存储子块中的至少两个存储子块的输入数据。
该方法进一步包括:在写操作期间,向作为辅助性存储块的一部分的每个辅助性存储子块内写入次级辅助性数据;配置至少一个异或门,以提供次级辅助性数据,且在写操作期间,接收来自多个存储块中的至少两个存储块的多个存储子块中的至少两个存储子块的输入数据。
该方法进一步包括:在写操作期间,向辅助性存储块的最后一个辅助性存储子块内写入三级辅助性数据;以及配置至少一个异或门,以提供三级辅助性数据,且在写操作期间,接收来自辅助性存储块的至少两个存储子块的数据。
该方法进一步包括:配置多个输出数据总线的第二输出数据总线,以通过将多个输出数据总线的第二输出数据总线耦合至第一读异或门,输出与多个地址的第二地址相对应的数据,第二地址在多读操作期间与多个地址输入总线的第二地址输入总线相对应,其中,第一读异或门配置为接收来自多个存储块中的第一存储块的一个存储子块的数据和第一存储块的一个辅助性存储子块的数据,其中,第一存储块的一个存储子块与第一存储块的一个辅助性存储子块不同。
该方法进一步包括:配置第三输出数据总线,以通过将第三输出地址总线耦合至第二读异或门,输出与多个地址的第三地址相对应的数据,第三地址在多读操作期间与第三地址输入总线相对应,其中,第二读异或门配置为接收来自多个存储块中的第二存储块的一个存储子块的数据和第二存储块的一个辅助性存储子块的数据,其中,第二存储块的一个存储子块与第二存储块的一个辅助性存储子块不同。
该方法进一步包括:通过将多路复用器耦合至一个输出异或门、并连接多个输出异或门形成菊花链异或树,提供与多个存储子块的每个存储子块相对应的数据输出路径,并且其中,多个存储子块的一个存储子块的感测放大器配置为将数据传入菊花链异或树的多个输出异或门之一。
附图说明
该主题技术的某些特征在所附权利说明中阐明。但是,为了更好的解释该技术,在以下图中详尽地解释了该主题技术的几个实施方式。
图1是根据一个或多个实施方式的高带宽多读存储设备的示例;
图2是根据一个或多个实施方式的图1中高带宽多读存储设备的写电路的示例;
图3A-图3B是根据一个或多个实施方式的图1中高带宽多读存储设备的读电路和数据输出路径的示例;
图4是根据一个或多个实施方式的进行多读操作的示例性算法的流程图;
图5是根据一个或多个实施方式的高带宽多读存储设备的方法的示例;
图6A-图6B是根据一个或多个实施方式的差分异或(XOR)电路和相应真值表的示例;
图7是根据一个或多个实施方式的多级差分XOR电路的示例;
图8是根据一个或多个实施方式的应用该主题技术的通信设备的示例。
具体实施方式
下文所阐明的详细描述旨在作为该主题技术的各种配置的描述,而不是旨在表示该主题技术可实现的唯一配置。所示附图被结合与此,且构成说明书的一部分。详细描述包括出于提供该主题技术透彻理解的目的的具体细节。但是,对于本领域的那些技术人员将清晰且显而易见的是,该主题技术不限于此处所阐明的具体细节,且可使用一个或多个实施方式实现。在一个或多个实例中,为了避免模糊化该主题技术的概念,众所周知的结构和部件以方框图的形式表示。
根据该主题技术的一个或多个方面,描述了提供高带宽存储器的方法和配置。进一步地,公开了一种动态少故障差分XOR树,可被利用于实现该主题技术的高带宽存储器。该主题技术可被应用在需要高带宽存储器(例如,1-2GHz)或多端口存储器的任何半导体设备中。公开的高带宽存储器在电路、系统和产品层面上具有许多优势特点。例如,在电路层面上,与现有两端口算法XOR存储器相比,该主题技术可导致密度(每平方毫米读端口)的显著(例如,~50%)提高。系统优势包括每单位面积的额外读带宽或相等读带宽的更小面积。在产品层面上,由于减小模区导致的成本节省和由于额外读带宽导致的性能提高在所述优势特点之中。该主题技术的差分XOR树,不仅免于额外过渡(例如,故障),而且可大体上减少XOR外围逻辑(例如,通过~80%)和XOR外围面积(例如,通过~20%)的动态功率,且可导致可预测最坏情况延迟路径。
图1是根据该主题技术的一个或多个实施方式的高带宽多读存储设备100的示例。该存储设备100被分割成多个(例如,3个或更多)包括辅助性存储块(以下称“辅助性块”)120的存储块(以下称“块”)110。存储块110和120中的每个包括多个包括辅助性存储子块(以下称“辅助性子块”)114(例如,AX和BX)的存储子块(以下称“子块”)112(例如,A1、A0、B1和B0)。辅助性块120的子块(X1、X0和XX)的个数与其他块(例如,110)的子块的个数相同。存储设备100可为任何类型的存储器,例,由6晶体管(6-T)存储单元或其他存储单元形成的SRAM存储器。
存储设备100包括多个地址输入总线130,该地址输入总线130包括,例如,与四个输入地址addrA、addrB、addrC和addrD相对应的四个地址输入总线。存储设备100还包括多个输出数据总线140,例,doutA、doutB、doutC和douD,以输出与多个地址相对应的数据,该多个地址在多读操作期间与地址输入总线130相对应。如此处所描述的,地址输入总线130上的地址可与多个块110中的一个块的单个存储子块(例如,A1、A0、B1或B0)相对应,其中,多个块110在写操作中被写入输入数据(例如,Din)。该主题技术的高带宽、高容量存储设备可在多读单写实施方式中实现。为简便起见,此处描述四读单写实施方式。应当理解,如果待读取的多个地址属于(例如,多行)单一子块(例如,A1、A0、B1或B0),多读操作可导致地址冲突。该主题技术解决了此处所详细描述的地址冲突的问题。
多读(例如,四读)操作的实施方式背后的概念是以下布尔方程:如果A⊕B⊕C⊕D=n并且B⊕C⊕D=m,鉴于已知方程A⊕A=0,给出:n⊕m=(A⊕(B⊕B)⊕(C⊕C)⊕(D⊕D))=A⊕0⊕0⊕0=A,其中符号⊕表示XOR操作。换言之,如果我们有“n”,在我们有“m”的情况下,我们可重建A。这个概念此处被用来实现储器设备100的多读(例如,四读)操作,而无任何地址冲突。为了实现多读操作,该主题技术使用辅助性子块AX和BX,以解决第一和第二地址冲突,并使用辅助性块120的子块(例如,X1、X0和XX)以解决第三和第四地址冲突。该辅助性子块AX、BX、X1、X0和XX不是指任何真实地址,并且包含可用于多读地址冲突解决的辅助性数据。应当理解,该主题解决方法可通过不同地分割存储设备(例如,成为具有超出四个子块的块)而扩展至超出4地址冲突。此处讨论的四地址冲突实施方式,辅助性子块的数据内容通过以下布尔方程规定:
AX=A0⊕A1(方程1)
BX=B0⊕B1(方程2)
X1=A1⊕B1(方程3)
X0=A0⊕B0(方程4)
XX=X1⊕X0(方程5)
换言之,不是辅助性存储块120一部分的每个辅助性存储子块(例如,AX或BX)包括主要辅助性数据。主要辅助性数据由至少一个XOR门提供,该XOR门在写操作期间接收来自包含那种辅助性存储子块的不同存储块的至少两个存储子块(例如,A0⊕A1或B0⊕B1)的输入数据。与辅助性存储块120相对应的每个辅助性存储子块(例如,X1、X0或XX)包含次级辅助性数据。次级辅助性数据由至少一个XOR门提供,该XOR门在写操作期间接收来自至少两个存储块(例如,110或120)的至少两个存储子块(例如,A1⊕B1、A0⊕B0或A1⊕B1⊕A0⊕B0)的输入数据。正如下文所述,上述方程的XOR操作使用双向XOR门实现。
图2是根据该主题技术的一个或多个实施方式的图1中高带宽多读存储设备100的写电路200的示例。如图2所示,为了能够进行多读(例如,四读)操作而无任何地址冲突,该主题技术使用分层XOR架构。图2所示的分层XOR架构,为简便起见使用了双向XOR门。在一些实施方式中,XOR门的输入的个数取决于块110的子块的个数。例如,如果每个块110的子块的数量为四,使用三输入XOR门。
在图2所示的写电路200中,描述了对与子块A1的第10行相对应的地址的写入。第一管路时段(例如,时段1)执行子块A1的行10的数据(例如,Din)的实际写入(例如,W10)。同时,读操作在子块A0、B1和X0的行10中执行。第二管路时段(例如,时段2)执行至AX、X1和XX的写入操作。XOR门210被用于执行方程1的布尔操作,即提供A1和A0的XOR。XOR门220执行方程3的布尔操作,即提供A1和B1的XOR,该XOR被写入辅助性块120的子块X1。最后,XOR 230执行方程5的布尔操作,即提供X1和X0的XOR。需要注意的是,XOR 230使用XOR 220的输出作为它的输入之一,XOR 220的输出被写入子块X1,且与子块X1的内容相同。如此处所述,根据上文所讨论的写操作,辅助性子块AX、X1和XX的内容,可被用来读取来自子块A的四个不同地址的数据。
图3A-图3B是根据该主题技术的一个或多个实施方式的图1中高带宽多读存储设备100的读电路300A和数据输出路径300B的示例。该主题技术的读操作由示例性读电路300A执行。图3A所示的读操作描述四向地址冲突的解决,其中地址端口A、B、C和D(例如,AddrA、AddrB、AddrC和AddrD)分别从同一子块(例如,块110的A1)访问行10、11、12和13。换句话说,地址A从与子块A1的行10相对应的地址中访问数据;地址B从与子块A1的行11相对应的地址中访问数据;地址C从与子块A1的行12相对应的地址中访问数据;地址D从与子块A1的行13相对应的地址中访问数据。需要注意的是,地址A、B、C和D并非访问子块A的同一行,但是由于地址A、B、C和D都与同一物理子块A1的行相对应,因此这仍然是地址冲突。需要注意的是,所有地址访问相同地址的情况以同样的方式处理。
读操作按如下的方式进行。地址端口A访问子块A1的行10并在DOUTA上输出数据。地址端口B无法同时使用子块A1,所以读取子块A0和AX的行11(例如,R11),数据输出为DOUTB。需要注意的是,使用XOR门310,通过执行A0⊕AX=A0⊕(A1⊕A0)=A1,通过先前所描述的方法再造端口B的数据。地址端口C无法同时使用子块A1或A0或AX,所以读取子块B1和X1的行12,数据被XOR门312所异或并传至如DOUTC的各自输出端口。地址端口D无法同时使用已被访问的子块,所以由XOR门314和316读取子块B0、BX、X0和XX的行13,XOR门314和316输出的数据一同被XOR门318所异或,且传至如DOUTD的各自输出端口。为简便起见,示出如DOUTD的被发送的数据的异或在两个平行阶段被进行。在一些实施方式中,异或可串行进行,以提供相同的逻辑结果。
图3B是一些关键数据输出路径电路的电路示意图。该示意图表示由SRAM块320、感测放大器330和每个数据端口的不相同的数据输出路径所描绘的SRAM核心单元。每个数据路径包括两输入多路复用器(例如,340A、340B、340C或340D),紧随其后为各个XOR门(例如,350A、350B、350C或350D)。图3B的电路示意图代表图1中存储设备100的每个子块的列线电路。进入电路顶部的输入RDA_IN、RDB_IN、RDC_IN和RDD_IN来自耦合(例如,直接上方)至数据输出路径300B的子块中的相似数据输出路径电路的输出。
当读操作被进行时,传至每个输出端口的数据或是来自于感测放大器的数据的缓冲版本,或通过异或数据而再造,其中,异或数据来自于各种子块的感测放大器。XOR门350A、350B、350C和350D以菊花链方连接,来自子块的感测放大器(例如,330)的数据332可传入菊花链XOR树中的之一,其中,菊花链XOR树由多路复用器(例如,340A)和相对应的XOR门(例如,350A)形成。端口选取信号PSA、PSB、PSC和PSD来控制来自感测放大器330的数据是否被传入XOR树(例如,对于给定端口)或0是否被传入那个XOR树。传0进入XOR树,表示来自当前子块的数据未被用来生成进入给定端口的数据。
在一些实施方式中,数据输出路径300B的操作如下所述。如果存储器组中的WL被激发,至那个存储器组的端口选择输入也被激发。端口选择信号PSA、PSB、PSC和PSD是对于每个组都不相同的独热信号(one-hot signal)。从感测放大器332传导数据332,意味着数据332是需要一同被异或的数据集的一部分,以生成端口的数据(例如,RDA)。传导0指示数据332不与该端口相对应。为特定端口设置除一个PS信号(例如,PSA)之外的其他所有PS信号为0,意味着不存在地址冲突,且来自那个组的数据332使用XOR门(例如,350A)进行缓冲并传导至输出。由于每个子块的XOR门350A、350B、350C和350D被一同菊花式链接,对于每个端口适合的数据出现在菊花链的结束端。
图4是根据该主题技术的一个或多个实施方式的进行多读操作的示例性算法400的流程图。此处所描述的多读操作应用于,例如图3A的读电路。算法开始于控制操作方框410,在方框410中,检测主端口上(例如,图3A的A1端口)是否被请求进行读操作。如果回答为否,执行控制操作方框430。否则,如果回答为是,该控制传至操作方框420,其中读操作在主端口进行,且各个地址中的内容在主端口(例如,如DOUTA)被输出,且控制传至控制操作方框430。在控制操作方框430中,检测下一端口是否被请求进行读操作。如果回答为否,不进行读操作。但是,如果回答为是,控制传至控制操作方框440。在控制方框440中,检测是否与先前端口存在冲突(例如,地址属于单个存储子块)。如果无冲突发生,在操作方框450中,实行常规读操作而无异或,该输出传至适当端口,且控制传至操作方框430。否则,如果回答为是,在操作方框460中,读取无冲突的最低层子块(例如,图3A的A0)的相同行(例如,图3A的R11)并与各自的辅助性子块(例如,AX)异或,该结果被输出至相应输出端口,且控制传至控制操作方框430。
在一些实施方式中,算法400由本地处理器执行,例如,网络交换机或路由器的处理器或控制器,或远程处理器,如云处理器。在一个或多个实施方式中,算法400可以在诸如现场可编程门阵列(FPGA)的固件或硬件中实现。
图5是根据该主题技术的一个或多个实施方式的提供高带宽多读存储设备的方法500的示例。出于解释性的目的,此处描述的示例性方法500的方框是串行或线性发生。但是,该示例性方法500的多个方框可并行发生。此外,示例性方法500的方框不需要以示出顺序执行,和/或,示例性方法500的一个或多个方框不需要被执行。
根据方法500,存储设备(例如,图1的100)被分割为包括辅助性存储块(例如图1的120)的多个存储块(例如图1的110),每个存储块包括几个存储子块(例如,图1的A1、A0、B1、B0)(510),其中,存储子块包括辅助性存储子块(例如,图1的Ax或BX)。在多读操作期间,存储设备的多个输出数据总线(例如,图1的140)输出与地址(例如,图1的AddrA、AddrB、AddrC或AddrD)相对应的数据,其中,该地址与地址输入总线(例如,图1的130)相对应(520)。
图6A-图6B是根据该主题技术的一个或多个实施方式的差分异或(XOR)电路600A和相应的真值表600B的示例。在一个或多个实施方式中,差分XOR电路600A包括选择逻辑电路610、多路复用器620和预充电路630。选择逻辑电路610接收单端输入信号602和时钟信号604,且提供与单端输入信号602相对应的互补输出信号606和608。在一些实施方式中,选择逻辑电路610包括反相器612和614,以及与非门616和618。与非门616接收来自反相器614的输出信号(类似于信号602)和时钟信号604作为输入,且提供输出信号606。与非门618接收来自反相器612的输出信号(例如,信号602的反相形式)和时钟信号作为输入,且提供输出信号608。在一个或多个方面,选择逻辑电路610可使用NOR门实现。
多路复用器620接收差分输入信号BT和BF以及互补输出信号606和608,且在评估阶段(例如,当时钟信号604为高时),在输出节点632和634提供差分输出信号(例如OUTT和OUTF)。在一个或多个实施方式中,多路复用器620可通过交叉耦合的两个MOS通门实现,其中,两个MOS通门可由例如PMOS晶体管对T1-T2和T3-T4形成。在评估阶段期间,输入信号602(例如,A)需要稳定至下一预充阶段,其中,下一预充阶段在时钟信号604过渡至低时开始。在一些实施方式中,多路复用器620可另外的方式实现,例如,通过NMOS通门或在其他配置中。
在预充阶段期间,预充电路630给输出节点632和634预充电至高水平(逻辑1)。预充电路630通过晶体管T5和T6以及选择性晶体管T7来实现。晶体管T5-T7是PMOS晶体管,但也可通过NMOS晶体管来实现。时钟信号604控制晶体管T5-T7的共栅极,并且当晶体管T5-T7为低时,允许晶体管T5和T6给输出节点632和634预充电至电源电压VDD水平。如真值表600b所示,差分输出信号OUTT和OUTF取决于单端输入信号602(例如,A),并且可与差分输入信号(BT和BF)相同或可与差分输入信号的互补相同。例如,当A为逻辑0时,OUTT和OUTF与BT和BF分别相同。但是,当A为逻辑1时,OUTT和OUTF分别为BT和BF的互补。当在评估阶段时,真值表600b与输入信号BT和BF的差分XOR真值表一致,该真值表确认电路600A的操作为差分XOR。XOR电路600A的少故障本质可从真值表600b中看出,该真值表表示在评估阶段,只有BT和BF其中之一可变低或为低,且作为其结果,随后只有一路输出(OUTT或OUTF)可变低。但是,在现有的XOR电路中,依照输入的到达时间,可在输出上看出多个过渡。
在一些实施方式中,少故障和低动态功率XOR电路600A可被应用以实现图2、3A和3B的XOR门,以消除额外过渡、减少XOR外围逻辑(例如,通过~80%)和XOR外围面积(例如,通过~20%)的动态功率,以及实现可预测最坏情况延迟路径。
如此处所解释的,在一些实施方式中,XOR电路600A可在多个XOR时段实现。
图7是根据该主题技术的一个或多个实施方式的多阶段差分XOR电路700的示例。多阶段差分XOR电路700所示的是如何连接上文所描述的XOR电路当中的四个(例如,710-1至710-4)以构成5输入XOR功能,其中,5输入XOR功能可对输入A0、A1、A2、A3和B上实现XOR功能A0⊕A1⊕A2⊕A3⊕B。B输入为单端输入,由反相器704转换为差分。在一些应用中,XOR功能间的物理距离可很大,因为它需要跨越长线,如图7所示,电阻器720-1至720-4用于表示XOR电路710-1至710-4所跨越的长线。感测放大器740用于感测XOR树差分输出的小差分信号,以在感测放大器740的输出节点742给出最终单端输出信号(OUT)。每个XOR电路710的结构与XOR电路600A相似,且每个阶段(例如,710-3)的BT和BF输入是已通过长线(例如,由电阻器720-2标示)的前一个阶段(例如,710-2)的OUTT和OUTF。该4阶段差分XOR电路700仅为示例,更多阶段可以以相似方式耦合,以形成更大的XOR树。
图8是根据该主题技术的一个或多个实施方式的应用该主题技术特征的通信设备800的示例。通信设备800的示例包括以太网络的以太网交换机,如包括数据中心网络、企业网络或其他专用网络的专用网络。通信设备800包括若干输入端口IP1-IPn和多个输出端口EP1-EPm。在一个或多个实施方式中,一个或多个输入端口IP1-IPn可从另一交换机和网络的端点设备接收数据包。通信设备800进一步包括硬件部件,例如应用型特定用途集成电路(ASIC)810(在一些实施方式中,可作为现场可编程门阵列(FPGA)来实现)、缓冲器820、处理器830、存储器840和软件模块850。
在一些实施方式中,ASIC 810可包括可操作以实行PHY电路的功能的合适的逻辑、电路、接口和/或代码。缓冲器820包括合适的逻辑、电路系统、代码和/或接口,可操作上述逻辑、电路系统、代码和/或接口以接收和存储和/或延迟用于通过一个或多个输出端口EP1-EPm通信的数据块。处理器830包括可保证通信设备800的处理数据和/或控制操作的合适的逻辑、电路系统和/或代码。在这点上,处理器830可保证提供控制信号至通信设备800的各种其他部分。处理器830还控制通信设备800的各种部分之间的数据传送。此外,处理器830可保证操作系统或以其他方式执行代码的的实现以管理通信设备800的操作。处理器830还可执行图4的算法400,以进行存储器840的多读操作。
存储器840包括合适的逻辑、电路系统和/或代码,上述逻辑、电路系统和/或代码可保证各种不同类型的信息(例如,接收数据、生成数据、代码和/或配置信息)的存储。存储器840包括,例如RAM、ROM、闪存和/或磁存储器。在该主题技术的各种实施方式中,存储器840可包括RAM、DRAM、SRAM、T-RAM、Z-RAM、TTRAM或任何其他存储介质。存储器840可包括软件模块850,该软件模块850当由处理器(例如,处理器830)执行时,可执行ASIC 810的一些或全部功能。在一些实施方式中,软件模块850包括代码,该代码当由处理器执行时,可实行如通信设备800的配置的功能。
在一些实施方式中,存储器840是宽带多端口存储器,如图1的存储设备100,且存储器840包括该主题技术的少故障XOR树(例如,图6A的600A)。这可导致与现有的两端口算法XOR存储器相比的密度显著(例如,约50%)的提高、由于减小模区的成本节省和由于附加同步读操作能力的性能提高。使用本主题技术的差分XOR树,可大体上减少XOR外围逻辑(例如,通过80%)和XOR外围面积(例如,通过约20%)的动态功率,且可导致可预测最坏情况延迟路径。
本领域的那些技术人员应当理解,此处所描述的各种示意性方框、模块、元件、部件和方法可作为电子硬件、计算机软件或二者的结合实现。为了示出硬件和软件的这个可互换性,各种示意性方框、模块、元件、部件和方法在上文中一般从功能角度而言来描述。此类功能是否作为硬件或软件实现取决于施加于整个系统的特定应用和设计限制。技术工人可以不同的方法对每个特定应用实现所描述的功能。各种部件和方框可不同地安排(例如,以不同的顺序安排或以不同的方法分割),而全部不脱离该主题技术的范围。
如此处所使用,位于一系列项之前的短语“至少其一”,以及术语“和”或“或”来区分所述多项的任意一个,更改整个列表而非列表的每个部分(即,每个项)。短语“至少其一”不要求所列每项的至少其一的选择;而是,该短语允许包括所述多项的任何一个的至少其一和/或所述多项的任意组合的至少其一和/或每项的至少其一。通过示例的方法,短语“A、B和C的至少其一”或“A、B或C的至少其一”每个指代仅A、仅B或仅C;A、B和C的任意组合;和/或每个A、B和C的至少其一。
诸如方面、该方面、另一方面、一些方面、一个或多个方面、实现方式、该实现方式、另一实现方式、一些实现方式、一个或多个实现方式、实施方式、该实施方式、另一实施方式、一些实施方式、一个或多个实施方式、配置、该配置、另一配置、一些配置、一个或多个配置、该主题技术、该公开内容、本公开内容、其其他变体等是为方便,而非意味着涉及此类短语的实施方式对该主题技术是至关重要的,或此类公开内容适用于该主题技术的所有配置。涉及此类短语(多个短语)的公开内容可适用于所有配置或一个或多个配置。涉及此类短语(多个短语)的公开内容可提供一个或多个实例。诸如方面或一些方面的短语可指代一个或多个方面,反之亦然,且这类似地适用于其他前述的短语。
此处,单词“示例性”被用来意指“充当实例、例子或示出”。此处描述为“示例性”或“实例”的任何实施方式并不一定诠释为比其他实施方式优选的或有优势的。并且,在术语“包含”、“具有”等被用于描述或权利说明的程度上,此类术语旨在以与术语“包括”类似的方式而有包含性,因为当应用时,“包括”在权利说明中被阐释为过渡词。
贯穿这个公开内容(对本领域的那些普通技术人员而言已知或之后将要被知)所描述的各种方面的元件的所有结构和功能对等物,此处明确通过引用将其结合与此,并且旨在被权利说明所囊括。并且,此处所公开的事物中,没有旨在不考虑是否此类公开内容是否在权利说明中明确叙述而贡献于公众的。没有权利说明元件将依据《美国法典》第三十五章,第一百一十二条,第六段而诠释,除非所述元件使用短语“用于.....的方法”明确叙述,或在方法权利说明的情况下所述元件使用短语“用于......的步骤”叙述。
提供先前描述,以保证本领域的任何技术人员实践此处所描述的各种方面。对这些方面的各种更改对应本领域的那些技术人员而言将是显而易见的,且此处所规定的一般原则可被运用于其他方面。因此,权利说明并非旨在限于此处所示的方面,但被给予与该语言权利要求一致的整个范围,除非明确如此陈述,其中对单数元件的指代并非旨在意指“一个和只有一个”,而是“一个或多个”。除非另外明确陈述,术语“一些”指代一个或多个。阳性代词(例如,他的)包括阴性和中性(例如,她的和它的),并且反之亦然。标题和副标题,如果存在,是仅为方便使用而非限制该主题技术。

Claims (16)

1.一种高带宽多读存储设备,所述设备包括:
多个存储块,所述多个存储块中的每个存储块包括多个存储子块,其中,所述多个存储块包括辅助性存储块,所述多个存储子块包括辅助性存储子块,其中所述辅助性存储块包含多个辅助性存储子块,且其中每一辅助性存储子块的内容均基于所述多个存储子块或所述多个辅助性存储子块中的至少部分存储子块的内容;
多个地址输入总线:以及
多个输出数据总线,配置为输出与多个地址相对应的数据,其中,在多读操作期间,所述多个地址与所述多个地址输入总线相对应;
其中,所述多读操作包括通过使用辅助性存储子块、所述辅助性存储块以及一个或多个异或门,来读取与所述多个存储块中的一个存储块的所述多个存储子块中的单个存储子块相对应的所述多个地址。
2.根据权利要求1所述的设备,其中,所述多个输出数据总线中的至少部分输出数据总线配置为通过一个或多个异或门耦合至除所述单个存储子块外的至少两个存储子块。
3.根据权利要求1所述的设备,其中,所述多个输出数据总线的第一输出数据总线配置为输出与所述多个地址的第一地址相对应的数据,所述第一地址在所述多读操作期间与所述多个地址输入总线的第一地址输入总线相对应,其中,所述辅助性存储子块中的不是所述辅助性存储块的一部分的各辅助性存储子块配置为包含主要辅助性数据,并且其中,至少一个异或门配置为提供所述主要辅助性数据,且配置为在写操作期间,接收来自所述多个存储块中的不同块的所述多个存储子块中的至少两个存储子块的输入数据,所述多个存储子块中的所述至少两个存储子块包括所述各辅助性存储子块。
4.根据权利要求1所述的设备,其中,作为所述辅助性存储块的一部分的每个辅助性存储子块配置为包含次级辅助性数据,其中至少一个异或门配置为提供所述次级辅助性数据,且配置为在写操作期间,接收来自所述多个存储块中的至少两个存储块的所述多个存储子块中的至少两个存储子块的输入数据。
5.根据权利要求1所述的设备,其中,所述辅助性存储块的最后一个辅助性存储子块配置为包含三级辅助性数据,其中,至少一个异或门配置为提供所述三级辅助性数据,且配置为在写操作期间,接收来自所述辅助性存储块的至少两个存储子块的输入数据。
6.根据权利要求1所述的设备,其中,第二输出数据总线配置为输出与所述多个地址的第二地址相对应的数据,所述第二地址在所述多读操作期间与第二地址输入总线相对应,其中,所述第二输出数据总线耦合至第一读异或门,所述第一读异或门配置为接收来自所述多个存储块中的第一存储块的一个存储子块的数据和所述多个存储块中的所述第一存储块的一个辅助性存储子块的数据,其中,所述第一存储块的所述一个存储子块和所述第一存储块的所述一个辅助性存储子块不同。
7.根据权利要求1所述的设备,其中,所述多个输出数据总线的第三输出数据总线配置为输出与所述多个地址的第三地址相对应的数据,所述第三地址在所述多读操作期间与所述多个地址输入总线的第三地址输入总线相对应,其中,所述第三输出数据总线耦合至第二读异或门,所述第二读异或门配置为接收来自所述多个存储块中的第二存储块的一个存储子块的数据和所述第二存储块的一个辅助性存储子块的数据,其中,所述第二存储块的所述一个存储子块和所述第二存储块的所述一个辅助性存储子块不同。
8.根据权利要求1所述的设备,进一步包括与所述多个存储子块的每个存储子块相对应的数据输出路径,其中,所述数据输出路径包括耦合至输出异或门的多路复用器,其中,多个输出异或门连接形成菊花链异或树,并且其中,存储子块的感测放大器配置为将数据传至所述菊花链异或树的一个异或门中。
9.一种用于提供高带宽多读存储设备的方法,所述方法包括:
将存储设备分割为多个存储块,所述多个存储块的每个存储块包括多个存储子块,其中,所述多个存储块包括辅助性存储块,所述多个存储子块包括辅助性存储子块,其中所述辅助性存储块包含多个辅助性存储子块,且其中每一辅助性存储子块的内容均基于所述多个存储子块或所述多个辅助性存储子块中的至少部分存储子块的内容;以及
配置所述存储设备的多个输出数据总线以输出与多个地址相对应的数据,其中,所述多个地址在多读操作期间与多个地址输入总线相对应;
其中,
所述多读操作包括通过使用辅助性存储子块、所述辅助性存储块以及一个或多个异或门,来读取与所述多个存储块中的一个存储块的所述多个存储子块中的单个存储子块相对应的所述多个地址。
10.根据权利要求9所述的方法,其进一步包含将所述多个输出数据总线中的至少部分输出数据总线配置为通过一个或多个异或门耦合至除所述单个存储子块外的所述多个存储子块的至少两个存储子块。
11.根据权利要求9所述的方法,其进一步包含:
将所述多个输出数据总线的第一输出数据总线配置为输出与所述多个地址的第一地址相对应的数据,所述第一地址在所述多读操作期间与所述多个地址输入总线的第一地址输入总线相对应,
在写操作期间,将主要辅助性数据写入所述辅助性存储子块中的不是所述辅助性存储块的一部分的每一辅助性存储子块,以及
配置至少一个异或门以提供所述主要辅助性数据,且在所述写操作期间,接收来自不同存储块的所述多个存储子块中的至少两个存储子块的输入数据,所述多个存储子块中的所述至少两个存储子块包括所述每一辅助性存储子块。
12.根据权利要求9所述的方法,其进一步包含:
在写操作期间,将次级辅助性数据写入作为所述辅助性存储块的一部分的每个辅助性存储子块,以及
配置至少一个异或门以提供所述次级辅助性数据,且在所述写操作期间,接收来自所述多个存储块中的至少两个存储块的所述多个存储子块中的至少两个存储子块的输入数据。
13.根据权利要求9所述的方法,其进一步包含:
在写操作期间,将三级辅助性数据写入所述辅助性存储块的最后一个辅助性存储子块,以及
配置至少一个异或门以提供所述三级辅助性数据,且在所述写操作期间,接收来自所述辅助性存储块的至少两个存储子块的输入数据。
14.根据权利要求9所述的方法,其进一步包含配置所述多个输出数据总线的第二输出数据总线以通过将所述多个输出数据总线的所述第二输出数据总线耦合至第一读异或门,来输出与所述多个地址的第二地址相对应的数据,所述第二地址在所述多读操作期间与所述多个地址输入总线的第二地址输入总线相对应,其中所述第一读异或门配置为接收来自所述多个存储块中的第一存储块的一个存储子块的数据和所述第一存储块的一个辅助性存储子块的数据,其中,所述第一存储块的所述一个存储子块和所述第一存储块的所述一个辅助性存储子块不同。
15.根据权利要求9所述的方法,其进一步包含配置第三输出数据总线以通过将所述第三输出数据总线耦合至第二读异或门,来输出与所述多个地址的第三地址相对应的数据,所述第三地址在所述多读操作期间与第三地址输入总线相对应,其中所述第二读异或门配置为接收来自所述多个存储块中的第二存储块的一个存储子块的数据和所述第二存储块的一个辅助性存储子块的数据,其中,所述第二存储块的所述一个存储子块和所述第二存储块的所述一个辅助性存储子块不同。
16.根据权利要求9所述的方法,其进一步包含通过将多路复用器耦合至输出异或门并将输出异或门加以连接以形成菊花链异或树,来提供与所述多个存储子块的每个存储子块相对应的数据输出路径,并且其中,所述多个存储子块中的存储子块的感测放大器配置为将数据传至所述菊花链异或树的所述输出异或门的一个异或门中。
CN201610090389.2A 2015-02-19 2016-02-18 高带宽存储器和少故障差分异或 Expired - Fee Related CN105912484B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562118454P 2015-02-19 2015-02-19
US62/118,454 2015-02-19
US14/644,114 2015-03-10
US14/644,114 US9753667B2 (en) 2015-02-19 2015-03-10 High bandwidth memory and glitch-less differential XOR

Publications (2)

Publication Number Publication Date
CN105912484A CN105912484A (zh) 2016-08-31
CN105912484B true CN105912484B (zh) 2019-01-18

Family

ID=56577386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610090389.2A Expired - Fee Related CN105912484B (zh) 2015-02-19 2016-02-18 高带宽存储器和少故障差分异或

Country Status (4)

Country Link
US (1) US9753667B2 (zh)
CN (1) CN105912484B (zh)
DE (2) DE102016001224A1 (zh)
HK (1) HK1222930A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11243880B1 (en) 2017-09-15 2022-02-08 Groq, Inc. Processor architecture
US11868804B1 (en) 2019-11-18 2024-01-09 Groq, Inc. Processor instruction dispatch configuration
US11114138B2 (en) * 2017-09-15 2021-09-07 Groq, Inc. Data structures with multiple read ports
US11360934B1 (en) 2017-09-15 2022-06-14 Groq, Inc. Tensor streaming processor architecture
US11170307B1 (en) 2017-09-21 2021-11-09 Groq, Inc. Predictive model compiler for generating a statically scheduled binary with known resource constraints
US11144316B1 (en) 2018-04-17 2021-10-12 Ali Tasdighi Far Current-mode mixed-signal SRAM based compute-in-memory for low power machine learning
US11537687B2 (en) 2018-11-19 2022-12-27 Groq, Inc. Spatial locality transform of matrices
TWI706414B (zh) * 2019-05-27 2020-10-01 國立中山大學 記憶體內運算系統及其記憶體裝置
US10915298B1 (en) 2019-10-08 2021-02-09 Ali Tasdighi Far Current mode multiply-accumulate for compute in memory binarized neural networks
US11610104B1 (en) 2019-12-30 2023-03-21 Ali Tasdighi Far Asynchronous analog accelerator for fully connected artificial neural networks
US11615256B1 (en) 2019-12-30 2023-03-28 Ali Tasdighi Far Hybrid accumulation method in multiply-accumulate for machine learning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1120196A (zh) * 1994-04-04 1996-04-10 摩托罗拉公司 地址变换电路
CN1717664A (zh) * 2002-11-26 2006-01-04 先进微装置公司 包含用于支持每周期多次存取的高速缓存存储器的微处理器
CN103314363A (zh) * 2010-08-17 2013-09-18 回忆系统公司 用于设计分级存储器系统的高速存储器系统和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5040179A (en) * 1989-08-18 1991-08-13 Loral Aerospace Corp. High data rate BCH encoder
US5313475A (en) * 1991-10-31 1994-05-17 International Business Machines Corporation ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US7254657B1 (en) * 2005-04-29 2007-08-07 Unisys Corporation Dual mode capability for system bus
US7856588B2 (en) * 2006-10-19 2010-12-21 Hewlett-Packard Development Company, L.P. Data allocation in memory chips
US8438344B2 (en) * 2010-03-12 2013-05-07 Texas Instruments Incorporated Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1120196A (zh) * 1994-04-04 1996-04-10 摩托罗拉公司 地址变换电路
CN1717664A (zh) * 2002-11-26 2006-01-04 先进微装置公司 包含用于支持每周期多次存取的高速缓存存储器的微处理器
CN103314363A (zh) * 2010-08-17 2013-09-18 回忆系统公司 用于设计分级存储器系统的高速存储器系统和方法

Also Published As

Publication number Publication date
CN105912484A (zh) 2016-08-31
DE102016015773B3 (de) 2024-04-04
HK1222930A1 (zh) 2017-07-14
US20160246506A1 (en) 2016-08-25
DE102016001224A1 (de) 2016-08-25
US9753667B2 (en) 2017-09-05

Similar Documents

Publication Publication Date Title
CN105912484B (zh) 高带宽存储器和少故障差分异或
US8923089B2 (en) Single-port read multiple-port write storage device using single-port memory cells
US7495969B2 (en) Techniques for improving write stability of memory with decoupled read and write bit lines
US20080144361A1 (en) Static random access memory architecture
CN110301010A (zh) 计算存储单元以及将该存储单元用于异或和异或非计算的处理阵列器件
CN103928048A (zh) 带有匹配地址和数据线控制的多端口存储器
KR20220103743A (ko) 래치를 갖는 정적 랜덤 액세스 메모리 판독 경로
CN105190760A (zh) 在存储器系统中并行地使用具有nmos通过门和pmos通过门两者的sram单元
Premalatha et al. A comparative analysis of 6T, 7T, 8T and 9T SRAM cells in 90nm technology
US6778462B1 (en) Metal-programmable single-port SRAM array for dual-port functionality
US7525867B2 (en) Storage circuit and method therefor
JP7054012B2 (ja) 半導体記憶回路、半導体記憶装置及びデータ検出方法
US10580481B1 (en) Methods, circuits, systems, and articles of manufacture for state machine interconnect architecture using embedded DRAM
US20120243285A1 (en) Multiple write during simultaneous memory access of a multi-port memory device
US9576630B2 (en) Memory devices and methods having multiple address accesses in same cycle
US20140063916A1 (en) Sram local evaluation logic for column selection
US7746722B2 (en) Metal programmable self-timed memories
US7248491B1 (en) Circuit for and method of implementing a content addressable memory in a programmable logic device
US9087563B2 (en) SRAM local evaluation and write logic for column selection
US7242633B1 (en) Memory device and method of transferring data in memory device
US20220343970A1 (en) Multi-Tier Memory Architecture
US10672459B2 (en) Transition coupling circuitry for memory applications
Riaz et al. High speed content addressable memory with reduced size and less power consumption
Ramakrishnan et al. Design of 8T ROM embedded SRAM using double wordline for low power high speed application
US8374039B2 (en) Multi-port memory array

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170302

Address after: Singapore Singapore

Applicant after: Avago Technologies Fiber IP Singapore Pte. Ltd.

Address before: American California

Applicant before: Zyray Wireless Inc.

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1222930

Country of ref document: HK

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

Effective date of registration: 20181023

Address after: Singapore Singapore

Applicant after: Annwa high tech Limited by Share Ltd

Address before: Singapore Singapore

Applicant before: Avago Technologies Fiber IP Singapore Pte. Ltd.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190118

Termination date: 20210218

CF01 Termination of patent right due to non-payment of annual fee
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1222930

Country of ref document: HK