[go: up one dir, main page]

CN106796811A - Sram多单元操作 - Google Patents

Sram多单元操作 Download PDF

Info

Publication number
CN106796811A
CN106796811A CN201680002427.2A CN201680002427A CN106796811A CN 106796811 A CN106796811 A CN 106796811A CN 201680002427 A CN201680002427 A CN 201680002427A CN 106796811 A CN106796811 A CN 106796811A
Authority
CN
China
Prior art keywords
bit line
cells
value
column
data
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
CN201680002427.2A
Other languages
English (en)
Other versions
CN106796811B (zh
Inventor
A·阿克里博
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.)
GSI Technology Inc
Original Assignee
GSI Technology Inc
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 GSI Technology Inc filed Critical GSI Technology Inc
Priority to CN201910593475.9A priority Critical patent/CN110335633B/zh
Publication of CN106796811A publication Critical patent/CN106796811A/zh
Application granted granted Critical
Publication of CN106796811B publication Critical patent/CN106796811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/412Digital 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 using field-effect transistors only
    • 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/418Address circuits
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Static Random-Access Memory (AREA)

Abstract

一种多存储器单元操作器,包括:非破坏性存储器阵列、激活单元和多列解码器。所述非破坏性存储器阵列每列具有第一位线和第二位线。所述激活单元同时激活所述存储器阵列的列中的至少两个单元,从而在所述第一位线上生成所述至少两个单元的数据和互补数据的多个布尔函数输出,并在所述第二位线上生成所述数据和所述互补数据的不同的多个布尔函数输出。所述多列解码器至少激活多个选定列的所述第一位线和所述第二位线以用于读取或写入。所述多列解码器还包括写入单元,所述写入单元用于将所述选定列的所述第一位线、所述第二位线或所述第一位线与所述第二位线两者的输出写入到所述存储器阵列中。

Description

SRAM多单元操作
相关申请的交叉引用
本申请要求享有于2015年3月5日递交的、美国临时专利申请62/157162的优先权,通过引用将其并入本文。
技术领域
本发明总体上涉及存储器单元,并且具体涉及在6T SRAM存储器阵列中的多单元操作。
背景技术
在本领域中已知存储大量数据的存储器阵列。多年以来,制造者和设计者致力于使阵列物理上更小但在其中存储的数据量更大。
计算设备通常具有:一个或多个存储器阵列以存储数据,以及中央处理单元(CPU)和其它硬件以处理数据。CPU通常经由总线连接到存储器阵列。不幸的是,尽管CPU速度在近些年来极大地增加了,但是总线速度并没有以相同速度增加。因此,总线连接成为操作速度增加的瓶颈。
大数据的发展领域和机器学习算法涉及计算大量数据。在计算期间从存储器读取数据和向存储器写入数据是CPU敏感的,并且当IO是整个计算的重要部分时可能花费较长时间来完成。
发明内容
根据本发明的优选实施例,提供了一种多存储器单元操作器,包括:非破坏性存储器阵列、激活单元,以及多列解码器。所述非破坏性存储器阵列每列具有第一位线和第二位线。所述激活单元同时激活所述存储器阵列的列中的至少两个单元,从而在所述第一位线上生成所述至少两个单元的数据和互补数据的多个布尔函数输出,并在所述第二位线上生成所述数据和所述互补数据的不同的多个布尔函数输出。所述多列解码器至少激活多个选定列的所述第一位线和所述第二位线以用于读取或写入。
此外,根据本发明的优选实施例,所述多列解码器还包括写入单元,所述写入单元用于将所述选定列的所述第一位线、所述第二位线或所述第一位线与所述第二位线两者的输出写入到所述存储器阵列中。
此外,根据本发明的优选实施例,所述多列解码器包括预充电器,所述预充电器用于在读取之前将所述第一位线和所述第二位线预充电到预定义的预充电电压。
此外,根据本发明的优选实施例,所述多列解码器包括:充电器,其用于利用状态值对选定列的所述第一位线充电,并利用选定列的所述状态值的互补值对所述第二位线充电,以用于将所述状态值写入到所述选定列中被激活的单元;以及预充电器,其用于在写入期间将非选定列的所述第一位线和所述第二位线预充电到预定义的预充电电压。
另外,根据本发明的优选实施例,所述多列解码器包括输出单元,所述输出单元用于在选定的所述非选定列的所述第一位线和所述第二位线中的一个或两者上输出值,以用于在所述写入期间进行读取。
此外,根据本发明的优选实施例,所述操作器还包括搜索单元,所述搜索单元用于针对具有与输入值匹配的值的单元搜遍所述数据,在所匹配的值上执行操作以生成经处理的值,并将所述经处理的值写回到其相关联的所述单元。
此外,根据本发明的优选实施例,所述单元是SRAM(静态随机访问存储器)单元,例如,6晶体管SRAM单元。
此外,根据本发明的优选实施例,所述多列解码器还包括计算器,所述计算器用于通过多次读取操作并通过将读取结果写入到所述存储器阵列中的其它位置来执行存储器内计算,所述结果被用于后续计算。
此外,根据本发明的优选实施例,所述布尔运算是NOR、NAND、AND和OR。
根据本发明的优选实施例,还提供了一种用于操作用于计算的存储器阵列的方法。所述方法包括:同时激活在每列具有第一位线和第二位线的非破坏性存储器阵列的列中的至少两个单元,从而在所述第一位线上生成被存储在所述至少两个单元中的数据和所述至少两个单元的互补数据的多个布尔函数输出,并在所述第二位线上生成所述数据和所述互补数据的不同的多个布尔函数输出。所述方法还包括:激活多个选定列的所述第一位线和所述第二位线以用于读取或写入。
此外,根据本发明的优选实施例,第二激活还包括:将所述选定列的所述第一位线、所述第二位线或所述第一位线与所述第二位线两者的输出写入到所述存储器阵列中。
此外,根据本发明的优选实施例,所述第二激活包括:在读取之前将所述第一位线和所述第二位线预充电到预定义的预充电电压。
此外,根据本发明的优选实施例,所述第二激活包括:利用状态值对选定列的所述第一位线充电,并利用选定列的所述状态值的互补值对所述第二位线充电,以用于将所述状态值写入到所述选定列中被激活的单元;并且在写入期间将非选定列的所述第一位线和所述第二位线预充电到预定义的预充电电压。
另外,根据本发明的优选实施例,所述第二激活包括:在选定的所述非选定列的所述第一位线和所述第二位线中的一个或两者上输出值,以用于在所述写入期间进行读取。
此外,根据本发明的优选实施例,所述方法还包括:针对具有与输入值匹配的值的单元搜遍所述数据,在所匹配的值上执行操作以生成经处理的值,并将所述经处理的值写回到其相关联的所述单元。
最后,根据本发明的优选实施例,所述第二激活还包括:通过多次读取操作并通过将读取结果写入到所述存储器阵列中的其它位置来执行存储器内计算,所述结果被用于后续计算。
附图说明
在说明书的结论部分特地指出并明显要求保护关于本发明的主题。然而,通过在结合附图进行阅读时参考后续详细描述,可以在组织和操作方法两者及其目标、特征和优点的方面最佳地理解本发明,在附图中:
图1是6T SRAM存储器单元的图;
图2是SRAM存储器阵列的示意性图示;
图3是根据本发明的优选实施例构造和操作的在SRAM存储器阵列中的存储器计算操作的示意性图示;
图4一起是在图3的SRAM存储器阵列中的操作的示范性集合的真值表图示;
图5是在SRAM存储器阵列中的多单元写入操作的示意性图示;
图6是现有技术的全加法器电路的电路图图示;并且
图7是使用本发明的全加法器运算的示意性图示。
可以理解的是,为了简明且图示清晰,在图中示出的元件不必按比例绘制。例如,为了清晰起见,一些元件的维度可以相对于另一些元件被夸大。此外,在认为适当时,可以在图中重复附图标记以指示对应的元件或模拟元件。
具体实施方式
在以下的详细描述中,阐述了众多具体细节以便提供对本文发明的透彻理解。然而,本领域技术人员可以理解的是,可以在没有这些具体细节的情况下实践本发明。在其它实例中,没有详细描述已知的方法、流程和部件,以免使本发明难以理解。
申请人已经认识到,通过启用并发的多单元操作而不是在标准6T SRAM存储器阵列的每个计算周期进行单次行访问,可以更有效地使用标准的6T SRAM(静态随机存取存储器)存储器阵列。
根据本发明的实施例,在每个计算周期进行多行访问,引起能够执行多单元操作,例如,多单元写入操作和多单元计算。
现在参考图1,其图示了包括六个晶体管的6T SRAM存储器单元100;参考图2,其图示了多个6T SRAM 100的存储器阵列200。
6T SRAM单元100的四个晶体管(为了简明起见,未在图中示出)形成简单的标准触发器元件102,所述标准触发器元件102具有被定义为逻辑“0”状态和“1”状态的两个稳定电压状态。通常,高电压值定义逻辑“1”,而低电压值定义逻辑“0”。该单元经由数据信号Q具体化其存储的值并经由数据信号Q’具体化其互补值。因此,如果单元100存储值“1”,则数字信号Q中的电压值反映值“1”,并且在互补数据信号Q’中的电压值反映值“0”。
使用两条位线BL和BL’来将数据转移到单元中和从单元中转移数据以用于读取操作和写入操作。位线BL和BL’经由控制对单元访问的两个晶体管N1和N2分别被连接到触发器102。
如图2所示,存储器阵列200中的单元被布置在矩阵中。在同一列中的所有单元连接到同一位线对BL和BL’。在同一行的所有单元连接到同一字线WL,所述字线WL连接到每个单元的访问晶体管N1和N2。列解码器210通过利用适当的电压对选定列的位线对BL和BL’充电来控制列选择。行解码器220通过将字线WL充电到高来控制行选择。针对操作的选定单元是驻留在字线WL与位线对BL和BL’的交叉处的单元。
当行解码器220选择字线WL时,单元100连接到其位线BL和BL’,并且可以针对读取操作或写入操作进行访问。当字线WL未被选择时,位线BL和BL’可能未连接到单元100,并因此未传达单元内容或未将数据写入到单元中。
为了读取6T SRAM单元100的状态,列解码器210将位线BL和BL’两者预充电到高电压水平,之后,行解码器220激活其字线WL。一旦字线WL被激活,数据信号Q和Q’的电压水平将分别影响位线BL和BL’。根据位线BL和BL’的电压值确定单元的内容。如果数据信号Q的值为低,则被预充电到高值的BL的电压值将由于连接到数据信号Q而降低,这是因为Q为低。如果数据信号Q的值为高,则位线BL的电压值将保持为高。相同的逻辑也应用于互补数据信号Q’和位线BL’。如果数据信号Q’的值为低,则位线BL’的电压值将由于连接到数据信号Q’而降低。如果数据信号Q’的值为高,则位线BL’的电压值将保持为高。在就绪状态,位线对BL和BL’中的一个将降低,同时另一个将保持为高,这是因为数据信号Q和Q’是互补的。
在读取操作期间,比较位线BL和BL’的值,并且如果位线BL的水平高于位线BL’的水平,则单元100据说存储值“1”;如果位线BL的水平低于位线BL’的水平,则单元100据说存储值“0”。
为了将值写入到6T SRAM单元100,列解码器210将位线BL充电到与要被写入的值相关联的电压水平,并且将位线BL’充电到互补电压水平。具体地,为了在单元100中存储值“1”,将位线BL充电到高电压水平且将位线BL’充电到低电压水平;并且为了在单元100中存储值“0”,将位线BL充电到低电压水平且将位线BL’充电到低电压水平。为了执行写入操作,激活字线WL,并将位线BL上的电压水平转移到数据信号Q,且将位线BL’上的电压水平转移到数据信号Q’。因此,在该状态下触发器102是稳定的。
申请人已经认识到,当同时激活多条字线时,连接多行中的单元的位线对的电压水平受连接到位线的所有选定单元的数据信号影响。具体地,申请人已经认识到,当位线BL和BL’在读取之前被预充电时,如果连接到位线的激活单元的数据信号为低,则将连接所有激活单元的整个位线的电压水平拉低。只有当连接到位线的所有选定单元的数据信号为高时,位线的电压水平将维持为高。事实上,申请人已经认识到,连接若干选定单元的位线的电压水平反映在所有选定单元中存储的值上执行的布尔运算“AND”和“NOR”的结果。
另外,在两个位线上的合成电压水平不再是如在标准6T SRAM存储器阵列中一样的互补。它们可能具有相同的电压水平。这如图3所示,现在将参考图3。
图3示出了包括多个单元(示出了三个单元301、302和303)、列解码器310和行解码器320的存储器阵列300。列解码器310可以包括预充电器312、充电器314和写入单元316。
在图3中,通过行解码器320和位线(这里标记为BLQ和BLQ’)同时激活两个字线WLa和WLb,其被预充电器312预充电到固定电压水平。如上所述,位线BLQ和BLQ’上的电压水平受列中的每个选定单元的数据信号的电压水平影响。在图3中,单元301的数据信号Q的电压水平表示逻辑值“1”,而单元302的数据信号Q的电压水平表示逻辑值“0”。因此,单元301的互补数据信号Q’的电压水平表示逻辑值“0”,而单元302的互补数据信号Q’的电压水平表示逻辑值“1”。
在连接单元301和302的数据信号Q的位线BLQ上的合成电压水平将为低,这反映了单元301和302的数据信号Q的布尔“AND”。另外,其还反映单元301和302的互补数据信号Q’的布尔“NOR”。因此,位线BLQ上的合成电压水平反映AND(Q)和NOR(Q’)。
类似地,在连接单元301和302的互补数据信号Q’的位线BLQ’上的电压水平反映互补数据信号Q’的布尔“AND”,以及数据信号Q的布尔“NOR”,即:AND(Q’)和NOR(Q)。
可以理解的是,通过本发明任何类型的逻辑是可能的,这取决于信号Q是如何定义的。例如,如果我们将“0”定义为“真”且将“1”定义为“假”,则位线BLQ上的合成电压水平反映NAND(Q)和(WHAT?)。
当布尔代数支持关联属性时,可以将分组变量关联到一起,而不改变等式的真值;因此,在位线BLQ和BLQ’上反映的值是布尔运算的结果,而不管选定单元的数量。
申请人已经认识到,由于位线BLQ和BLQ’两者的电压水平可以被同时读取,因此操作的计算时间可以减少50%,这是因为单个计算周期提供两个不同布尔运算的结果,一个结果在BLQ上反映而另一个在BLQ’上反映。
现在参考图4,其是给出在6T SRAM存储器阵列中存储的数据的示范性值的表格。存储器阵列具有6行(标记为1-6)和3列(标记为Col-1、Col-2和Col-3)。在表格中,每个单元具有其列出的数据信号Q和Q’。
在Col-1中的所有单元连接到同一位线对BLQ和BLQ’。在列-1中的一些单元具有“1”的数据信号Q(在行1、2和5中的单元),而其它的具有“0”的数据信号Q(在行3、4和6中的单元)。Q’具有互补值。
表格示出了在列-1的位线BLQ上的合成值是“0”,这是因为在列Col-1中存在至少一个这样的单元:所述单元的Q值为低并且该低值拉低整体位线。表格还示出了在Col-1的位线BLQ’上的合成值也是“0”,这是因为在列Col-1中存在至少一个这样的单元:所述单元的Q’值为低并且该低值拉低整体位线。因此,在位线BL上的值可以是AND(Q)。另一方式是NOR(Q’)。
在第二列Col-2中,所有的数据信号Q的值是“0”。其BLQ的值因此是“0”,这是因为存在具有低值的至少一个单元。然而,其BLQ’的值是“1”,这是因为所有的互补数据信号Q’的值为高。
在第三列Col-3中的所有单元存储“1”。因此,位线BLQ的值是“1”,并且位线BLQ’的值出于上述相同的原因是“0”。
根据本发明的优选实施例,在列解码器310中的写入单元316(图3)可以直接将位线的结果写回到存储器阵列300的单元中的一个(例如,单元303)中。申请人已经认识到,还可以如上所述通过选择若干行来并发地将值写入遍及SRAM阵列的若干单元。针对多个写入操作,列解码器310可以以指令命令充电器314对用于要被写入的单元的列的位线对BLQ和BLQ’充电到要被写入的适当值,并且可以以指令命令与充电器312对不应被写入的所有列的位线对BLQ和BLQ’预充电。对列的两个位线BLQ和BLQ’预充电可以防止单元被写入,这是因为当触发器的两个位线都为高时不能在新状态中稳定。
现在参考图5,其是包括3行和3列(总共9个存储器单元)的小型存储器阵列500的范例。图5的阵列只是范例;任何尺寸的阵列可以使用在本文中描述的相同原理操作。为了促进对下文描述的写入操作的理解,图5中的存储器阵列500的三行以大写字母标记为A、B和C,而存储器阵列500的列以小写字母标记为a、b和c,并且在阵列中的每个单元可以通过其行和列标记进行参考。存储器阵列500还包括用于激活多行的行解码器502以及用于对多列进行充电和预充电的列解码器504。
在图5中,为了仅将值“1”写入到单元“Ab”(在行“A”列“b”中的单元)和“Cb”(在行“C”列“b”中的单元),存储器阵列500可以执行以下操作:行解码器502可以选择分别控制行A和行C的字线WLA和WLC。列解码器504可以对不应被写入的列(列“a”和列“c”(BLa、BL’a、BLc和BL’c))的位线预充电。此外,列解码器504可以利用期望值对列b的位线充电(即,可以以“1”对BLb充电,并且以“0”对BL’b充电)。
在该范例中,按照期望,仅将值1提供给列“b”、行“A”和行“C”中的单元。在阵列500中的所有其它单元不被改变。
申请人已经认识到,使用本文描述的写入方法可以仅在两个周期中写入整个阵列。在一个实施例中,在第一周期中使阵列无效,并且在第二周期中将值“1”写入到应被设置为“1”的所有单元。在另一实施例中,将值“1”写入到应当具有值“1”的单元,并且在第二周期上执行对其它单元写入值“0”的多个写入操作。
申请人已经认识到可以一起实现这两个操作。
已知的是,可以根据NOR门构建任何电路或逻辑单元,这是因为其是功能完全的运算,并且因此可以使用上述多行选择操作来计算任何布尔运算。为了实施任何其它操作,可以将位线(BLQ或BLQ’)上的作为NOR门的输出的信号写入到SRAM阵列的单独位置中,并且可以用作到另外的NOR门的输入,从而实现其它布尔运算。
例如,可以使用本发明实施全加法器。现在参考图6,其示出了设计有逻辑门的全加法器电路;现在还参考图7,其示出了如何利用本发明实施相同的计算。
在图6的全加法器电路中,存在两个输入X和Y,以及进位信号Z。逆变器13、14和15转变信号X、Y和Z以产生其互补信号X_bar、Y_bar和Z_zar。门19-22中的每个组合六个信号中的三个以生成临时信号XYZ_bar、XY_barZ、X_barYZ和X_barY_barZ_bar。门25-27中的每个转变两个信号的组合以产生X_barY_bar。Y_barZ_bar和X_barZ_bar。最后,门23根据门19-22的组合输出产生X与Y的总和,并且门28根据门25-27的组合输出产生输出进位值C。
图7示出了被存储在存储器阵列300的各个单元中的值。三个初始单元存储两个输入X和Y以及进位信号Z。在前三个周期中的每个中,读取初始单位的互补信号以生成互补信号X_bar、Y_bar和Z_bar并在三个其它单元中存储互补信号X_bar、Y_bar和Z_bar(图7中的箭头在它们发生的周期中结束,并且在用于计算的数据的存储器单元中开始)。
在接着的四个周期中的每个中,激活这六个存储器单元中的不同的三个,并且将结果写入到存储器阵列300的不同单元中,以生成临时信号XYZ_bar、XY_barZ、X_barYZ和X_barY_barZ_bar。
在接着的三个周期中,激活互补存储器单元中的不同的两个,以产生并存储X_barY_bar、Y_barZ_bar和X_barZ_bar。最后,在最后的两个周期中,通过激活存储临时信号XYZ_bar、XY_barZ、X_barYZ和X_barY_barZ_bar的单元产生X与Y的总和S,并且通过激活存储临时信号X_barY_bar、Y_barZ_bar和X_barZ_bar的单元产生输出进位值C。然后将总和S和输出进位C写回到存储器阵列300中。
申请人已经认识到可以以多种方式利用上述选择性写入。例如,其可以用于更新在搜索操作中发现的数据,所述搜索操作例如是在2012年5月31日公开的、题目为“TCAMSEARCH UNIT INCLUDING A DISTRIBUTOR TCAM AND DRAM AND A METHOD FOR DIVIDING ADATABASE OF TCAM RULES”、美国公开号2012/0137060的申请人的共同申请中讨论的TCAM搜索,其被指定给本发明的共同受让人。可以搜索被存储在存储器阵列中的大数据库,以发现具有特定值或不匹配特定输入值的所有单元。然后可以将在搜索中发现的被存储在单元中的值写入新值。以这种方式,可以发现故障单元。
还可以以这种方式执行乘法。搜索可以查找具有特定值(例如,具有值6)的所有“字节”(单元组)。然后选择性写入将被存储在单元中的值重新写为36,从而提供一种在大数据库上执行平方运算的快速方式。
申请人已经认识到,利用本发明,可以在同一周期中读取和写入不同列。需要回想的是,在写入操作期间,可以将要被写入的列中的位线对充电到针对要被写入的值的适当电压,并且不应被写入的所有列的位线对BL和BL’被预充电,这是因为当触发器的两个位线都为高时不能在新状态中稳定。然而,如申请人已经认识到的,非写入列的预充电使得非写入列准备进行读取,并且因此可以在其它列被写入的同时读取这些列。
可以理解的是,本文针对6T SRAM描述的操作可以被实施在每列具有两个位线的任何非破坏性或非易失性存储器阵列上,并且其中,一个位线与存储的电荷相关联,而另一位线与存储的电荷的互补值相关联。
尽管在本文中已经图示和描述了本发明的某些特征,但是本领域普通技术人员现在可以想到许多修改、替换、改变和等价方案。因此,可以理解的是,权利要求旨在覆盖落入本发明的真实范围内的所有这种修改和改变。

Claims (20)

1.一种多存储器单元操作器,包括:
存储数据的非破坏性存储器阵列,所述阵列每列具有第一位线和第二位线;
激活单元,其用于同时激活所述存储器阵列的列中的至少两个单元,从而在所述第一位线上生成所述至少两个单元的所述数据和互补数据的多个布尔函数输出,并在所述第二位线上生成所述数据和所述互补数据的不同的多个布尔函数输出;以及
多列解码器,其至少用于激活多个选定列的所述第一位线和所述第二位线以用于读取或写入。
2.根据权利要求1所述的多存储器单元操作器,其中,所述多列解码器还包括写入单元,所述写入单元用于将所述选定列的所述第一位线、所述第二位线或所述第一位线与所述第二位线两者的输出写入到所述存储器阵列中。
3.根据权利要求1所述的多存储器单元操作器,其中,所述多列解码器包括预充电器,所述预充电器用于在读取之前将所述第一位线和所述第二位线预充电到预定义的预充电电压。
4.根据权利要求1所述的多存储器单元操作器,其中,所述多列解码器包括:充电器,其用于利用状态值对选定列的所述第一位线充电,并利用选定列的所述状态值的互补值对所述第二位线充电,以用于将所述状态值写入到所述选定列中被激活的单元;以及预充电器,其用于在写入期间将非选定列的所述第一位线和所述第二位线预充电到预定义的预充电电压。
5.根据权利要求4所述的多存储器单元操作器,其中,所述多列解码器包括输出单元,所述输出单元用于在选定的所述非选定列的所述第一位线和所述第二位线中的一个或两者上输出值,以用于在所述写入期间进行读取。
6.根据权利要求1所述的多存储器单元操作器,还包括搜索单元,所述搜索单元用于针对具有与输入值匹配的值的单元搜遍所述数据,在所述匹配的值上执行操作以生成经处理的值,并将所述经处理的值写回到其相关联的所述单元。
7.根据权利要求1所述的多存储器单元操作器,其中,所述单元是SRAM(静态随机访问存储器)单元。
8.根据权利要求1所述的多存储器单元操作器,其中,所述单元是6晶体管SRAM单元。
9.根据权利要求2所述的多存储器单元操作器,其中,所述多列解码器还包括计算器,所述计算器用于通过多次读取操作并通过将读取结果写入到所述存储器阵列中的其它位置来执行存储器内计算,所述结果被用于后续计算。
10.根据权利要求1所述的多存储器单元操作器,其中,所述布尔运算是NOR、NAND、AND和OR。
11.一种用于操作用于计算的存储器阵列的方法,所述方法包括:
同时激活在每列具有第一位线和第二位线的非破坏性存储器阵列的列中的至少两个单元,从而在所述第一位线上生成被存储在所述至少两个单元中的数据和所述至少两个单元的互补数据的多个布尔函数输出,并在所述第二位线上生成所述数据和所述互补数据的不同的多个布尔函数输出;并且
激活多个选定列的所述第一位线和所述第二位线以用于读取或写入。
12.根据权利要求11所述的方法,其中,所述第二激活还包括:将所述选定列的所述第一位线、所述第二位线或所述第一位线与所述第二位线两者的输出写入到所述存储器阵列中。
13.根据权利要求11所述的方法,其中,所述第二激活包括:在读取之前将所述第一位线和所述第二位线预充电到预定义的预充电电压。
14.根据权利要求11所述的方法,其中,所述第二激活包括:利用状态值对选定列的所述第一位线充电,并利用选定列的所述状态值的互补值对所述第二位线充电,以用于将所述状态值写入到所述选定列中被激活的单元;并且在写入期间将非选定列的所述第一位线和所述第二位线预充电到预定义的预充电电压。
15.根据权利要求14所述的方法,其中,所述第二激活包括:在选定的所述非选定列的所述第一位线和所述第二位线中的一个或两者上输出值,以用于在所述写入期间进行读取。
16.根据权利要求11所述的方法,还包括:针对具有与输入值匹配的值的单元搜遍所述数据,在所述匹配的值上执行操作以生成经处理的值,并将所述经处理的值写回到其相关联的所述单元。
17.根据权利要求11所述的方法,其中,所述单元是SRAM单元。
18.根据权利要求11所述的方法,其中,所述单元是6晶体管SRAM单元。
19.根据权利要求12所述的方法,其中,所述第二激活还包括:通过多次读取操作并通过将读取结果写入到所述存储器阵列中的其它位置来执行存储器内计算,所述结果被用于后续计算。
20.根据权利要求11所述的方法,其中,所述布尔运算是NOR、NAND、AND和OR。
CN201680002427.2A 2015-05-05 2016-05-05 Sram多单元操作 Active CN106796811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910593475.9A CN110335633B (zh) 2015-05-05 2016-05-05 Sram多单元操作

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562157162P 2015-05-05 2015-05-05
US62/157,162 2015-05-05
PCT/IB2016/052562 WO2016178172A1 (en) 2015-05-05 2016-05-05 Sram multi-cell operations

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910593475.9A Division CN110335633B (zh) 2015-05-05 2016-05-05 Sram多单元操作

Publications (2)

Publication Number Publication Date
CN106796811A true CN106796811A (zh) 2017-05-31
CN106796811B CN106796811B (zh) 2019-07-30

Family

ID=57217597

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910593475.9A Active CN110335633B (zh) 2015-05-05 2016-05-05 Sram多单元操作
CN201680002427.2A Active CN106796811B (zh) 2015-05-05 2016-05-05 Sram多单元操作

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910593475.9A Active CN110335633B (zh) 2015-05-05 2016-05-05 Sram多单元操作

Country Status (4)

Country Link
US (1) US9558812B2 (zh)
KR (1) KR101789611B1 (zh)
CN (2) CN110335633B (zh)
WO (1) WO2016178172A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109785882A (zh) * 2017-11-15 2019-05-21 三星电子株式会社 具有虚拟体化架构的sram及包括其的系统和方法
CN111383692A (zh) * 2018-12-31 2020-07-07 三星电子株式会社 使用存储器装置的存储器中处理的方法及存储器装置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10997275B2 (en) 2016-03-23 2021-05-04 Gsi Technology Inc. In memory matrix multiplication and its usage in neural networks
US12073328B2 (en) 2016-07-17 2024-08-27 Gsi Technology Inc. Integrating a memory layer in a neural network for one-shot learning
US12367346B2 (en) 2016-07-17 2025-07-22 Gsi Technology Inc. Natural language processing with k-NN
CN108351974B (zh) 2016-07-17 2024-06-18 Gsi科技公司 在恒定的处理时间内查找k个极值
US10891076B1 (en) 2016-12-06 2021-01-12 Gsi Technology, Inc. Results processing circuits and methods associated with computational memory cells
US10770133B1 (en) 2016-12-06 2020-09-08 Gsi Technology, Inc. Read and write data processing circuits and methods associated with computational memory cells that provides write inhibits and read bit line pre-charge inhibits
US10777262B1 (en) 2016-12-06 2020-09-15 Gsi Technology, Inc. Read data processing circuits and methods associated memory cells
US10847213B1 (en) 2016-12-06 2020-11-24 Gsi Technology, Inc. Write data processing circuits and methods associated with computational memory cells
US10847212B1 (en) 2016-12-06 2020-11-24 Gsi Technology, Inc. Read and write data processing circuits and methods associated with computational memory cells using two read multiplexers
US10943648B1 (en) 2016-12-06 2021-03-09 Gsi Technology, Inc. Ultra low VDD memory cell with ratioless write port
US10521229B2 (en) 2016-12-06 2019-12-31 Gsi Technology, Inc. Computational memory cell and processing array device using memory cells
US11227653B1 (en) 2016-12-06 2022-01-18 Gsi Technology, Inc. Storage array circuits and methods for computational memory cells
US10854284B1 (en) 2016-12-06 2020-12-01 Gsi Technology, Inc. Computational memory cell and processing array device with ratioless write port
US10249362B2 (en) 2016-12-06 2019-04-02 Gsi Technology, Inc. Computational memory cell and processing array device using the memory cells for XOR and XNOR computations
US10534836B2 (en) 2016-12-06 2020-01-14 Gsi Technology Inc. Four steps associative full adder
US10860320B1 (en) 2016-12-06 2020-12-08 Gsi Technology, Inc. Orthogonal data transposition system and method during data transfers to/from a processing array
KR102333638B1 (ko) 2017-01-22 2021-12-01 쥐에스아이 테크놀로지 인코포레이티드 연관 메모리 디바이스의 희소 행렬 곱셈
US10514914B2 (en) * 2017-08-29 2019-12-24 Gsi Technology Inc. Method for min-max computation in associative memory
US10956432B2 (en) 2017-08-30 2021-03-23 Gsi Technology Inc. One by one selection of items of a set
US10402165B2 (en) * 2017-08-30 2019-09-03 Gsi Technology Inc. Concurrent multi-bit adder
US10949766B2 (en) 2017-10-15 2021-03-16 Gsi Technology Inc. Precise exponent and exact softmax computation
US10635397B2 (en) 2018-03-08 2020-04-28 Gsi Technology Inc. System and method for long addition and long multiplication in associative memory
US10817370B2 (en) 2018-12-17 2020-10-27 Gsi Technology Inc. Self correcting memory device
US11941407B2 (en) 2019-05-20 2024-03-26 Gsi Technology Inc. Pipeline architecture for bitwise multiplier-accumulator (MAC)
US10958272B2 (en) 2019-06-18 2021-03-23 Gsi Technology, Inc. Computational memory cell and processing array device using complementary exclusive or memory cells
US10930341B1 (en) * 2019-06-18 2021-02-23 Gsi Technology, Inc. Processing array device that performs one cycle full adder operation and bit line read/write logic features
US10877731B1 (en) * 2019-06-18 2020-12-29 Gsi Technology, Inc. Processing array device that performs one cycle full adder operation and bit line read/write logic features
US12210537B2 (en) 2019-07-08 2025-01-28 Gsi Technology Inc. Reference distance similarity search
US12259859B2 (en) 2019-08-19 2025-03-25 Gsi Technology Inc. Deduplication of data via associative similarity search
US12050885B2 (en) 2020-02-26 2024-07-30 Gsi Technology Inc. Iterative binary division with carry prediction
US11200029B2 (en) * 2020-04-16 2021-12-14 Flashsilicon Incorporation Extendable multiple-digit base-2n in-memory adder device
US12027238B2 (en) 2020-10-01 2024-07-02 Gsi Technology Inc. Functional protein classification for pandemic research
US12308091B2 (en) * 2020-12-31 2025-05-20 Synopsys, Inc. Pseudo-2-port memory with dual pre-charge circuits
US20220300255A1 (en) * 2021-03-21 2022-09-22 Gsi Technology Inc. Ram true random number generator
US12079478B2 (en) 2022-12-19 2024-09-03 Gsi Technology Inc. System and method for random data distribution in a memory array

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020112137A1 (en) * 2000-12-31 2002-08-15 Texas Instruments Incorporated Partial trench body ties in sram cell
US20040156371A1 (en) * 2003-02-11 2004-08-12 Texas Instruments Incorporated High speed parser
US20110013442A1 (en) * 2009-07-16 2011-01-20 Avidan Akerib Using storage cells to perform computation
US20120033489A1 (en) * 2010-08-03 2012-02-09 Samsung Electronics Co., Ltd. Memory device, precharge controlling method thereof, and devices having the same
CN103578545A (zh) * 2012-07-31 2014-02-12 意法半导体股份有限公司 具有成簇的存储器单元的非易失性存储器器件

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0787032B2 (ja) * 1985-07-08 1995-09-20 日本電気アイシ−マイコンシステム株式会社 半導体記憶装置
US6118689A (en) * 1999-10-27 2000-09-12 Kuo; James B. Two-port 6T CMOS SRAM cell structure for low-voltage VLSI SRAM with single-bit-line simultaneous read-and-write access (SBLSRWA) capability
US7830727B2 (en) 2008-06-09 2010-11-09 International Business Machines Corporation Apparatus and method for low power, single-ended sensing in a multi-port SRAM using pre-discharged bit lines
GB2481752B (en) * 2009-04-27 2013-12-04 Hewlett Packard Development Co Electric power conversion system having an adaptable transformer turns ratio for improved efficiency
US9076527B2 (en) * 2009-07-16 2015-07-07 Mikamonu Group Ltd. Charge sharing in a TCAM array
US9406381B2 (en) 2010-08-01 2016-08-02 Gsi Technology Israel Ltd. TCAM search unit including a distributor TCAM and DRAM and a method for dividing a database of TCAM rules
US8902672B2 (en) 2013-01-01 2014-12-02 Memoir Systems, Inc. Methods and apparatus for designing and constructing multi-port memory circuits
US9001546B2 (en) * 2013-08-22 2015-04-07 Taiwan Semiconductor Manufacturing Company Limited 3D structure for advanced SRAM design to avoid half-selected issue

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020112137A1 (en) * 2000-12-31 2002-08-15 Texas Instruments Incorporated Partial trench body ties in sram cell
US20040156371A1 (en) * 2003-02-11 2004-08-12 Texas Instruments Incorporated High speed parser
US20110013442A1 (en) * 2009-07-16 2011-01-20 Avidan Akerib Using storage cells to perform computation
US20120033489A1 (en) * 2010-08-03 2012-02-09 Samsung Electronics Co., Ltd. Memory device, precharge controlling method thereof, and devices having the same
CN103578545A (zh) * 2012-07-31 2014-02-12 意法半导体股份有限公司 具有成簇的存储器单元的非易失性存储器器件

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109785882A (zh) * 2017-11-15 2019-05-21 三星电子株式会社 具有虚拟体化架构的sram及包括其的系统和方法
CN109785882B (zh) * 2017-11-15 2023-11-21 三星电子株式会社 具有虚拟体化架构的sram及包括其的系统和方法
CN111383692A (zh) * 2018-12-31 2020-07-07 三星电子株式会社 使用存储器装置的存储器中处理的方法及存储器装置
CN111383692B (zh) * 2018-12-31 2025-02-07 三星电子株式会社 使用存储器装置的存储器中处理的方法及存储器装置

Also Published As

Publication number Publication date
CN110335633B (zh) 2024-01-12
KR101789611B1 (ko) 2017-10-25
US9558812B2 (en) 2017-01-31
CN110335633A (zh) 2019-10-15
US20160329092A1 (en) 2016-11-10
WO2016178172A1 (en) 2016-11-10
KR20170031253A (ko) 2017-03-20
CN106796811B (zh) 2019-07-30

Similar Documents

Publication Publication Date Title
CN106796811B (zh) Sram多单元操作
US9076527B2 (en) Charge sharing in a TCAM array
KR101714558B1 (ko) 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법
US10210935B2 (en) Associative row decoder
US20200381026A1 (en) In-memory computing device for 8t-sram memory cells
US20170316829A1 (en) In-memory computational device with bit line processors
US6421290B2 (en) Output circuit for alternating multiple bit line per column memory architecture
TWI849433B (zh) 用於實行記憶體內計算的計算裝置、記憶體控制器及方法
JP2023502480A (ja) ラッチを有するスタティックランダムアクセスメモリ読み込み経路
JPH1050076A (ja) 連想メモリ
USRE46474E1 (en) Multiple write during simultaneous memory access of a multi-port memory device
CN117529776A (zh) Ram真随机数生成器
Chen et al. Reconfigurable 2T2R ReRAM with split word-lines for TCAM operation and in-memory computing
EP4364141A1 (en) Memory write methods and circuits
US20080137450A1 (en) Apparatus and method for sram array power reduction through majority evaluation
US20250335347A1 (en) Memory device, trim register, memory system, and electronic apparatus
US20250335098A1 (en) Access time in a memory array
KR20250104028A (ko) 레지스터 파일 연산기 및 레지스터 파일 연산기의 동작 방법
KR20250123684A (ko) 메모리에 기록하기 위한 증가된 처리량

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