CN110335633B - Sram多单元操作 - Google Patents
Sram多单元操作 Download PDFInfo
- Publication number
- CN110335633B CN110335633B CN201910593475.9A CN201910593475A CN110335633B CN 110335633 B CN110335633 B CN 110335633B CN 201910593475 A CN201910593475 A CN 201910593475A CN 110335633 B CN110335633 B CN 110335633B
- Authority
- CN
- China
- Prior art keywords
- bit line
- column
- value
- memory
- memory cell
- 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.)
- Active
Links
- 230000000295 complement effect Effects 0.000 claims abstract description 32
- 230000003213 activating effect Effects 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims abstract description 11
- 230000001066 destructive effect Effects 0.000 claims abstract description 8
- 230000004913 activation Effects 0.000 claims abstract description 5
- 238000013500 data storage Methods 0.000 claims abstract 4
- 238000000034 method Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000003068 static effect Effects 0.000 claims description 4
- 101100328884 Caenorhabditis elegans sqt-3 gene Proteins 0.000 description 5
- 238000003491 array Methods 0.000 description 5
- 101100328886 Caenorhabditis elegans col-2 gene Proteins 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital 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/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/419—Read-write [R-W] circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital 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/412—Digital 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital 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/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/418—Address circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple 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
本申请是申请日为2016年5月5日、申请号为201680002427.2的中国专利申请的分案申请。
技术领域
本发明总体上涉及存储器单元,并且具体涉及在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)。
当布尔代数支持关联属性时,可以将分组变量关联到一起,而不改变等式的真值;因此,在位线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日公开的、发明名称为“TCAM SEARCH UNIT INCLUDING A DISTRIBUTOR TCAM AND DRAM AND A METHOD FORDIVIDING A DATABASE OF TCAM RULES”、美国公开号2012/0137060的申请人的共同申请中讨论的TCAM搜索,其被指定给本发明的共同受让人。可以搜索被存储在存储器阵列中的大数据库,以发现具有特定值或不匹配特定输入值的所有单元。然后可以将在搜索中发现的被存储在单元中的值写入新值。以这种方式,可以发现故障单元。
还可以以这种方式执行乘法。搜索可以查找具有特定值(例如,具有值6)的所有“字节”(单元组)。然后选择性写入将被存储在单元中的值重新写为36,从而提供一种在大数据库上执行平方运算的快速方式。
申请人已经认识到,利用本发明,可以在同一周期中读取和写入不同列。需要回想的是,在写入操作期间,可以将要被写入的列中的位线对充电到针对要被写入的值的适当电压,并且不应被写入的所有列的位线对BL和BL’被预充电,这是因为当触发器的两个位线都为高时不能在新状态中稳定。然而,如申请人已经认识到的,非写入列的预充电使得非写入列准备进行读取,并且因此可以在其它列被写入的同时读取这些列。
可以理解的是,本文针对6T SRAM描述的操作可以被实施在每列具有两个位线的任何非破坏性或非易失性存储器阵列上,并且其中,一个位线与存储的电荷相关联,而另一位线与存储的电荷的互补值相关联。
尽管在本文中已经图示和描述了本发明的某些特征,但是本领域普通技术人员现在可以想到许多修改、替换、改变和等价方案。因此,可以理解的是,权利要求旨在覆盖落入本发明的真实范围内的所有这种修改和改变。
Claims (21)
1.一种多存储器单元操作器,包括:
存储数据的非破坏性存储器阵列,所述存储器阵列在每列存储单元具有第一位线和第二位线,且在每行所述存储单元具有单个字线,每个所述存储单元包括数据存储元件和两个访问晶体管,每个晶体管连接到所述字线、所述数据存储元件、并连接到所述位线之一;
激活单元,其用于同时激活所述存储器阵列中的至少两行,从而在所述第一位线上生成至少两个存储单元的所述数据和互补数据的多个布尔函数输出,并在所述第二位线上生成所述数据和所述互补数据的不同的多个布尔函数输出以同时用于所述存储器阵列的每一列;以及
多列解码器,其至少用于激活多个选定列的所述第一位线和所述第二位线以用于读取或写入。
2.根据权利要求1所述的多存储器单元操作器,其中,所述多列解码器还包括写入单元,所述写入单元用于将所述选定列的所述第一位线、所述第二位线或所述第一位线与所述第二位线两者的输出写入到所述存储器阵列中。
3.根据权利要求1所述的多存储器单元操作器,其中,所述多列解码器包括预充电器,所述预充电器用于在读取之前将所述第一位线和所述第二位线预充电到预定义的预充电电压。
4.根据权利要求1所述的多存储器单元操作器,其中,所述多列解码器包括:充电器,其用于利用状态值对选定列的所述第一位线充电,并利用选定列的所述状态值的互补值对所述第二位线充电,以用于将所述状态值写入到所述选定列中被激活的存储单元;以及预充电器,其用于在写入期间将非选定列的所述第一位线和所述第二位线预充电到预定义的预充电电压。
5.根据权利要求4所述的多存储器单元操作器,其中,所述多列解码器包括输出单元,所述输出单元用于输出选定的所述非选定列的所述第一位线和所述第二位线中的一者或两者上的值,以用于在所述写入期间进行读取。
6.根据权利要求1所述的多存储器单元操作器,还包括搜索单元,所述搜索单元用于:针对具有与输入值匹配的值的存储单元搜遍所述数据,在所述匹配的值上执行操作以生成经处理的值,并将所述经处理的值写回到其相关联的所述存储单元。
7.根据权利要求1所述的多存储器单元操作器,其中,所述存储单元是静态随机访问存储器SRAM单元。
8.根据权利要求2所述的多存储器单元操作器,其中,所述多列解码器还包括计算器,所述计算器用于通过多次读取操作并通过将读取结果写入到所述存储器阵列中的其它位置来执行存储器内计算,所述结果被用于后续计算。
9.根据权利要求1所述的多存储器单元操作器,其中,所述布尔函数输出是通过以下的布尔运算中的至少一项来生成的:NOR、NAND、AND和OR。
10.一种多存储器单元操作器,包括:
存储数据的非破坏性存储器阵列,所述存储器阵列在每列具有第一位线和第二位线;
充电器,其用于利用状态值对将要被写入的列的所述第一位线充电,并利用所述将要被写入的列的所述状态值的互补值对所述第二位线充电,以用于将所述状态值写入到所述将要被写入的列中被激活的存储单元;
预充电器,其用于将非写入列的所述第一位线和所述第二位线预充电到预定义的预充电电压;以及
多列解码器,其至少用于在所述充电器对所述将要被写入的列进行操作的同时,激活所述非写入列的所述第一位线和所述第二位线以用于读取。
11.根据权利要求10所述的多存储器单元操作器,其中,所述多列解码器包括输出单元,所述输出单元用于输出选定的所述非写入列的所述第一位线和所述第二位线中的一者或二者上的值,以用于在-写入期间进行读取。
12.根据权利要求10所述的多存储器单元操作器,还包括搜索单元,所述搜索单元用于针对具有与输入值匹配的值的存储单元搜遍所述数据,在所述匹配的值上执行操作以生成经处理的值,并将所述经处理的值写回到其相关联的所述存储单元。
13.根据权利要求10所述的多存储器单元操作器,其中,所述存储单元是静态随机访问存储器SRAM单元。
14.根据权利要求10所述的多存储器单元操作器,其中,所述多列解码器还包括计算器,所述计算器用于通过多次读取操作并通过将读取结果写入到所述存储器阵列中的其它位置来执行存储器内计算,所述结果被用于后续计算。
15.根据权利要求10所述的多存储器单元操作器,其中,-布尔函数输出是通过以下的布尔运算中的至少一项来生成的:NOR、NAND、AND和OR。
16.一种用于操作用于计算的存储器阵列的方法,所述方法包括:
在每列具有第一位线和第二位线的非破坏性存储器阵列的周期期间,利用互补电压激活将要被写入的列,并利用预定义的预充电电压对非写入列进行预充电;以及
在所述周期期间读取已被预充电的所述非写入列。
17.根据权利要求16所述的方法,其中,所述激活包括:输出在选定的所述非写入列的所述第一位线和所述第二位线中的一者或两者上的值,以用于在写入期间进行读取。
18.根据权利要求16所述的方法,还包括:针对具有与输入值匹配的值的存储单元搜遍数据,在所述匹配的值上执行操作以生成经处理的值,并将所述经处理的值写回到其相关联的所述存储单元。
19.根据权利要求16所述的方法,其中,-存储单元是SRAM单元。
20.根据权利要求16所述的方法,其中,所述激活还包括:通过多次读取操作并通过将读取结果写入到所述存储器阵列中的其它位置来执行存储器内计算,所述结果被用于后续计算。
21.根据权利要求16所述的方法,其中,布尔函数输出是通过以下的布尔运算中的至少一项来生成的:NOR、NAND、AND和OR。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910593475.9A CN110335633B (zh) | 2015-05-05 | 2016-05-05 | Sram多单元操作 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562157162P | 2015-05-05 | 2015-05-05 | |
US62/157,162 | 2015-05-05 | ||
CN201680002427.2A CN106796811B (zh) | 2015-05-05 | 2016-05-05 | Sram多单元操作 |
CN201910593475.9A CN110335633B (zh) | 2015-05-05 | 2016-05-05 | Sram多单元操作 |
PCT/IB2016/052562 WO2016178172A1 (en) | 2015-05-05 | 2016-05-05 | Sram multi-cell operations |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680002427.2A Division CN106796811B (zh) | 2015-05-05 | 2016-05-05 | Sram多单元操作 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110335633A CN110335633A (zh) | 2019-10-15 |
CN110335633B true CN110335633B (zh) | 2024-01-12 |
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 After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680002427.2A Active CN106796811B (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) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102458885B1 (ko) | 2016-03-23 | 2022-10-24 | 쥐에스아이 테크놀로지 인코포레이티드 | 인메모리 행렬 곱셈 및 뉴럴 네트워크에서 그것의 사용 |
CN118468126A (zh) | 2016-07-17 | 2024-08-09 | Gsi 科技公司 | 在恒定的处理时间内查找k个极值 |
US12073328B2 (en) | 2016-07-17 | 2024-08-27 | Gsi Technology Inc. | Integrating a memory layer in a neural network for one-shot learning |
US10854284B1 (en) | 2016-12-06 | 2020-12-01 | Gsi Technology, Inc. | Computational memory cell and processing array device with ratioless write port |
US11227653B1 (en) | 2016-12-06 | 2022-01-18 | Gsi Technology, Inc. | Storage array circuits and methods for computational memory cells |
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 |
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 |
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 |
US10943648B1 (en) | 2016-12-06 | 2021-03-09 | Gsi Technology, Inc. | Ultra low VDD memory cell with ratioless write port |
US10725777B2 (en) | 2016-12-06 | 2020-07-28 | Gsi Technology, Inc. | Computational memory cell and processing array device using memory cells |
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 |
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 |
CN113961876B (zh) * | 2017-01-22 | 2024-01-30 | Gsi 科技公司 | 关联存储器设备中的稀疏矩阵乘法 |
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 |
CN117524279A (zh) * | 2017-11-15 | 2024-02-06 | 三星电子株式会社 | 具有虚拟体化架构的sram及包括其的系统和方法 |
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 |
KR102703432B1 (ko) * | 2018-12-31 | 2024-09-06 | 삼성전자주식회사 | 메모리 장치를 이용한 계산 방법 및 이를 수행하는 메모리 장치 |
US11941407B2 (en) | 2019-05-20 | 2024-03-26 | Gsi Technology Inc. | Pipeline architecture for bitwise multiplier-accumulator (MAC) |
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 |
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 |
US10958272B2 (en) | 2019-06-18 | 2021-03-23 | Gsi Technology, Inc. | Computational memory cell and processing array device using complementary exclusive or memory cells |
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 |
WO2022070131A1 (en) | 2020-10-01 | 2022-04-07 | Gsi Technology Inc. | Functional protein classification for pandemic research |
KR20230125211A (ko) * | 2020-12-31 | 2023-08-29 | 시놉시스, 인크. | 이중 프리차지 회로들을 갖는 의사-2-포트 메모리 |
CN117529776A (zh) * | 2021-03-21 | 2024-02-06 | Gsi 科技公司 | Ram真随机数生成器 |
US12079478B2 (en) | 2022-12-19 | 2024-09-03 | Gsi Technology Inc. | System and method for random data distribution in a memory array |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103578545A (zh) * | 2012-07-31 | 2014-02-12 | 意法半导体股份有限公司 | 具有成簇的存储器单元的非易失性存储器器件 |
Family Cites Families (12)
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 |
US20020112137A1 (en) * | 2000-12-31 | 2002-08-15 | Texas Instruments Incorporated | Partial trench body ties in sram cell |
US7233597B2 (en) | 2003-02-11 | 2007-06-19 | Texas Instruments Incorporated | High speed parser |
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 |
CN102414973B (zh) * | 2009-04-27 | 2015-07-01 | 惠普开发有限公司 | 具有用于改进的效率的可适配变压器匝数比的电功率转换系统 |
US8238173B2 (en) * | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
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 |
KR101736383B1 (ko) | 2010-08-03 | 2017-05-30 | 삼성전자주식회사 | 메모리 장치, 이의 프리차지 제어 방법, 및 이를 포함하는 장치들 |
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 |
-
2016
- 2016-05-05 CN CN201910593475.9A patent/CN110335633B/zh active Active
- 2016-05-05 WO PCT/IB2016/052562 patent/WO2016178172A1/en active Application Filing
- 2016-05-05 CN CN201680002427.2A patent/CN106796811B/zh active Active
- 2016-05-05 US US15/146,908 patent/US9558812B2/en active Active
- 2016-05-05 KR KR1020177005738A patent/KR101789611B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103578545A (zh) * | 2012-07-31 | 2014-02-12 | 意法半导体股份有限公司 | 具有成簇的存储器单元的非易失性存储器器件 |
Also Published As
Publication number | Publication date |
---|---|
CN106796811B (zh) | 2019-07-30 |
KR20170031253A (ko) | 2017-03-20 |
WO2016178172A1 (en) | 2016-11-10 |
CN110335633A (zh) | 2019-10-15 |
CN106796811A (zh) | 2017-05-31 |
KR101789611B1 (ko) | 2017-10-25 |
US9558812B2 (en) | 2017-01-31 |
US20160329092A1 (en) | 2016-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110335633B (zh) | Sram多单元操作 | |
US10210935B2 (en) | Associative row decoder | |
KR101714558B1 (ko) | 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법 | |
US9076527B2 (en) | Charge sharing in a TCAM array | |
US10832746B2 (en) | Non-volatile in-memory computing device | |
JP2938511B2 (ja) | 半導体記憶装置 | |
USRE46474E1 (en) | Multiple write during simultaneous memory access of a multi-port memory device | |
EP4364141A1 (en) | Memory write methods and circuits | |
TWI849433B (zh) | 用於實行記憶體內計算的計算裝置、記憶體控制器及方法 | |
US20220300255A1 (en) | Ram true random number generator | |
Bergh et al. | A fault-tolerant associative memory with high-speed operation | |
US7330934B2 (en) | Cache memory with reduced power and increased memory bandwidth | |
US5524226A (en) | Register file system for microcomputer including a decoding system for concurrently activating source and destination word lines | |
US20230298661A1 (en) | Memory system with burst mode having logic gates as sense elements | |
WO2024151370A1 (en) | Flexible sram pre-charge systems and methods | |
CN116580728A (zh) | 一种rom输出控制电路及方法 |
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 |