CN102541462A - 宽带读写存储器装置 - Google Patents
宽带读写存储器装置 Download PDFInfo
- Publication number
- CN102541462A CN102541462A CN2010106227561A CN201010622756A CN102541462A CN 102541462 A CN102541462 A CN 102541462A CN 2010106227561 A CN2010106227561 A CN 2010106227561A CN 201010622756 A CN201010622756 A CN 201010622756A CN 102541462 A CN102541462 A CN 102541462A
- Authority
- CN
- China
- Prior art keywords
- read
- data
- port
- write
- reading
- 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.)
- Pending
Links
Images
Landscapes
- Static Random-Access Memory (AREA)
Abstract
本发明属于集成电路设计领域。一种存储装置包括存储阵列、第一读出端口、第二读出端口和一个控制输入端口。存储阵列由复数个存储单元构成的阵列所组成。第一读出端口用于在单个读周期内从单个存储单元中读出数据,第二读出端口用于在单个读周期内读出一组由共同的字线控制的存储单元中的数据。此外,控制输入端口用于接收表明存储装置工作状态的模式信号,其中工作状态包括第一读出模式和第二读出模式,当状态信号表示为第一读出模式时使用第一读出端口读出第一数据,当状态信号表示为第二读出模式时,使用第一读出端口读出第一数据,使用第二读出端口读出第二数据。
Description
技术领域
本发明涉及集成电路设计领域,为通过结构优化提高存储器读写带宽的方法及装置。
背景技术
随着技术进步与实际需求增加,在存储集成电路设计领域中,存储器阵列的规模正越来越大。通常存储器阵列物理布局为矩型,读出装置的版图面积占整个存储器相当多一部分芯片面积,因此,为了简化读出电路,逻辑意义上几个不同列的存储单元通常会组合成为一个逻辑列而共用一根字线或者一个地址。传统的存储器读写方式为每一个存储单元在每个时钟周期写入或读出一组数据。以512X32位单端口的静态随机存储器(SRAM)阵列为例,在物理层次SRAM阵列内部通常设计为128行,每行4X32个SRAM单元,逻辑意义上的4列单元共用一组字线,共用一组读出装置。
写入时,地址总线输入的行地址经地址译码装置译码后打开该行的字线,数据口输入的数据被写入由输入列地址决定的四列中的某列,其余三列保持原值。字线虽然打开,但只对其中四列中一列的单元进行操作。读出时,先对位线进行预充,在预充同时,地址译码装置对输入的行地址译码,译码完成后打开待读出行的字线,使这一行中存储单元的内容送至位线并停止预充,然后读出装置选择由输入列地址决定的该行中四列中的某列存储单元,对其位线值进行采样并由读出装置将采样值放大输出,完成一次读操作。
通常情况下,只有一套译码装置的SRAM存储器在一个时钟周期内只能完成一次读或者写操作。对于多端口SRAM存储器来说,一个时钟周期内可完成复数个读写操作,但以增加SRAM单元字线和位线数目、SRAM单元版图面积、控制复杂度、设计和制造成本为代价。双口(Dual Port)阵列面积是普通单口(Single Port)阵列面积的两倍。
其他使用字线与位线进行寻址的存储器的读写过程均与SRAM相似。本发明提出的方法和系统结构用于解决以上提出的一个或者几个问题以及其它问题。
发明内容
本发明采用以下技术方案实现:
本发明提出了一种存储器装置。所述存储器装置包括一个第一存储阵列(Memory Array)、一个第一读出端口、一个第二读出端口、和一个控制输入端口。第一存储阵列由复数个存储单元构成的阵列所组成。第一读出端口用于在单时钟读出内读出单个存储单元(Memory Cell)中的第一数据;第二读出端口用于通过共同的字线控制,读出一组存储单元中的第二数据。此外,控制输入接收表明存储器装置工作模式的模式信号,所述模式信号包括一个第一读出模式和一个第二读出模式。当模式信号表明是第一读出模式时,使用第一读出端口读出第一数据;当模式信号表明是第二模式时,使用第一读出端口读出第一数据,并使用第二读出端口读出第二数据。
本发明还提出了一种存储器装置。所述存储器装置阵列包括一个存储阵列、一个第一写入端口、一个第二写入端口、和一个控制输入端口。存储阵列由复数个存储单元构成的阵列所组成。第一写入端口用于在单个写入周期内将第一数据写入单个存储单元中,第二写入端口用于在单个写入周期内通过共同的字线控制,将第二数据写入一组存储单元中。此外,控制输入端口用于接收表明存储装置工作模式的模式信号,其中工作模式包括一个第一写入模式和一个第二写入模式。当模式信号表示为第一写入模式时,使用第一写入端口写入第一数据;当模式信号表示为第二写入模式时,使用第二写入端口写入第二数据。
本发明还提出了一种用存储阵列构成的存储器装置实现伪双端口存储操作的方法。所述存储阵列由复数个存储单元构成的阵列所组成。该方法包括在一个单个时钟周期内产生对应第一操作的第一地址和对应第二操作的第二地址,以及产生控制第一组存储单元基于第一地址进行第一操作的第一使能信号。所述方法还包括锁存第一操作的结果,产生一个将第一操作转换到第二操作的控制信号,并提供控制第二组存储单元基于第二地址进行第二操作的第二使能信号。
本发明还提出了一种静态随机访问存储器(SRAM)装置。所述SRAM装置包括一个存储阵列、一个地址译码器、一个读/写控制模块、一个写模块,和一个读模块。存储阵列受字线和位线控制,存储阵列由第一数目行和第二数目列的存储单元组成,每一行由字线控制,每一列与位线和与其互补的位线连接,每第三数目个相邻的列组成一组逻辑列,每一个逻辑列对应一位数据,且一行中每第三数目个相邻的列的存储单元组成一个存储单元组。地址译码器用于接收一个地址总线信号,产生字线信号和列选择信号。此外,读/写控制模块用于接收控制信号以产生一个写模式控制信号、一个写使能信号和一个读使能信号。写模块用于接收所述写模式控制信号、所述写使能信号、所述列地址信号、一个第一写入信号和一个第二写入信号,并驱动位线及其互补的位线,写模块可在每一个被写入的逻辑列中第三数目个数的位线及其互补位线中选择一个或者多个。读模块用于接收所述读使能信号、所述列地址、所述位线及其互补的位线,并产生一个第一读出信号和一个第二读出信号,读模块可在每一个逻辑列中第三数目个数的位线及其互补的位线中进行选择。
根据本发明所述权利要求、技术方案、附图及说明,对于本技术领域的普通技术人员而言,应能推导出的其它实施方案也属于本发明的保护之列。
有益效果
本发明提出的装置和方法通过在存储器外部额外增加的输入输出端口及提高位线的利用率,能显著增强存储阵列的读/写带宽。本发明提出的装置和方法还在芯片面积与传统单端口存储器类似的情况下实现了性能与传统双端口存储器类似。对于本领域技术人员而言,本发明的其他有益效果也是显而易见的。
附图说明
图1为本发明所述存储阵列输入输出接口框图的实施例。
图1(a)为本发明所述存储阵列输入输出接口框图的实施例。
图1(b)为本发明所述宽带存储阵列的实施例。
图2为现有技术提供的SRAM阵列中一位数据读写操作的结构框图。
图3(a)为本发明所述SRAM阵列实现一位数据写入操作的实施例。
图3(b)为本发明所述写模块真值表的实施例。
图4(a)为本发明所述SRAM阵列在宽带读模式下进行并行读操作的实施例。
图4(b)为本发明所述SRAM阵列在正常带宽模式下实现顺序读操作的实施例。
图5为现有技术的SRAM阵列在一个读周期中SRAM控制信号和输出信号的时序图。
图6(a)为本发明所述使用两套地址译码装置通过在一个读时钟周期内增加一个顺序写操作写操作以提高写入带宽的时序图实施例。
图6(b)为本发明所述接收两个地址并包含两个译码装置用以在一个时钟周期内顺序地选择两个地址中的一个的地址译码器实施例。
图6(c)为本发明所述使用一套地址译码装置通过在一个读时钟周期内增加一个写操作以提高写入带宽的时序图实施例。
图6(d)为本发明所述使用一套包含一个译码器的地址译码装置在一个时钟周期内按顺序对写入地址和读出地址进行译码的实施例。
图7为本发明所述用一个读出模块驱动两个存储器阵列的实施例。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进一步详细说明。应当理解,此处所述的具体实施例仅仅用以解释本发明,并不用于限定本发明。对于本领域技术人员来说,可以根据本发明的技术方案和构思进行各种可能的替换、调整和改进,而所有这些替换、调整和改进都应属于本发明所附权利要求的保护范围。
本发明的技术思路是通过增加写入和读出口或改变读写时序的方法,来提高存储器的写入和读出带宽。
请参阅图1和图1(a),该图为包含额外输入输出端口以增加存储器读操作和写操作带宽的一个存储阵列(102)的输入输出接口结构框图。如图1和图1(a)所示,地址总线(101)提供给存储器(102)用于读或写的行地址和列地址,且控制线(103)用于控制操作(读或写)及工作模式(正常模式或宽带模式)。正常带宽数据写入口(104)用于输入数据供正常带宽写入模式下的数据写入,宽带数据写入口(105)用于输入多组数据供宽带写模式下并行写入。类似地,通过正常带宽数据读出口(106)在正常带宽读出模式下读出存储阵列(102)中的数据,通过宽带数据读出口(107)或第二数据读出口在宽带读出模式下读出存储阵列(102)中的数据。
请参阅图1(b),该图为增加存储阵列读写带宽的具体结构框图。除了在图1(a)中所包含的输入、输出端口外,存储阵列(102)还包含一个地址译码器(111),一个读/写控制模块(112)、一个写模块(114)、存储单元(113)、一个读模块(115)和一个读寄存模块(116)。地址译码器(111)接收来自地址总线(101)的地址,驱动字线并传送列地址到写模块(114)、读模块(115)和读寄存模块(116)。读写控制模块(112)包括一个可选的顺序控制模块、一个写控制模块和一个读控制模块(图中未画出)。读/写控制模块(112)接收控制线(103)的控制信号,产生一个读使能信号、一个写使能信号和写模式信号。写模块(114)接收写使能信号、写模式控制信号和列地址,并将从正常带宽数据写入口(104)或者宽带数据写入口(105)送来的数据发送到被选中的一个或者多个存储单元。读模块(115)接收读使能信号和列地址并将被选中的一个或者多个存储单元中的数据发送到正常带宽数据读出口(106)或者读寄存模块(116)。读寄存器模块(116)暂时存放所述数据并传送所述数据到宽带数据读出口(107)或者第二数据读出口。
为了增加写带宽,存储阵列可以根据前述的两种写模式被写入,所述两种写模式即正常带宽写模式和宽带写模式。在正常带宽写模式中,来自正常带宽数据写入口(104)的数据被写入一个根据行地址和列地址选中的SRAM单元中。同一个存储单元组中的另三个未被选中的SRAM单元的位线都是高阻抗,它们的内部数据不会被更改。但是在宽带写模式下,写模块(114)允许同一个存储单元组中的四个SRAM单元中的数据可以同时被更新。虽然SRAM被用于说明本发明中的不同实施例,但是其它类型的存储器件同样适用于本发明的技术方案的原则。
为了增加读带宽,存储阵列可以根据前述的两种读出模式被读出,所述两种读出模式即正常带宽读出模式和宽带读出模式。读模块(115)包括低速读(采样)模块和一个高速读(采样)模块(图中未画出)。高速读模块占用的芯片面积比低速读模块占用的芯片面积大很多。每个独立的SRAM单元的位线都其对应的连接到低速读模块,从而以相对较低的速度从多个SRAM单元中并行读出数据,且同一存储单元组中的四个SRAM单元共用一个高速读模块,从而以更快的速度从所述SRAM单元中的一个SRAM单元中读出数据。在正常带宽读出模式下,高速读模块首先采样并放大来自列地址所确定的一个SRAM单元中的数据。所述数据被送到正常带宽数据读出口(106)。在宽带读出模式下,首先,高速读模块将选中的SRAM单元中的数据送到正常带宽读出端口(106)。然后,三个未被选中的SRAM单元中的数据通过各自的低速读模块并行输出到宽带数据读出口(107)。或者,未被选中的SRAM单元中的数据被保存在读寄存模块(116)中,以便当其他行在正常带宽读出模式下被读出并由正常带宽读出端口(106)输出时,按顺序通过第二数据读端口(107)输出。因此,通过使用两个读出口,用一个单端口存储阵列中实现了伪双读端口,从而增加了读带宽。
请参阅图2,该图为现有技术提供的SRAM阵列中一位数据读/写操作的系统结构图。在四个不同列上的SRAM单元(203,204,205,206)共同受字线WL0(207)控制,在四个不同列上的SRAM单元(222,223,224,225)共同受另一字线WL1(217)控制。
在一个写入周期内,一个写使能信号WE(226)有效,且数据被写入由列地址(228)选出的SRAM单元中。当列地址为“00”时,选择SRAM单元(203或222);当列地址为“01”时,选择SRAM单元(204或223);当列地址为“10”时,选择SRAM单元(205或224);当列地址为“11”时,选择SRAM单元(206或225)。具体地,数据由正常带宽写入口(104)送到写模块(208,209,210,211),并进一步被送到由列地址(228)选择的位线BL及(也就是BL的反信号)上,此时,未被选择的其余三组位线BL及保持高阻抗。例如,当列地址为“01”时,数据被送到连接SRAM单元(223,204)的位线(219),其余位线(218,220,221)保持高阻抗。当WL0(207)有效时,数据被写入SRAM单元(204)中,且其余SRAM单元保持原值。
在一个读出周期内,如果字线WL1(217)或WL0(207)中的一个有效,译码器(212、213)接收列地址(228)并在相应行中选择四个SRAM单元中的一个。所述被选择的SRAM单元中的数据被高速读出装置(214)读出,并输出到正常带宽读出口(106)上。
请参阅图3(a),该图为本发明所述SRAM阵列实现一位输入数据写入操作的系统结构图。尽管图3(a)和/或本说明中的其它图使用了相同的数字或标号来指明现有装置中的一个装置或部件,但应当理解本发明实施例中描述的这些装置或部件是为了方便说明,并不意味着这些装置或部件在本发明所述装置中是必须的。对于图3(a)所示,在四个不同列上的SRAM单元(203,204,205,206)共同受字线WL0(207)控制,在四个不同列上的SRAM单元(222,223,224,225)共同受字线WL1(217)控制。数据写入由列地址(228)所选中的存储单元中。列地址值为“00”、“01”、“10”、“11”时分别选择SRAM单元(203或222)、SRAM单元(204或223)、SRAM单元(205或224)、SRAM单元(206或225)。读/写控制模块(112)中的写控制逻辑产生一个写使能信号WE(226)和一个写模式控制信号(313)。进行写入操作时,写使能信号WE(226)首先有效,根据写模式控制信号(313)选择正常带宽写模式或是宽带写模式作为写模式。写模块(114)包括写模块(308,309,310,311)。
在正常带宽写模式下,在每个写入周期内,一位数据通过正常带宽数据写入口(104)被输入到写模块(308、309、310、311)中的一个之中。数据被进一步送到根据列地址(228)选择的位线BL及,此时位被选择的其余三组位线的BL及保持高阻抗。例如,字线WL0(207)有效且列地址为“01”时,数据被送到连接存储单元(223、204)的位线(319),其余位线(318,320,321)保持高阻抗。当WL0(207)有效时,数据被写入SRAM单元(204)中,其余SRAM单元中的数据保持原值。
在宽带写模式下,四位数据通过宽带数据写入口(105)被相应送到写模块(308,309,310,311)中。列地址(228)在此模式中不起作用。四位数据通过输入线A(329)、输入线B(330)、输入线C(331)和输入线D(332)被分别送到位线(318,319,320,321)上。例如,字线WL0(207)有效时,数据被并行地写入SRAM单元(203,204,205,206)中,且SRAM单元(222,223,224,225)中的数据保持原值。
请参阅图3(b),该图为图3(a)实施例对应的真值表。以行(352)所示为例,写使能WE(226)无效(如,WE为“0”)时,则写模块(308,309,310,311)的输出均为高阻。再以行(354)为例,WE(226)和写模式控制信号(313)均有效,则处于宽带写模式(如:写模式信号为“1”)。输入数据和其互补的数据A(328)和A_N(343)、B(329)和A_N(344)、C(330)和C_N(345)及D(331)和D_N(346)被并行地送到分别连接写模块(308,309,310,311)的位线(318、319、320、321)上。再以行(356、358、360、362)为例,WE(226)有效,且写模式控制信号(313)无效,则处于正常带宽写模式。如行(362)所示,当列地址(228)为“11”时,从正常带宽写入口(104)输入BIT_IN。BIT_IN(341)和其互补信号BIT_IN_N(342)被送到连接SRAM单元(225、206)的位线BL和上。类似地,如行(356、358、360)所示,列地址(228)分别为“00”、“01”和“10”,从正常带宽写入口(104)输入BIT_IN,且BIT_IN和BIT_IN_N被送到分别连接SRAM单元(222和203、223和204、224和205)的位线BL和上。其余未被寻址到的位线保持高阻抗。
请参阅图4(a),该图为本发明对SRAM阵列一位数据并行宽带读的一种示意图。在四个不同列上的SRAM单元(203,204,205,206)由同一个字线WL0(207)控制,在四个不同列上的SRAM单元(222,223,224,225)由字线WL1(217)控制。所有的四列都共用一个高速读出模块(214),每一列都各有自己的低速读出模块(411,412,413,414)。高速读出模块(214)比低速读出模块(411,412,413,414)读出速度快很多,但是高速读出模块(214)占用的芯片面积比低速读出模块(411,412,413,414)大。读出模块(图1B中的115)可以包括高速读出模块(214)和低速读出模块(411,412,413,414)。
本发明可以在两个时钟周期内完成对一行所有存储单元的读出操作。本例中高速读出模块(214)能在第一个时钟周期内采样读出位线上的数据而低速读出模块(411,412,413,414)则需要长于一个时钟周期的时间,也许能在第二个时钟周期内完成。假设第一个时钟周期读出存储器单元(203)的值到正常带宽读出端口(439,即图1中的106),第二个时钟周期读出存储器单元(203,204,205,206)的值到宽带读出端口(407,即图1中的107)。
在第一个时钟周期内字线WL0(207)打开,四选一选择器(212,213)通过列地址(228)选择将存储器单元(203)的数据直接送到高速读出装置(214),采样放大后的结果输出到总线(439)中。存储器单元(203,204,205,206)中的数据被低速读出模块(414,412,411,413)采样并且放大。
在第二时钟周期内字线WL0(207)依然打开,如果在第一个时钟周期低速读出模块(411,412,413,414)没有完成采样和放大过程,SRAM单元(203,204,205,206)中的数据则被继续放大。在第二个时钟周期的末尾,低速读出模块的输出信号(415,418,419,420)被并行地输送到宽带读出端口(407)。信号(415)也可以由读出模块(414)提供给宽带读出端口(407),但这个信号可以被忽略,因为在第一个时钟周期内存储器单元(203)中的信号已经被读出。另外,相似地,SRAM单元(203,204,205,206)中的任意一个数据能在第一个时钟周期内通过高速读出模块(214)读出,而剩余存储单元中的数据可以在第二时钟周期内读出。
此外,宽带数据读出口(407)在读控制模块控制下可选择性地输出信号(415,418,419,420)中的一个,宽带读出端口(407)也可以提供所有的输出信号(415,418,419,420),由一个外部的多路选择器选择信号(415,418,419,420)中的一个,也可以使用其它的结构
请参阅图4(b),该图为本发明对SRAM阵列一位数据依次宽带读的一种示意图。在四个不同列上的SRAM单元(203,204,205,206)由同一个字线WL0(207)控制,在四个不同列上的SRAM单元(222,223,224,225)由字线WL1(217)控制。所有的四列都共用一个高速读出模块(214),每一列都各有自己的低速读出模块(411,412,413,414)。高速读出模块(214)能在第一个时钟周期内采样读出位线上的数据而低速读出模块(411,412,413,414)则需要长于一个时钟周期的时间,也许能在第二个时钟周期内完成。低速读出模块(411,412,413,414)产生的信号存在寄存器(421,422,423,424)中。
在第一个时钟周期内先对所有BL及进行预充,然后WL0(207)打开,四选一选择器(212,213)通过列地址(228)选择将存储器单元(203)的值送到高速读出装置(214),高速读出装置(214)的输出送到正常带宽数据读出口(439,即图1中的106)上,完成对存储器单元(203)的读出操作。尽管存储器单元(203)中的数据已经读出,SRAM单元(203,204,205,206)中的数据同样被低速读出模块(414,412,411,413)采样并放大。
在第二个时钟周期内字线WL0(207)仍然打开,如果在第一时钟周期内,采样过程没有完成,那么SRAM单元(203,204,205,206)中的数据依然通过低速读出模块(414,412,411,413)采样并放大。低速读出模块(414,412,411,413)中读出的数据分别被寄存在寄存器(421,422,423,424)中。读写控制装置中的读出控制模块(416)产生的信号控制四选一选择器(409)选择存储在寄存器(422)中的数据即存储单元(204)中的数据,将其输送到第二数据读出口(440,即图1中的宽带数据读出口(107))中。从而,存储单元(204)中的数据在第二个时钟周期内通过由读控制模块(416)产生的信号所控制的四选一选择器(409),从第二数据读出口(440)即宽带数据读出口(图1中的107)中读出。
在第三个时钟周期或接下去的时钟周期内字线WL0(207)关闭,读出控制模块(416)控制四选一选择器(409)直接将存储器(423)中存储的数据输出到第二数据读出口(440)上。从而,存储单元(205)中的数据在第三个时钟周期内从第二数据读出口(440,即图1中宽带数据读出口(107))中读出。与此同时,另一根字线WL1(217)打开,来自其它行的存储单元比如存储单元(223)中的第二数据通过高速读出模块(214)将数据送到正常带宽数据读出口(439,即图1中的106)。从而,在这个时钟周期的末尾,对应于两个不同地址(223和225单元)的数据出现在两个不同的端口上。
在第四个时钟周期内,读出控制模块(416)控制四选一选择器(409)选择将存储器(424)中存储的存储单元(206)中的数据输出到第二数据读出口(440)上。因此,在第四个时钟周期的末尾,存储器单元(203,204,205,206)中的数据在四个连续的时钟周期内依次从正常带宽数据读出口(439,即图1中的106)和第二数据读出口(440,即图1中的107)输出。
更具体地说,为了充分利用读带宽,WL0(207)在第三个时钟周期内可以被关闭,先对BL及进行预充电,然后另一根字线WL1(217)打开。四选一选择器(212,213)通过列地址(228)选择将存储器单元(223)的值送到高速读出模块(214),高速读出模块(214)的输出送到正常带宽数据读出口(439,即图1中的106)上。同样,在第三个时钟周期内,寄存在寄存器中的SRAM单元(203,204,205,206)的数据在控制模块(416)的控制下从总线(440,即图1中的宽带数据读出口107)中读出。同时SRAM单元(222,223,224,225)中的数据被低速读出模块(414,411,412,413)分别采样并放大。
在第四个时钟周期内,字线WL1(217)依然打开。SRAM单元(222,223,224,225)中的数据同样被低速读出模块(414,411,412,413)采样并读出。如果读出控制模块(416)没有对寄存器(414,411,412,413)更新,那么在第四个时钟周期和接下去的一个或者几个时钟周期内,存储单元(203,204,205,206)中的数据通过由读出控制模块(416)产生的控制信号所控制的多路选择器(409),出现在总线(440,即图1中的107)上。反之,如果读出控制模块(416)更新了寄存器(422,423,424,425)中寄存的存储单元(222,223,,224,225)中的数据,则存储单元222,223,,24,225)中的数据通过由读出控制模块(416)产生的控制信号所控制的多路选择器(409),出现在总线(440,即图1中的107)上。综上所述,数据以流水线方式出现在宽带数据读出口(107)和正常带宽数据读出口(106)上。
根据本发明所述技术方案,除了使用更多的输入/输出端口外,也可以用顺序读/写控制模块来增加带宽。这个模块允许在一个周期内先进行读操作接着进行写操作,因此就构成了一个伪双读/写端口。首先对所有字线进行均衡预充,同时地址译码装置对输入行地址信号进行译码,译码完成后位线停止预充,待读出存储器行字线打开,读出装置在读出采样时刻将位线上的数据采入,并立即关闭与位线的联系。当读模块继续放大采入的数据时,待读出存储器行字线关闭,写入控制信号变为有效。写地址也完成译码打开写字线(Write Word Line)。数据通过写模块写入选中的位线。写操作可以作用于由上述读出操作的同一字线控制的存储单元或者作用于由不同字线控制的存储单元。使用相同或者相似的控制装置,上面提及的读后写操作的之中的读操作可以被另一个写操作所代替,从而在一个时钟周期内完成两次写操作。
请参阅图5,该图为传统的SRAM阵列读周期中信号的时序图。CLK(501)为时钟信号,ADDR(502)为地址信号,信号WL(503)为SRAM单元所在行的字线,在ADDR(502)经地址译码完成后打开,并在CLK(501)的下个上升沿到达之前关闭。在本例中假设待读出值假设为‘1’,BL(504)及BL_N(505)在该周的开始阶段进行预充,待ADDR(502)地址译码完成WL(503)打开后停止预充,之后BL(504)维持高电平,BL_N(505)被存储单元内部值缓慢拉低。(在本发明中BL_N和可以交换使用)读出装置在读出采样时刻(506)将BL(504)及BL_N(505)的值采入并关闭与BL(504)及BL_N(505)的联系,然后采入的数据被放大为读输出SA(507)和SA_N(508)。值‘1’由SA(507)、SA_N(508)正确输出。
请参阅图6(a),该图为本发明使用两套译码装置时利用在对SRAM阵列读周期增加写操作以提高写入带宽的时序图,即在一个时钟周期内可以进行读操作和写操作。CLK(501)为时钟信号,ADDR_R(601)为读操作的第一地址信号,ADDR_W(602)为写操作的第二地址信号,WE_DELAY(603)为写入控制信号,经一段时间延迟后有效。WL_R(604)为待读出SRAM单元所在行的字线,在ADDR_R(601)经地址译码完成后打开,并在WE_DELAY(603)有效之前关闭。WL_W(605)为待写入SRAM单元所在行的字线,在ADDR_W(602)经地址译码完成并且WE_DELAY(603)有效之后打开,在CLK(501)的下个上升沿到达之前关闭。
在本例中待读出值假设为1,待写入值假设为0,BL(606)及BL_N(607)在该周的开始阶段进行预充,待ADDR_R(601)地址译码完成及WL_R(604)打开后停止预充。当WL_R(604)打开后,BL_N(607)的值通过被WL_R(604)控制的存储单元缓慢拉低,读模块(214)在读出采样时刻(506)将BL(606)及BL_N(607)的值采入,采入的数据其后被放大读出为1,从SA(608)、SA_N(609)中输出。同样在在读出采样时刻(506),BL(606)及BL_N(607)与读出模块(214)的连接被断开。然后数据0和1就分别被写上了BL(606)和BL_N(607)。BL(606)被迅速拉低,BL_N(607)被迅速拉高。WE_DELAY(603)开始有效,使得由ADDR_W(602)通过写地址译码器译码选定的WL_W(605)打开。由此,待写入值0被写入由写字线WL_W(605)控制,也连接到位线BL(606)和BL_N(607)的存储器单元。如此,存储阵列可以在同一时钟周期内先读出数据然后写入数据。同样的,读操作可以用写操作来替换,即在一个周期内实现两次写操作,从而构成伪双写端口。本发明中写驱动器(Write Driver)既能将位线拉低也能拉高,所以写之前位线不需要预充电。
请参阅图6(b),该图为使用两套译码装置对写入地址和读出地址进行译码以实现一个时钟周期内先读后写的一种抽象实现图。ADDR_R(601)经译码装置(610)译码后产生读字线信号(611),ADDR_W(602)经译码装置(615)译码后产生写字线信号(612)。在WE_DELAY(603)有效之前读选择字线信号(611)作为目标字线信号(613)控制整个存储器的某行读出。在WE_DELAY(603)有效之后写选择字线信号(612)作为目标字线信号(613)控制整个存储器的某行写入。读写可以分别对不同行的存储单元进行操作。
请参阅图6(c),该图为本发明使用同一套译码装置利用在对SRAM阵列读周期增加写操作以提高写入带宽的时序图。读操作和写操作与图6(a)一致,CLK(501)为时钟信号,ADDR_R(601)为写入地址信号,ADDR(632)为地址信号,WE_DELAY(603)为写入控制信号,经一段时间延迟后被拉高。ADDR(632)首先送入读出地址,WL_R(604)为待读出SRAM单元所在行的字线,在读出地址经地址译码完成后打开,并在WE_DELAY(603)拉高之前关闭。ADDR(632)随后送入写入地址,WL_W(605)为待写入SRAM单元所在行的字线,在写入地址经地址译码完成并且WE_DELAY(603)拉高之后打开。读操作和写操作可以对同一个SRAM单元进行也可以对两个不同的SRAM单元进行(读地址和写地址两者可以完全不同)。
与图6(a)所示操作相似,在本例中读操作和写操作都对一个存储单元完成。读出装置在写操作更新数据前的采样时刻(506)将BL(606)及BL_N(607)的值采入并放大为SA(608)、SA_N(609)。结果,原来存在SRAM单元中的数据正确从SA中输出,待写数据则被正确写入该SRAM单元中。存储阵列可以先读数据然后再写数据。同样地,读操作可以被替换成写操作,这样就可以完成连续的两次写操作。
请参阅图6(d),该图为使用一套译码装置对写入地址和读出地址进行译码以实现一个时钟周期内先读后写的示意图。读出地址和写入地址均通过ADDR(616)线输入,经译码装置(610)译码后通过传输门(620,621,622,623等),每个传输门的输出端都连接一个接地的NMOS管。在一个时钟周期开始阶段,位线进行预充同时,所有传输门(620,621,622,623等)均关闭,NMOS管(624,625,626,627等)导通,所有字线均被置为低电平(关闭)。ADDR(616)线输入读出地址,译码装置(610)将读出地址译码完成后使能信号(618)有效,传输门(620,621,622,623等)传递译码结果,产生最终字线信号(613)。在WE_DELAY(603)的上升沿,传输门(620,621,622,623等)关闭,NMOS管(624,625,626,627等)重新导通让上次用于读操作的字线放电(关闭)。然后,传输门(620,621,622,623等)再次由使能信号(618)开启,这次传递由写入地址ADDR(632)经译码装置(610)产生的写字线选择信号,开启WL(613)中的一条字线来选择一行存储单元用于写操作。读写可以是对不同行存储单元操作。
复数个SRAM存储阵列可以共用一个类似图1(b)中的读出模块(115)来节省面积。请参阅图7,该图为本发明对存储器中有两个存储器阵列时的一种读写操作示意图。两块存储器阵列(705,706)有相同的列地址,它们作为读出装置(702)内部二选一选择器的两个输入,读出装置(702)通过该二选一选择器可将存储器阵列(705或706)的内部值放大读出。一个时钟周期内,一块存储器阵列(705或706)进行写操作同时另一块(706或705)可进行写操作或读操作。在本例中,两块同时写入时,存储器阵列(705)中写入行的字线(703)被打开,数据通过写入口(708)被写入由字线(703)所控制的存储单元中,同时另一存储器阵列(706)中写入行的字线(711)被打开,数据通过写入口(709)被写入由字线(711)所控制的存储单元中。在另一个实施例中,在存储器阵列(705)做读出且存储器阵列(706)在做写入时,存储器阵列(705)中读出行的字线(703)被打开,由字线(703)所控制的存储单元中数据通过读出装置(702)被送到读出口(704)上,同时存储器阵列(706)中写入行的字线(711)被打开,由字线(711)所控制的数据通过写入口(709)被写入存储单元中。
本发明提出的方法和结构通过使用额外的输入输出端口和/或调整读操作和写操作的时序来显著增加存储阵列的读写带宽。前面提供了对较佳实施例的描述,以使本领域内的任何技术人员可使用或利用本发明。对该较佳实施例,本领域内的技术人员在不脱离本发明原理的基础上,可以作出各种修改或者变换。应当理解,这些修改或者变换都不脱离本发明的保护范围。
Claims (22)
1.一种存储器装置,其特征在于由复数个存储阵列(Memory Array)、第一读出端口、第二读出端口、控制端口所组成;
第一读出端口用于在单周期内读出单个存储单元(Memory Cell)的第一数据;
第二读出端口用于读出一组由共同的字线控制的存储单元中的第二数据;
控制端接收模式信号用于判别使用第一读出模式还是第二读出模式,其特征在于:
当模式信号表明是第一读出模式时使用第一读出端口读出第一数据;
当模式信号表明是第二模式时,使用第一读出端口读出第一数据,使用第二读出端口读出第二数据。
2.根据权利要求1所述存储器装置,其特征在于写入端口用于在单个写入周期内将数据写入一组由共同的字线控制的存储单元中。
3.根据权利要求1所述存储器装置,其特征在于当状态信号为第二读出模式时,第一数据在第一读出周期内从第一读出端口中读出,数据在第二读周期中从第二读出端口读出。
4.根据权利要求1所述存储器装置,其特征在于当状态信号为第二读出模式时,第一数据在第一读出周期内从第一读出端口中读出,第二数据在其后连续的读周期中从第二读出端口顺序读出。
5.根据权利要求3所述存储器装置,其特征在于包含连接至第一读出端口和第二读出端口的读模块,读模块由第一和第二读出模块构成;连接存储单元的第一读出模块用于在第一读出周期内读出存储单元中的单个数据,连接存储单元的第二读出模块用于并行的读出存储单元中的数据。
6.根据权利要求5所述存储器装置,其特征在于第一存储阵列和第二存储阵列共用一个读出模块,可以明显减小面积。
7.根据权利要求1所述存储器装置,其特征在于第一读出端口比第二读出端口有更快的读出速度。
8.一种存储装置包括:
一种存储阵列由复数个存储单元构成的阵列所组成;
第一写入端口用于在单个写入单周期内将第一数据写入单个存储单元中;和
第二写入端口用于在单个写入周期内将第二数据写入一组由共同的字线控制的存储单元中;
控制输入端口用于接收表明存储装置工作状态的模式信号,其中工作状态包括第一写入模式和第二写入模式,当模式信号表示为第一写入模式时,使用第一写入端口写入第一数据,当模式信号表示为第二写入模式时,使用第二写入端口写入第二数据。
9.根据权利要求8所述存储器装置,其特征在于读出端口用于在单个读出周期内从单个存储单元中读出数据。
10.根据权利要求8所述存储器装置,其特征在于读出端口用于在单个读出周期内读出一组由共同的字线控制的存储单元中的数据。
11.一种存储器装置实现伪双端口存储操作的方法,所述存储阵列包含复数个存储单元,这些存储单元被放置在一个存储阵列中;其特征在于所述方法包括:
在一个单时钟周期内提供对应第一操作的第一地址和对应第二操作的第二地址;
提供控制第一组存储单元进行基于第一地址的第一操作的第一使能信号;
锁存第一操作的结果;
提供将第一操作状态转换到第二操作状态的控制信号;和
提供控制第二组存储单元进行基于第二地址的第二操作的第二使能信号。
12.根据权利要求11所述方法,其特征在于第一操作是读操作,第二操作是写操作。
13.根据权利要求11所述方法,其特征在于第一操作是写操作,第二操作是写操作。
14.根据权利要求11所述方法,其特征在于第一地址和第二地址分别提供给存储器装置的两个不同的地址端口。
15.根据权利要求11所述方法,其特征在于第一地址和第二地址可通过一个由控制信号所控制的多路选择器而产生一个地址输入给一个地址端口。
16.根据权利要求11所述方法,其特征在于第一使能信号和第二使能信号可以通过一个由控制信号所控制的多路选择器而产生一个单一的使能信号。
17.一种存储器装置,其特征在于包括:
存储阵列、地址译码器、读/写控制模块、写模块和读模块;存储阵列接收字线和位线,存储阵列由第一数目行和第二数目列的存储单元组成,每一行由字线控制,每一列由位线和与其互补的位线控制;
每第三数目个相邻的列组成一个逻辑列,每一个逻辑列中的数据对应一位数据,一行中每第三数目个相邻的列的存储单元组成一个存储单元组;
地址译码器用于接收地址总线信号,产生字线信号和列选择信号;
读/写控制模块用于接收控制信号并产生写模式控制信号、写使能信号和读使能信号;
写模块用于接收写模式控制信号、写使能信号、列地址信号、第一写入信号和第二写入信号,并驱动位线及其互补的位线,写模块可在每一个逻辑列中选择第三数目个数中的一个或者多个位线及其互补位线用于写操作;和
读模块用于接收读使能信号、列地址、位线及其互补的位线,产生第一读出输出和第二读出输出,读模块可在每一个逻辑列中选择第三数目个数的位线及其互补的位线。
18.根据权利要求17所述装置,其特征在于在宽带写模式下,存储器装置还包括由写状态信号控制下的宽带写模块按宽带写输入口输入的数据来更新宽带写输入的一个逻辑列中的第三数目个数的位线,其中字线和逻辑列由地址译码器控制。
19.根据权利要求17所述装置,其特征在于读模块还包括:
高速读模块用于产生第一读出数据。
20.根据权利要求19所述装置,其特征在于宽带读模块还包括复数个用于产生第二读出数据的低速读出模块,每一列存储单元都有一个相应的低速读出模块。
21.根据权利要求20所述装置,其特征在于在宽带读模式下,被选中的存储单元组中的一个存储单元的数据通过高速读出模块从第一读出端口中读出,选中的存储单元组中的所有存储单元的数据随后由低速读出模块通过第二读出端口并行地输出。
22.根据权利要求20所述装置,其特征在于在顺序读出模式下,被选中的存储单元组中的一个存储单元的数据通过高速读出模块从第一读端口中读出,被选中的存储单元组中的所有存储单元的数据随后由低速读出模块读出,寄存在读寄存模块中供第二读出端口依次读出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106227561A CN102541462A (zh) | 2010-12-28 | 2010-12-28 | 宽带读写存储器装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106227561A CN102541462A (zh) | 2010-12-28 | 2010-12-28 | 宽带读写存储器装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102541462A true CN102541462A (zh) | 2012-07-04 |
Family
ID=46348449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106227561A Pending CN102541462A (zh) | 2010-12-28 | 2010-12-28 | 宽带读写存储器装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541462A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242768A (zh) * | 2015-10-09 | 2016-01-13 | 天津国芯科技有限公司 | 可分时钟控制的低功耗高速ahb总线访问多块sram的桥装置 |
CN111338994A (zh) * | 2018-12-18 | 2020-06-26 | 爱思开海力士有限公司 | 智能车辆系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1346132A (zh) * | 2000-09-29 | 2002-04-24 | 株式会社东芝 | 非易失性半导体存储装置和非易失性半导体存储系统 |
CN101377952A (zh) * | 2007-08-30 | 2009-03-04 | 比亚迪股份有限公司 | 一种sram中数据的读写方法及装置 |
CN101393767A (zh) * | 2007-09-21 | 2009-03-25 | 科统科技股份有限公司 | 带检测放大器的存储装置 |
CN101887748A (zh) * | 2009-05-13 | 2010-11-17 | 苏州全芯科技有限公司 | 一种带影子非挥发存储器的cam/tcam |
CN102110464A (zh) * | 2009-12-26 | 2011-06-29 | 上海芯豪微电子有限公司 | 宽带读写存储器装置 |
-
2010
- 2010-12-28 CN CN2010106227561A patent/CN102541462A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1346132A (zh) * | 2000-09-29 | 2002-04-24 | 株式会社东芝 | 非易失性半导体存储装置和非易失性半导体存储系统 |
CN101377952A (zh) * | 2007-08-30 | 2009-03-04 | 比亚迪股份有限公司 | 一种sram中数据的读写方法及装置 |
CN101393767A (zh) * | 2007-09-21 | 2009-03-25 | 科统科技股份有限公司 | 带检测放大器的存储装置 |
CN101887748A (zh) * | 2009-05-13 | 2010-11-17 | 苏州全芯科技有限公司 | 一种带影子非挥发存储器的cam/tcam |
CN102110464A (zh) * | 2009-12-26 | 2011-06-29 | 上海芯豪微电子有限公司 | 宽带读写存储器装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242768A (zh) * | 2015-10-09 | 2016-01-13 | 天津国芯科技有限公司 | 可分时钟控制的低功耗高速ahb总线访问多块sram的桥装置 |
CN105242768B (zh) * | 2015-10-09 | 2018-09-18 | 天津国芯科技有限公司 | 可分时钟控制的低功耗高速ahb总线访问多块sram的桥装置 |
CN111338994A (zh) * | 2018-12-18 | 2020-06-26 | 爱思开海力士有限公司 | 智能车辆系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102110464B (zh) | 宽带读写存储器装置 | |
CN102779101B (zh) | 半导体装置 | |
CN105845168A (zh) | 用于通过控制预充电持续时间降低存储器电路中的功耗的方法和装置 | |
CN103928047B (zh) | 具有单端口存储器单元的多读取端口存储器系统以及操作方法 | |
CN110047528A (zh) | 多个独立的串行链接存储器 | |
US7808825B2 (en) | Non-volatile memory device and method of programming the same | |
CN103219037B (zh) | 多端口读写的片内存储器 | |
CN106960687A (zh) | 单次可编程存储器架构中的自锁存感测时序 | |
CN101310339A (zh) | 具有多个内部数据总线和存储器库交错的存储器装置和方法 | |
CN206557758U (zh) | 一种基于fpga可扩展的nand flash存储芯片阵列控制器 | |
CN103106918A (zh) | 一种使用单端口存储单元的两端口静态随机存储器 | |
CN105304123B (zh) | 静态随机存取存储器 | |
CN108962304A (zh) | 存储装置及其操作方法 | |
CN109217876A (zh) | 串行器和包括该串行器的存储装置 | |
CN105702281B (zh) | 一种基于分级位线结构的sram半选干扰消除结构 | |
CN102541462A (zh) | 宽带读写存储器装置 | |
CN102004626A (zh) | 双口存储器 | |
CN102394102A (zh) | 一种采用虚拟地结构实现的近阈值电源电压sram单元 | |
CN111489774A (zh) | 改进型用于可编程逻辑器件的配置存储器的数据中继结构 | |
CN101149970A (zh) | 半导体存储器件 | |
CN203085184U (zh) | 一种使用单端口存储单元的两端口静态随机存储器 | |
CN102332295B (zh) | 存储器电路及应用所述存储器电路读取数据的方法 | |
US20030189867A1 (en) | Distributed FIFO in synchronous memory | |
CN101034585B (zh) | 一种无需灵敏放大器的sram体系电路 | |
CN109671460B (zh) | 用于读写操作的缓存电路和存储器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120704 |
|
RJ01 | Rejection of invention patent application after publication |