一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

列多路复用技术的制作方法

2021-04-30 12:58:00 来源:中国专利 TAG:专利申请 提交 申请 优先权 印度
列多路复用技术的制作方法

相关申请的交叉引用

本申请要求于2019年10月14日提交的标题为“columnmultiplexingtechniques”的印度专利申请第201941041456号和于2019年12月10日提交的美国专利申请us16/709,665的权益和优先权,其全部公开内容整体并入本文中。

本发明涉及列多路复用技术。



背景技术:

本部分旨在提供与理解本文描述的各种技术有关的信息。正如本部分标题所暗示,这是对相关技术的讨论,绝不应暗示该相关技术是现有技术。通常,相关技术可以被认为或可以不被认为是现有技术。因此,应该理解,应以此观点来理解本部分中的任何陈述,而不应将其视为对现有技术的认可。

存储器编译器利用配置数据来生成用于列多路复用操作的存储器电路的物理布局设计。传统的存储器编译器会检查特征数据,以开发覆盖存储器编译器空间的各种存储器实例。然而,一些传统技术通常会参考存储器实例数据引入精度错误。在一些情况下,存储器实例的各种泄漏、定时、功率和噪声数据都会被存储,并且一些传统的存储器编译器通常会分析与整个存储器电路相关的易出错的存储器实例,收集结果,然后计算最终结果。然而,传统技术昂贵,费时且效率低下,并且传统技术可能会导致精度错误,因为一些存储器实例对多个行(例如,位单元、列和/或字线驱动器)敏感。另外,在一些情况下,在一些存储体架构中,仅一个存储体中的单个字线是可访问的,其中用户执行读取操作或写入操作。因此,需要改进一些存储器电路的物理设计实现方式,以提供更高效的列多路复用操作。



技术实现要素:

根据本申请的第一方面,提供了一种方法,包括:向存储器提供一个或多个存储体;经由位线将读写列多路复用器电路耦合到所述存储器,包括将写入列多路复用器耦合到所述位线以用于写入操作,以及将读取列多路复用器耦合到所述位线以用于读取操作;以及经由所述位线利用所述写入列多路复用器和所述读取列多路复用器在所述存储器的所述一个或多个存储体中执行并发读取操作和写入操作。

根据本申请的第二方面,提供了一种设备,包括:存储器架构,具有一个或多个位单元阵列;列多路复用器电路,经由多条位线耦合到所述存储器架构,包括耦合到所述位线以用于写入访问操作的写入列多路复用器和耦合到所述位线以用于读取访问操作的读取列多路复用器;逻辑电路,经由所述位线利用所述写入列多路复用器和所述读取列多路复用器在所述存储器架构的所述一个或多个位单元阵列中执行并发或单个存储器访问操作;以及定时电路,具有一个或多个锁存器,所述锁存器被布置为在所述存储器架构的所述一个或多个位单元阵列中执行所述并发或单个存储器访问操作时避免所述位线之间的数据至位线耦合。

根据本申请的第三方面,提供了一种系统,包括:处理器;以及

存储器,其中存储有指令,当由所述处理器执行所述指令时,使所述处理器执行以下操作:访问具有一个或多个存储体的存储器;利用位线将列多路复用器电路耦合到所述存储器,包括将写入列多路复用器耦合到所述位线以用于写入操作,以及将读取列多路复用器耦合到所述位线以用于读取操作;以及经由所述位线利用所述写入列多路复用器和所述读取列多路复用器在所述存储器的所述一个或多个存储体中执行并发读写访问操作。

附图说明

本文参考附图描述了各种技术的实现方式。然而,应当理解,附图仅示出了本文描述的各种实现方式,并且并不意味着限制本文描述的各种技术的实现方式。

图1示出了根据本文描述的各种实现方式的存储器电路的图。

图2示出了根据本文描述的各种实现方式的列多路复用器电路的图。

图3a至图3c示出了根据本文描述的各种实现方式的列多路复用器电路。

图4示出了根据本文描述的各种实现方式的存储器电路的图。

图5a至图5f示出了根据本文描述的各种实现方式的存储器电路的各种图。

图6示出了根据本文描述的各种实现方式的与存储器电路相关联的波形图。

图7至图10b示出了根据本文描述的实现方式的用于执行存储器访问操作的各种方法的过程图。

图11示出了根据本文描述的实现方式的用于执行并发存储器访问操作的方法的过程图。

图12示出了根据本文描述的各种实现方式的用于在物理布局设计中提供列多路复用方案和技术的计算机系统的图。

具体实施方式

本文描述的各种实现方式涉及在各种物理存储器布局设计中改善存储器访问操作的列多路复用方案和技术。举例来说,本文描述的各种方案和技术可以提供具有支持双字线电路的唯一单端口存储器架构的系统或设备,例如用于各种物理存储器布局设计的双y-mux架构。在一些情况下,本文描述的各种方案和技术可以提供具有存储器架构的系统或设备,该存储器架构被配置为避免各种物理存储器布局设计中的数据到位线耦合。另外,在其它情况下,本文描述的各种方案和技术可以被配置为执行并发存储器访问操作,例如使用单个列或多个不同列在单个存储体或多个存储体中执行并发读取操作和写入操作。

本文将参考图1至图12详细描述列多路复用方案和技术的各种实现方式。

图1示出了根据本文描述的各种实现方式的用于列多路复用的存储器电路100的图。在各种情况下,存储器电路100可以指具有带多个字线的单端口存储器架构以及用本文所述的各种物理单元布局方案和技术制造的逻辑电路的设备。另外,可以用本文所述的列多路复用方案和技术来制造单端口存储器架构,以用于存储器架构的物理单元布局。

图1中所示的存储器电路100可以包括多个存储器核阵列104,例如四核阵列。然而,在各种其它情况下,在一些实施例中可以使用单核阵列和/或双核阵列。因此,如图1中所示,存储器实例100可以包括四个存储器实例(例如,四存储器核配置中的多个核阵列104),并且这四个存储器实例可以共享一个或多个控制单元,例如行预解码器(rowpre-dec)116和行时钟生成器(rowclkgen)122、列解码器、位线预充电(blpcg)控件112、输入锁存器、时钟生成器和读取/写入控件(clkgen&rd/wrctrl)120a和输入缓冲器120b,它们表示共享电路组件。

如图1中所示,可以用一个或多个存储器块来实现存储器电路100,其中一个或多个存储器块具有被布置为提供各种存储器相关组件的各种类别的控制单元。存储器电路100可以包括第一类别(cat-1)控制单元,其被布置为提供核阵列电路104以及位线(bl)预充电电路106。可以用具有四存储体配置的多个核阵列104的存储器电路来实现存储器电路100,其中每个存储体具有存储器单元或位单元的阵列。每个位单元可以被配置为存储至少一个数据位值(例如,与逻辑“0”或“1”相关的数据值)。另外,核阵列104包括以各种配置布置的任何数量的位单元,例如具有任何数量的行和任何数量的列的多个位单元的二维(2d)存储器阵列,其可以以2d网格图案布置以用于列多路复用和读写存储器访问操作。每个位单元可以用任何类型的存储器来实现,包括例如静态随机存取存储器(sram)、磁阻ram(mram)和/或任何其它类型的存储器。例如,每个位单元可以包括多晶体管静态ram(sram)单元,包括各种类型的sram单元,例如6tcmossram和/或任何其它类型的互补mos(cmos)sram单元,例如每位4t、8t、10t或更多的晶体管。在其它情况下,每个位单元可以包括具有自由层和钉扎层(pinnedlayer)的多层mram位单元。

存储器电路100可以包括耦合到第一类别(cat-1)控制单元的第二类别(cat-2)控制单元,并且第二类别(cat-2)控制单元可以被布置为提供读写电路108(即,读取/写入电路)以用于访问存储在核阵列电路104的存储器单元中的数据。读写电路108可以包括锁存器和输出驱动电路110(即,d/wenlatch&qdrv)。

存储器电路100可以包括第三类别(cat-3)控制单元,其耦合到第一类别(cat-1)控制单元和第二类别(cat-2)控制单元,并且第三类别(cat-3)控制单元被布置为提供控制电路112、114以用于控制对存储在核阵列电路104的存储器单元中的数据的访问以及用于控制读写电路108的操作。控制电路112、114可以包括位线预充电控件(即,blpcg)112和列驱动器(即,cadrv)以及读写控件114(即,rd/wrctrl)以及行预解码器116(即,rowpre-dec)、行驱动器118(即,radrv)、以及输入缓冲器和锁存器以及时钟生成器120(即,inputbuffer&latch,clkgen)。

存储器电路100还可以包括行解码器122(即,rowdec)、字线驱动器124(即,wldrv)和列多路复用器126(即,colmux),它们可以是或可以不是多个类别(cat-1、cat-2、cat-3)控制单元的一部分。在一些情况下,行解码器122(即,rowdec)可以用于经由由字线驱动器124(即,wldrv)驱动的选择的字线(wl)来访问每个位单元。另外,行解码器122(即,rowdec)和字线驱动器124(即,wldrv)的组合可以被称为(wdx)。

列多路复用器126(即,colmux或colmux)可以用于经由一条或多条选择的位线bl、…、bln访问每个位单元。在一些情况下,选择的位线bl、…、bln可以包括一对选择的互补位线bl/nbl、…、bln/nbln。行解码器122(即,rowdec)可以耦合到字线驱动器124(即,wldrv)和列多路复用器126(即,colmux),以利用一个或多个字线(wl)信号和一个或多个位线(bl)信号来选择核阵列104中的一个或多个位单元。另外,在一些情况下,列多路复用器126(即,colmux)和/或与其关联的组件(例如106、108、110)可以接收一个或多个数据信号(d)以及与将数据读取和写入核阵列104中的位单元相关联的一个或多个其它i/o信号(q)。

在一些实现方式中,如图1中所示,存储器电路100可以包括具有多个位单元阵列104的单端口存储器架构,该多个位单元阵列104具有第一位单元阵列104a(例如,下部存储体阵列bank_0)和不同于第一位单元阵列104的第二位单元阵列(例如,上部存储体阵列bank_1)。在一些情况下,上部存储体阵列(bank_0)可以被称为底部存储体阵列,另外,下部存储体阵列(bank_1)可以被称为下存储体阵列。另外,如图1中所示,存储体阵列104、104a、104b可以相对地设置为上部/顶和下部/底(或底部)配置以及被设置为右侧和左侧配置。

存储器电路100可以包括耦合到单端口存储器架构的多条字线(wl),该多条字线包括耦合到第一位单元阵列104a(例如,下部存储体阵列bank_0)的第一字线(例如,bank_0中的wl_bot)和耦合到第二位单元阵列104b(例如,上部存储体阵列bank_1)的第二字线(例如,bank_1中的wl_top)。如图1中所示,列多路复用器126可以包括耦合到多条字线(wl)的写入多路复用器(即,wmux)和读取多路复用器(即,rmux)。例如,第一字线(例如,bank_0中的wl_bot)可以耦合到下部列多路复用器126中的写入多路复用器(wmux)和读取多路复用器(rmux),并且第二字线(例如,bank_1中的wl_top)可以耦合到上部多路复用器126中的写入多路复用器(wmux)和读取多路复用器(rmux)。

在一些实现方式中,存储器电路100可以包括多个写入多路复用器(例如,在列多路复用器126中的写入顶部/底部y-mux140)和多个读取多路复用器(例如,在列多路复用器126中的读取顶部/底部y-mux142)。如图1中所示,第一存储体阵列104a可以包括下部/底部字线(bank_0中的wl_bot),其耦合到列多路复用器126中的下部写入多路复用器(例如,wmux:写入底部y-mux140),并且还耦合到列多路复用器126中的下部读取多路复用器(例如,rmux:读取底部y-mux142)。另外,第二存储体阵列104b可以包括上部/顶部字线(例如,bank_1中的wl_top),其耦合到多路复用器126的上部写入多路复用器(例如,wmux:写入顶部y-mux140),并且还耦合到多路复用器126中的上部读取多路复用器(例如,rmux:读取顶部y-mux142)。下文中参考图2更详细地描述了与写入多路复用器(wmux)和读取多路复用器(rmux)有关的其它范围和公开内容。

存储器电路100可以包括逻辑电路(例如106、108、116、122、124、126的某种组合),其可以被配置为在单端口存储器架构中同时执行多个存储器访问操作,包括使用第一字线(bank_0中的wl_bot)在第一位单元阵列104a(下部存储体阵列bank_0)中执行读取操作(例如,经由rmux),而使用第二字线(bank_1中的wl_top)在第二位单元阵列104b(上部存储体阵列bank_1)中执行写入操作(例如,经由wmux),或使用第一字线(bank_0中的wl_bot)在第一位单元阵列104a(下部存储体阵列bank_0)中执行写入操作(例如,经由wmux),而使用第二字线(bank_1中的wl_top)在第二位单元阵列104b(上部存储体阵列bank_1)中执行读取操作(例如,经由rmux)。bankrmux

在一些实现方式中,相同的存储器地址可以用于在单端口存储器中同时执行多个存储器访问操作,并且相同的存储器地址可以指代第一位单元阵列104a(下部或底部存储体阵列bank_0)和第二位单元阵列104b(上部或顶部存储体阵列bank_1)中的相同的行地址。在一些情况下,可以以存储器地址在第一位单元阵列104a中执行读取操作,而以该存储器地址在第二位单元阵列104b中同时执行写入操作,另外,也可以以存储器地址在第一位单元阵列104a中执行写入操作,而以该存储器地址在第二位单元阵列104b中同时执行读取操作。另外,全局写入使能信号(gwen)和行地址一起可以用于在第一位单元阵列104a或第二位单元阵列104b中执行写入操作,并且全局读取使能信号(gren)和行地址一起可以用于在第一位单元阵列104a或第二位单元阵列104b中执行读取操作。在一些情况下,以解码的y选择线对gwen和gren信号进行门控,其中可以用colm地址位和内部gtp对gren进行门控以生成用于ready-mux的ypr<0:n>。类似地,可以用colm地址位和内部gtp对gwen进行门控以生成用于writey-mux的ypw<0:n>。

在一些实施方式中,如本文所述,存储器电路100可以被配置用于执行并发存储器访问操作。举例来说,存储器电路100可以被配置用于经由在一个或多个存储体104中的双字线(wl_top、wl_bot)和多个位线(例如,bl、nbl)利用写入列多路复用器(wmux)140和和读取列多路复用器(rmux)142在一个或多个存储体104中执行并发读取操作和写入操作。在一些情况下,一个或多个存储体104包括多个不同的存储体(例如,上部/下部右/左104a和上部/下部右/左104b),并且可以利用相同列来实现在多个不同的存储体中执行并发读取操作和写入操作。另外,在其它情况下,一个或多个存储体104可以包括利用不同列在多个不同存储体(例如,上部/下部右/左104a和上部/下部右/左104b)中执行并发读取操作和写入操作。此外,在其它情况下,可以利用不同列在相同存储体中实现在一个或多个存储体104中执行并发读取操作和写入操作。在下文中参考图2至图12更详细地描述这些理念。

图2示出了根据本文描述的实现方式的列多路复用器电路200的图。在一些实现方式中,列多路复用器电路200可以被称为晶体管级列多路复用器202。本文描述的存储器可以指单端口存储器,并且读写列多路复用器电路可以指双列多路复用器电路(双y-mux电路)。

如图2中所示,列多路复用器202可以包括多个电路组件,这些电路组件被布置用于存储器的列多路复用,并且在这种情况下,列多路复用器202可以包括第一写入多路复用器(wmux)210a、第一读取多路复用器(rmux)212a、第一写入驱动器(wd)224a和感测放大器(sa)220。列多路复用器202可以包括任意数量(n)的多条位线(bl0、b11、…、bln),其耦合到第一写入多路复用器(wmux)210a和第一读取多路复用器(rmux)212a。第一写入多路复用器(wmux)210a可以从多条位线(bl0、b11、…、bln)接收多个位线信号,并且基于写入选择信号(yw<0:n>)经由共享位线(shared_b1)将输出写入信号作为共享位线信号提供给第一写入驱动器224a。另外,第一读取多路复用器(rmux)212a可以从多条位线(bl0、bl1、…、bln)接收多个位线信号,并且基于读取选择信号(vr<0:n>)经由共享读取位线(sharedblr)将输出读取信号作为共享位线信号提供给感测放大器220。

同样如图2中所示,列多路复用器202可以包括多个互补电路组件,其被布置用于存储器的列多路复用,并且在这种情况下,列多路复用器202包括第二写入多路复用器(wmux)210b、第二读取多路复用器(rmux)212b、第二写入驱动器(wd)224b和感测放大器(sa)220。列多路复用器202可以包括任意数量(n)的互补位线(nbl0、nbl1、…、nbln),其耦合到第二写入多路复用器(wmux)210b和第二读取多路复用器(rmux)212b。第二写入多路复用器(wmux)210b从互补位线(nb10、nbl1、…、nbln)接收多个互补位线信号,并且基于写入选择信号(yw<0:n>)经由共享位线(shared_nbl)将互补输出写入信号作为共享位线信号提供给第二写入驱动器224b。第二读取多路复用器(rmux)212a从互补位线(nbl0、nbl1、…、nbln)接收多个位线信号,并且基于读取选择信号(yr<0:n>)经由共享读取位线(shared_nblr)将互补输出读取信号作为共享互补位线信号提供给感测放大器220。

图3a至图3c示出了根据本文描述的实现方式的具有写入时钟(wclk)电路328的列多路复用器电路300。具体地,图3a示出了列多路复用器电路300的第一部分300a,而图3b示出了列多路复用器电路300的第二部分300b。另外,如图3a至图3b中所示,第一部分300a经由环绕的元件a、b、c、d、e耦合到第二部分300b。此外,图3c示出了写入时钟(wclk)电路328的详细图300c,其是列多路复用器电路300的一部分。

参考图3a,列多路复用器电路300的第一部分300a可以指晶体管级双y-mux302a。第一部分300a可以包括至少一个位单元304a、具有写入驱动器(wd)324的写入时钟(wc)电路328a、以及耦合到互补位线(b10、nbl0)的感测放大器(sa)电路320,并且字线(wl)可以耦合到至少一个位单元304a。第一部分300a包括串联耦合到位线(bl0)的预充电晶体管(t0、t1),其中晶体管(t0)耦合在位线(b10)与晶体管(t1)之间,而晶体管(t1)耦合在晶体管(t0)与接地(vss或gnd)之间。晶体管(t0)的栅极耦合到传输晶体管(t3)的栅极,并且晶体管(t1)的栅极接收读取激活信号(nypr0)。第一部分300a可以包括并联耦合在位线(b10)与写入时钟(wc)电路328a之间的传输晶体管(t3、t4)。晶体管(t3)的栅极接收写入激活信号(ypw0),并且晶体管(t4)的栅极接收互补写入激活信号(nypw0)。第一部分300a可以包括耦合在位线(b10)与感测放大器(sa)320之间的另一个传输晶体管(t5),并且晶体管(t5)的栅极接收互补读取激活信号(ypr0)。在一些情况下,晶体管(t3、t4)可以作为写入多路复用器电路(wmux)311a的一部分进行操作,并且晶体管(t5)可以作为读取多路复用器电路(rmux)313a的一部分进行操作。

此外,关于位线(nbl0),第一部分300a可以包括串联耦合到位线(nbl0)的预充电晶体管(t6、t7),其中晶体管(t6)耦合在位线(nbl0)与晶体管之间(t7),并且晶体管(t7)耦合在晶体管(t6)与接地(vss或gnd)之间。晶体管(t6)的栅极耦合到传输晶体管(t8)的栅极,并且晶体管(t7)的栅极接收读取激活信号(nypr0)。第一部分300a还可以包括并联耦合在位线(nbl0)与写入时钟(wc)电路328a之间的传输晶体管(t8、t9)。另外,晶体管(t8)的栅极接收写入激活信号(ypw0),并且晶体管(t9)的栅极接收互补写入激活信号(nypw0)。另外,第一部分300a包括耦合在位线(nbl0)与感测放大器(sa)320之间的另一个传输晶体管(t10),并且晶体管(t10)的栅极接收互补读取激活信号(ypr0)。在一些情况下,晶体管(t8、t9)作为写入多路复用器电路(wmux)311a的一部分进行操作,并且晶体管(t10)可以作为读取多路复用器电路(rmux)313a的一部分进行操作。另外,写入时钟(wc)电路328a和感测放大器(sa)320可以交叉耦合在位线(b10、nb10)之间。

在一些实现方式中,第一部分300a是指位单元阵列中的第一列结构,而第二部分300b是指同一位单元阵列中的另一列结构。位单元阵列可以包括任意数量(n)的列和任意数量(n)的列结构,以支持如本文所述的读取和写入存储器访问操作。因此,如图3a至图3b中所示,第二部分300b可以具有与第一部分300a相似的组件,并且具有相似的范围和特征。

在图3b中,列多路复用器电路300的第二部分300b可以指另一个晶体管级双y-mux302b。第二部分300b可以包括至少一个位单元304n、具有写入驱动器(wd)324的写入时钟(wc)电路328n、以及耦合到互补位线(bln、nbln)的感测放大器(sa)电路320,并且字线(wl)可以耦合到至少一个位单元304b。类似于第一部分300a,第二部分300b可以包括串联耦合到位线(bln)的预充电晶体管(t0、t1),其中晶体管(t0)耦合在位线(bln)与晶体管(t1)之间,并且晶体管(t1)耦合在晶体管(t0)与接地(vss或gnd)之间。晶体管(t0)的栅极耦合到传输晶体管(t3)的栅极,并且晶体管(t1)的栅极接收读取激活信号(nyprn)。第二部分300b可以包括并联耦合在位线(bln)与写入时钟(wc)电路328n之间的传输晶体管(t3、t4),其中晶体管(t3)的栅极接收写入激活信号(ypwn),并且晶体管(t4)的栅极接收互补写入激活信号(nypwn)。另外,第二部分300b可以包括耦合在位线(bln)与感测放大器(sa)电路320之间的另一个传输晶体管(t5),并且此外,晶体管(t5)的栅极接收互补读取激活信号(yprn)。在一些情况下,晶体管(t3、t4)可以作为写入多路复用器电路(wmux)311n的一部分进行操作,另外,晶体管(t5)可以作为读取多路复用器电路(rmux)313n的一部分进行操作。

此外,关于位线(nbln),第二部分300b可以包括串联耦合到位线(bln)的预充电晶体管(t6、t7),其中晶体管(t6)耦合在位线(bln)与晶体管(t7)之间,并且晶体管(t7)耦合在晶体管(t6)与接地(vss或gnd)之间。晶体管(t6)的栅极耦合到传输晶体管(t8)的栅极,并且晶体管(t7)的栅极接收读取激活信号(nyprn)。第二部分300b可以包括并联耦合在位线(bln)与写入时钟(wc)电路328n之间的传输晶体管(t8、t9),其中晶体管(t8)的栅极接收写入激活信号(ypwn),并且晶体管(t9)的栅极接收互补写入激活信号(nypwn)。另外,第二部分300b可以包括耦合在位线(bln)与感测放大器(sa)电路320之间的另一个传输晶体管(t10),另外,晶体管(t10)的栅极接收互补读取激活信号(yprn)。在一些情况下,晶体管(t8、t9)可以作为写入多路复用器电路(wmux)311n的一部分进行操作,并且晶体管(t10)可以作为读取多路复用器电路(rmux)313n的一部分进行操作。另外,写入时钟(wc)电路328n和感测放大器(sa)电路320可以交叉耦合在位线(bln、nbln)之间。

在一些实现方式中,如图3a至图3b中所示,字线(wl)可以经由环绕的元件a耦合在一起。第一部分300a中的位线(bl0)和第二部分300b中的位线(bln)可以经由环绕的元件b耦合在一起作为共享位线(shared_blr),并且第一部分300a中的读取位线(blr0)和第二部分300b中的读取位线(nblr)可以经由环绕的元件c耦合在一起作为共享位线(shared_blr)。此外,第一部分300a中的位线(nbl0)和第二部分300b中的位线(nbln)可以经由环绕的元件d耦合在一起作为另一共享位线(shared_nbl),并且第一部分300a中的读取位线(nblr)和第二部分300b中的读取位线(nblr)可以经由环绕的元件e耦合在一起作为另一共享读取位线(shared_nblr)。

如图3c中所示,写入时钟(wclk)电路328可以包括一个或多个逻辑门(例如,lg1、lg2),其接收输入信号(例如,data、ndata、nwclk)并提供输出信号(例如,shared_bl、shared_nbl)。例如,第一逻辑门(lg1)可以包括使用或非(nor)门,并且第一逻辑门(lg1)可以接收输入信号(data、nwclk)并提供输出信号(shared_bl)。另外,第二逻辑门(lg2)可以包括使用或非门,并且第二逻辑门(lg2)可以接收输入信号(ndata、nwclk)并提供输出信号(shared_nbl)。在一些情况下,输入的data信号和输入的ndata信号可以是互补的,并且输入的nwclk信号可以指对写入时钟信号(wclk)的补充。另外,在一些情况下,输出的信号(shared_bl、shared_nbl)可以是互补共享位线信号。在一些实现方式中,写入时钟(wc)电路328a、328n可以在图3a至图3b的列多路复用器电路300中使用。

图4示出了根据本文描述的各种实现方式的存储器电路的图。如图4中所示,可以用具有各种类型的控制单元的一个或多个存储块来实现存储器电路400,所述控制单元被布置和配置为提供各种存储器相关组件。

图4中所示的存储器电路400可以包括多个存储器核阵列404,例如多核阵列。然而,在各种其它情况下,在一些实施例中可以使用单核阵列和/或双核阵列。因此,如图4中所示,存储器实例400可以包括多个存储器核(例如,呈多存储器核配置的多个核阵列404a、404b),并且存储器实例可以共享一个或多个控制单元,例如列多路复用器(colmux)(426a、426b)、clk_base(420)、wdx(424)、clk_drv(416)、输入输出(io)(410a、410b),它们可以表示共享电路组件。

如图4中所示,第一列多路复用器426a可以包括第一常规ph2锁存器417a,并且第二列多路复用器426b可以包括第二常规ph2锁存器417b。在一些情况下,ph2锁存器在时钟的下降沿打开,并在时钟的上升沿不透明,而ph1以相反的方式进行操作(即,在时钟的上升沿打开,而在下降沿不透明)。另外,第一io410a可以包括第一ph2锁存器427a,另外,第二io410b可以包括第二ph2锁存器427b。如图所示,第一常规ph2锁存器417a可以经由导线423a耦合到第一ph2锁存器427a,并且第二常规ph2锁存器417b可以经由另一导线423b耦合到第二ph2锁存器427a。另外,如图所示,第一ph2锁存器427a可以经由另一导线423c耦合到第二ph2锁存器427b。另外,clk_base420可以包括sr锁存器407,该sr锁存器经由导线423c、423d耦合到ph2锁存器427a、427b。如图所示,sr锁存器407可以接收各种输入信号(例如,ngtp、ngren、nsae)。例如,sr锁存器407可以接收互补全局定时脉冲(ngtp),并且sr锁存器407可以接收互补全局读取使能信号(ngren_p2)。另外,sr锁存器407可以接收互补感测放大器使能信号(nsae)。

在一些实现方式中,当gren=0(全局读取使能低电平有效)时,仅时钟锁存器407(clklatch或sr锁存器)将变高,这将关闭在下部(或底部)io处添加的ph2锁存器427a、427b。否则,底部io处的ph2锁存器427a、427b可以是透明的,并且当读取操作完成时(例如,当ph1_read_end变高时),sr锁存器将是透明的。这可能比gtp信号的下降沿更早发生。因此,这种锁存技术可以避免从底部ph2锁存器到中间ph2锁存器的竞争状态(这可以用wclk控制)。

图5a至图5f示出了根据本文描述的各种实现方式的存储器电路的各种图。具体地,图5a示出了具有控制逻辑516的存储器电路502的图形500a,图5b示出了具有列多路复用器电路526的存储器电路502的更详细的图形500b,图5c示出了控制逻辑516的图形500c,图5d示出了控制逻辑516的另一图形500d,而图5e示出了控制逻辑516的另一图形500e。另外,图5f示出了列多路复用器电路526的图形500f。

如图5a中所示,存储器电路502可以包括控制电路516、第一定时电路540、第二定时电路542和存储器访问电路550,它们被布置和配置用于并发存储器访问操作。在一些情况下,存储器电路502可以被实现为具有各种电路组件的系统或设备,该各种电路组件被布置并耦合在一起以作为提供物理电路设计和相关结构的部件的组装或组合。另外,在其它情况下,设计、提供和构建存储器电路502的方法可以涉及使用本文描述的各种电路组件,以实现与之相关联的列多路复用方案和技术。

存储器电路502可以包括控制电路516、第一定时电路540和存储器访问电路550,其中控制电路516可以包括第二定时电路542。存储器电路502可以包括双y-mux使能引脚552,其中存储器电路502可以被配置为接收多个输入信号(例如,read_bypass、gren、rca<0:n>)。存储器电路502还可以包括单端口存储器输入-输出(io)引脚554。在一些情况下,read_bypass信号可以指用于在写入操作内使能/禁用读取操作的控制信号,从而避免相邻的位线耦合。另外,在一些情况下,gren信号可以指全局读取使能信号以及全局写入使能信号(gwen),以便为读写(rw)、写读(wr)、仅读取(r)以及仅写入(w)操作提供灵活性。关于双y-mux使能引脚552,gren信号可以由专用全局读取引脚接收,而gwen信号可以由专用全局写入引脚接收。另外,在一些情况下,rca<0:n>信号可以指专用读取列地址(rca)信号以及现有地址(addr)信号,另外,引脚552可以包括专用rca引脚以及现有addr引脚。此外,引脚552可以包括用于接收专用wca<0:n>的专用写入列地址(wca)引脚。

如图5b中所示,存储器电路502可以包括各种电路,包括多个地址解码器503a、503b、多个位单元阵列存储体504a、504b、列多路复用器电路536、感测放大器电路506、时钟生成电路510和与dwl负载514相关的虚设字线(dwl)电路。存储器电路502还可以包括第一定时电路540和具有第二定时控制电路542的控制逻辑516。另外,存储器电路502可以包括虚设字线(dwl)驱动器(id)、虚设字线(dwl)负载514和耦合到虚设字线dwl的延迟逻辑(delay_n)512。

多个地址解码器503a、503b可以包括第一地址解码器503a和第二地址解码器503b,并且多个位单元阵列存储体504a、504b可以包括第一位单元阵列504a和第二位单元阵列504b。在各种情况下,位单元阵列504a、504b中的每一个可以具有多行位单元row_0、row_1、row_2、…、row_n。列多路复用器(colmux)526和感测放大器506可以经由互补位线(bl、nbl)耦合到多行位单元row_0、row_1、row_2、…、row_n的每一行中的每个位单元。另外,位单元阵列504a、504b中的每一个可以利用耦合在地址解码器503a、503b与对应行位单元row_0、row_1、row_2、…、row_n之间的多个反相字线(例如,nwl_0、nwl_1、nwl_2、…、nwl_n),以用于基于选择的字线访问位单元中的每一个。反相字线nwl_0、nwl_1、nwl_2、…、nwl_n中的每一条都具有与其耦合的对应字线驱动器(例如,反相器i0、i1、i2、…、in)以将字线信号(例如,wl_0、wl_1、wl_2、…、wl_n)提供给对应行位单元row_0、row_1、row_2、…、row_n。如本文所述,存储器电路502可以利用双字线以用于并发存储器访问操作。在一些情况下,列多路复用器(colmux)526可以包括感测放大器(sa)电路506、写入驱动器(wd)电路和数据ph2锁存器电路(dpl)。

存储器电路502可以接收时钟信号clk和地址信号addr。时钟生成电路(clkgen)510可以接收时钟信号clk,并向地址解码器503a、503b提供一个或多个内部时钟信号(例如第一内部时钟信号i_clk1),并且经由虚设字线(dwl)向虚设字线驱动器(例如,反相器id)提供第二内部时钟信号i_clk2。dwl负载514可以从dwl驱动器(id)接收dwl信号,并向延迟逻辑(delay_n)512提供dwl转向信号(dwl_turn),并且延迟逻辑(delay_n)512向clkgen电路510提供复位(reset)信号。此外,地址解码器503a、503b可以接收包括例如地址信号addr和第一内部时钟信号i_clk1的多个信号,然后基于接收到的地址信号addr访问至少一个反相字线(例如,nwl_0、nwl_1、nwl_2、…、nwl_n)。

存储器电路502可以包括耦合在时钟生成电路(clkgen)510与列多路复用器526之间的控制逻辑电路516。控制电路516可以接收互补全局定时脉冲(ngtp)并将各种定时和控制信号提供给列多路复用器526和感测放大器506。例如,列多路复用器526可以利用第二定时电路542生成并提供多个y-mux信号(ypw<n:0>、ypr<n:0>)和多个感测放大器使能信号(sae、sae_delayed)。在下文中参考图5c至图5f更详细地描述第二定时电路542。

第一定时电路540可以包括锁存器电路,包括例如第一锁存器546和第二锁存器548。在一些情况下,第一锁存器546可以是sr锁存器,其被配置为接收多个输入信号(例如,ngtp、ngren_p2、nsae)并将数据钳位时钟(d_clamp_clk)信号提供给第二锁存器548。另外,在这种情况下,第二锁存器548可以是ph2锁存器,其被配置为从第一锁存器546接收数据钳位时钟(d_clamp_clk)信号,从外部源接收数据信号(d),并将另一数据信号(data)提供给列多路复用器526。在下文中参考图5c至图5f更详细地描述第一定时电路540。

在各种实现方式中,位单元阵列504a、504b中的每个位单元可以被称为存储器单元,并且每个位单元可以被配置为存储至少一个数据位值(例如,与逻辑“0”或“1”相关联的数据值)。位单元阵列504a、504b中的每行位单元row_0、row_1、row_2、…、row_n可以包括以各种配置布置的任意数量的存储器单元,例如具有以二维(2d)网格图案布置的多列和多行的多个位单元的2d存储器阵列。每个位单元可以用随机存取存储器(ram)电路或某种其它类型的易失性存储器来实现。例如,每个存储器单元可以包括多晶体管静态ram(sram)单元,其包括各种类型的sram单元,例如6tcmossram和/或其它类型的互补mos(cmos)sram单元,例如每位4t、8t、10t或更多的晶体管。在其它情况下,例如,当可能需要在相关联的clk2q路径上进行跟踪时,每个位单元可以包括具有自由层和钉扎层的多层mram位单元。

包括位单元阵列504a、504b中的每个位单元的存储器电路502可以被实现为具有各种类型的存储器电路(例如随机存取存储器(ram))的集成电路(ic)。存储器电路502也可以与计算电路和相关组件集成在单个芯片上。此外,可以在用于各种类型的电子、移动、生物测定和/或iot(物联网)应用的嵌入式系统中实现存储器电路502。

在一些实现方式中,参考图5b,存储器电路502包括具有一个或多个位单元阵列504a、504b的存储器架构,另外,存储器电路502还包括经由多条位线(b1、nbl)耦合到存储器架构的列多路复用器电路(colmux526),包括耦合到位线用于写入访问操作的写入列多路复用器和耦合到位线用于读取访问操作的读取列多路复用器。存储器电路502包括逻辑电路516,该逻辑电路经由位线利用写入列多路复用器和读取列多路复用器在存储器架构的一个或多个位单元阵列504a、504b中执行并发存储器访问操作。在一些情况下,位单元阵列504a、504b可以指多个不同的位单元阵列,并且,执行并发存储器访问操作可以指利用相同列在多个不同的位单元阵列中执行并发读取操作和写入操作。另外,在其它情况下,执行并发存储器访问操作可以指利用不同列在多个不同位单元阵列中执行并发读取操作和写入操作。在一些情况下,执行并发存储器访问操作还可以指利用不同列在相同存储体中的一个或多个位单元阵列中执行并发读取操作和写入操作。另外,存储器架构可以指单端口存储器结构,并且列多路复用器电路可以是双读写列多路复用器电路(例如,双y-mux电路)。写入列多路复用器可以指专用写入列多路复用器,其耦合到位线以执行由写入列多路复用器地址(wca)控制的写入操作,并且读取列多路复用器可以指专用读取列多路复用器,其耦合到位线以执行由读取列多路复用器地址(rca)控制的读取操作。

如图5c中所示,控制逻辑516可以包括各种逻辑电路,包括具有y解码器(n:2^n)560和一个或多个逻辑门(例如lg1、lg2、lg3)的第一逻辑电路547a,这些逻辑门耦合在一起并被布置为接收一个或多个输入信号(例如,wa_col_addr、ngwen_p2、gtp)并提供输出信号(例如,ypw<n:0>)。y解码器(n:2^n)560接收wa_col_addr(wca)信号,并将输出信号提供给第二逻辑门lg2(例如,或非门)。另外,第一逻辑门lg1(例如,与非门)接收输入信号(ngwen_p2、gtp),并将输出信号提供给第二逻辑门lg2。第二逻辑门lg2从y解码器(n:2^n)560和第一逻辑门lg1接收输出信号,并将输出信号提供给第三逻辑门lg3(例如,缓冲器)。另外,在一些情况下,第三逻辑门lg3可以从第二逻辑门lg2接收输出信号,并提供输出信号(ypw<n:0>)。

如本文所述,控制逻辑516包括第二定时电路542,其可以包括各种逻辑电路,包括第二逻辑电路547b和第三逻辑电路547c。第二逻辑电路547b可以包括y解码器(n:2^n)562和一个或多个逻辑门(例如,lg4、lg5、lg6),这些逻辑门耦合在一起并且被布置为接收一个或多个输入信号(例如,ra_col_addr、ngwen_p2、gtp_delayed)并提供输出信号(例如ypr<n:0>)。在一些情况下,y解码器(n:2^n)562接收ra_col_addr(rca)信号,并将输出信号提供给第五逻辑门lg5(例如,或非门)。第四逻辑门lg4(例如,与非门)接收输入信号(ngwen_p2、gtp_delayed),并将输出信号提供给第五逻辑门lg5。第五逻辑门lg5从y解码器(n:2^n)562和第四逻辑门lg4接收输出信号,并将输出信号提供给第六逻辑门lg6(例如,缓冲器)。第六逻辑门lg6从第五逻辑门lg5接收输出信号,并提供输出信号(ypr<n:0>)。

此外,第三逻辑电路547c可以包括延迟逻辑564和一个或多个逻辑门(例如,lg7、lg8、lg9),这些逻辑门耦合在一起并被布置为接收一个或多个输入信号(例如,ngwen_p2、gtp_delayed、sae_delayed),并提供一个或多个输出信号(例如,rdclk、sae)。第七逻辑门lg7(例如,与门)接收一个或多个输入信号(例如,ngren_p2、gtp_delayed),并将输出信号提供给第八逻辑门lg8(例如,与门)和第九逻辑门lg9(例如,缓冲器)。第八逻辑门lg8从第七逻辑门lg7接收输出信号,接收输入信号(sae_delayed),并将输出信号提供给延迟逻辑门564。第九逻辑门lg9从第八逻辑门lg8接收输出信号,并提供读取时钟信号(rdclk)作为输出信号。延迟逻辑564从第八逻辑门lg8接收输出信号,并提供感测放大器使能信号(sae)作为输出信号。

如图5d中所示,控制逻辑516的第二定时电路542可以包括其它逻辑电路,包括第四逻辑电路547d。在一些情况下,第四逻辑电路547d可以包括各种延迟逻辑566、568和一个或多个逻辑门(例如,lg10、lg11、lg12),这些逻辑门耦合在一起并被布置为接收一个或多个输入信号(例如,dwl_turn、logic_to_disable)并提供输出信号(例如,sae_delayed)。在一些情况下,第一延迟器566(例如,delay_n)可以接收dwl_turn信号,并且将输出信号提供给第二延迟器568(例如,delay_rw)和第十逻辑门lg1)(例如,反相器门)。第十逻辑门lg10从第一延迟器566接收输出信号,并将输出信号提供给第十二逻辑门lg12(例如,或非门)。第二延迟器568可以从第一延迟器566接收输出信号,并且将输出信号提供给第十一逻辑门lg11(例如,或非门)。第十一逻辑门lg11从第二延迟器568接收输出信号,接收输入信号(logic_to_disable),并将输出信号提供给第十二逻辑门lg12。另外,第十二逻辑门lg12可以从第十逻辑门lg10和第十一逻辑门lg11接收输出信号,然后提供延迟的感测放大器信号(sae_delayed)作为输出信号。在一些情况下,控制逻辑516的第二定时电路542的第四逻辑电路547d可以用作脉冲展宽器,其被配置用于存储器访问操作,该存储器访问操作涉及在(仅)读写(rw)周期期间在写入操作内执行读取操作。

如图5e中所示,控制逻辑516的第二定时电路542可以包括其它逻辑电路,包括第五逻辑电路547e。在一些情况下,第五逻辑电路547e可以包括延迟逻辑570(例如,delay_rw)和一个或多个逻辑门(例如,lg13、lg14、lg15、lg16、lg17),这些逻辑门耦合在一起并且被布置为接收一个或多个输入信号(例如,ngtp、read_bypass、gwen_p2、gren_p2、sae)并提供输出信号(例如,gtp_delayed)。在一些情况下,第十三逻辑门lg13(例如,或非门)可以接收输入信号(例如,gwen_p2、gren_p2),并且将输出信号提供给第十四逻辑门lg14(例如,或门)。另外,第十四逻辑门lg14可以接收读取旁路输入信号(例如,read_bypass),从第十三逻辑门lg13接收输出信号,并且将逻辑禁用信号作为输出信号提供给第十五逻辑门lg15(例如,或非门)。另外,第十六逻辑门lg16(例如,或非门)可以接收输入信号(例如,sae、ngtp)并且将输出信号提供给延迟逻辑570。另外,延迟逻辑570可以从第十六逻辑门lg16接收输出信号,并将输出信号提供给第十五逻辑门lg15。第十五逻辑门lg15可以从第十四逻辑门lg14接收逻辑禁用信号,从延迟逻辑570接收输出信号,并将输出信号提供给第十七逻辑门lg17(例如,或非门)。另外,第十七逻辑门lg17可以从clkgen电路510(图5b)接收ngtp信号,从第十五逻辑门lg15接收输出信号,并且提供gtp_delayed信号作为输出信号。在一些情况下,控制逻辑516的第二定时电路542的第五逻辑电路547e可以提供逻辑,以避免在读写(rw)操作期间在相邻列上耦合,而对读取(仅)的影响很小或没有影响。

如图5f中所示,列多路复用器电路526可以包括各种电路组件,这些电路组件被布置用于存储器的读写(rw)访问和列多路复用,并且列多路复用器526可以包括写入多路复用器(wmux)、读取多路复用器(rmux)、感测放大器(sa)电路572和写入驱动器(wd)电路574。写入驱动器(wd)电路574可以包括锁存器电路,例如ph2锁存器电路。列多路复用器526可以包括耦合到写入多路复用器(wmux)和读取多路复用器(rmux)的位线(bl、nbl)。写入多路复用器(wmux)可以从位线(bl、nbl)接收位线信号,然后基于写入选择信号(ypw_top、ypw_bot)将输出写入信号提供给写入驱动器(wd)电路574。另外,读取多路复用器(rmux)可以从位线(bl、nbl)接收位线信号,然后基于读取选择信号(ypr_top、ypr_bot)将输出读取信号提供给感测放大器(sa)电路572。wmux和rmux可以包括上部(或顶部)wmux和rmux,并且wmux和rmux可以包括下部(或底部)wmux和rmux。写入驱动器(wd)电路574可以接收数据信号(data),并且感测放大器(sa)电路572可以接收感测放大器使能信号(sae)。列多路复用器526可以包括耦合到位线(bl、nbl)的位线预充电电路576,其基于激活信号(ypw、ypr)对位线(bl、nbl)进行预充电,并且列多路复用器526可以包括耦合至位线(bl、nbl)的读取位线预充电电路pr。另外,在一些情况下,如图5b中所示,列多路复用器526可以从控制逻辑516接收多个输入控制信号(例如,ypw<n:0>、ypr<n:0>、sae、sae_delayed)。

图6示出了根据本文描述的各种实现方式的与存储器电路相关联的波形图600。在一些情况下,波形图600可以指具有ypr延迟的波形602。

如图6中所示,时钟信号(clk)的上升沿可以在全局写入使能信号和全局读取使能(gren/gren)信号的去激活(即,低逻辑状态)期间以及在互补感测放大器使能信号(nsae)的激活(即,高逻辑状态)期间触发互补全局定时脉冲(ngtp)的下降沿。另外,clk信号的上升沿可以触发数据钳位时钟信号(d_clamp_clk)的上升沿,并且nsae信号的上升沿可以用于触发d_clamp_clk信号的下降沿。在一些情况下,如图所示,d_clamp_clk信号的上升沿触发ypw、ypr、读取时钟(rdclk)信号的下降沿,其中ypw信号的下降沿在ypr和rdclk信号的下降沿之前发生。这样,ypr和rdclk信号的下降沿在ypw信号的下降沿之后延迟一段时间。

在一些实现方式中,本文描述的各种存储器访问方案和技术提供用于在写入操作的写入窗口内执行读取操作,这可以用于去除在读写存储器访问操作期间位线耦合的影响。如图6中所示,本文描述的各种存储器访问方案和技术提供了延迟的预充电,并且在ypr中没有延迟,这有助于实现在读写操作期间去除位线耦合。

图7至图10b示出了根据本文描述的实现方式的用于执行存储器访问操作的各种方法的过程图。

应该理解,即使图7至图10b的方法可以指示操作执行的特定顺序,但是在一些情况下,也可以以不同的顺序、在不同的系统上执行操作的一部分。在其它情况下,可以向图7至图10b的方法添加和/或从其省略其它操作和/或步骤。另外,图7至图10b的方法可以用硬件和/或软件来实现。如果以硬件实现,则图7至图10b的方法可以用各种组件和/或电路来实现,如本文图1至图6中所述。另外,如果以软件实现,则如本文所述,图7至图10b的方法可以被实现为被配置用于各种列多路复用方案和技术的各种程序和/或软件指令过程。另外,如果以软件实现,则与实现图7至图10b的方法相关的各种指令可以存储在存储器和/或数据库中。另外,在其它情况下,具有至少一个处理器和存储器的计算机或各种其它类型的计算设备(例如,如本文下面在图12中所述)可以被配置为执行图7至图10b的方法。

如图7中所示,方法700可以指用于避免数据到位线耦合702的方法。在方框710中,方法700可以从逻辑电路(例如,片上系统(soc))获取行地址(ra)、写入列地址(wca)、读取列地址(rca)、全局写入使能信号(gwen)和全局读取使能信号(gren)。在判定方框712中,方法700可以确定gren信号是否指逻辑零(0)状态,其可以指示读取操作使能状态。如果否,则在方框714中,方法700可以禁用sr锁存器,并且下部ph2锁存器将变为透明的,然后可以在仅写入模式周期中将数据切换为存储器,或者禁用存储器。否则,如果是,则在方框716中,方法700可以在内部时钟的开始时设置sr锁存器。在方框718中,方法700可以钳位数据信号,其中下部iodrvph2锁存器将变得不透明并钳位数据。在判定方框720中,方法700可以确定感测放大器操作是否完成。如果否,则方法700可以返回到方框718。否则,如果是,则在方框722中,方法700可以通过感测放大器使能信号(sae)的下降沿来复位sr锁存器。

如图8a中所示,方法800a可以指在利用读取位线预充电在写入操作内执行读取操作802a的方法。在方框810中,方法800a可以从逻辑电路(例如soc)获取行地址(ra)、写入列地址(wca)、读取列地址(rca)、全局写入使能信号(gwen)和全局读取使能信号(gren)。在判定方框812中,方法800a可以确定gwen信号和gren信号是否指逻辑零(0)状态,这可以指示读写(rw)操作使能状态。如果否,则在方框814中,方法800a可以如在仅写入模式、仅读取模式或禁用模式中那样禁用读取内部写入(readinsidewrite)电路。否则,如果是,则在方框816中,方法800a可以使能读取内部写入电路,以避免相邻的写入列耦合到读取列。在方框818中,方法800a可以用内部全局定时脉冲(gtp)触发一个或多个或所有信号,除了ypr信号(即,读取列选择时钟)、读取位线预充电、sae信号和共享读取线钳位设备之外。在判定方框820中,方法800a可以确定写入位线是否已经达到完全vdd或vdd的90%,或者确定读取位线是否已经通过读取位线预充电而放电了一些或全部耦合电荷。如果否,则在方框822中,方法800a可以保持读取相关ypr信号(读取列选择时钟)、读取位线预充电和sae信号。另外,在方框822中,方法可以将共享读取线钳位设备信号保持在禁用状态。否则,如果是,则在方框824中,方法800a可以使能读取操作、读取位线预充电和sae信号。

如图8b中所示,方法800b可以指利用共享读取线钳位设备在写入操作内执行读取操作802b的方法。在方框830中,方法800b可以从逻辑电路(例如soc)获取行地址(ra)、写入列地址(wca)、读取列地址(rca)、全局写入使能信号(gwen)和全局读取使能信号(gren)。在判定方框832中,方法800b可以确定gwen信号和gren信号是否指逻辑零(0)状态,这可以指示读写(rw)操作使能状态。如果否,则在方框834中,方法800b可以如在仅写入模式、仅读取模式或禁用模式中那样禁用读取内部写入电路。否则,如果是,则在方框836中,方法800b可以使能读取内部写入电路以避免相邻的写入列耦合到读取列。在方框838中,方法800b可以利用内部全局定时脉冲(gtp)来触发一个或多个或所有信号(以及ypr信号),除了sae信号和共享位线钳位禁用设备之外。在判定方框840中,方法800b可以确定写入位线是否已经达到完全vdd或vdd的90%,或者确定读取位线是否已经通过共享位线钳位设备释放了一些或全部耦合电荷。如果否,则在方框842中,方法800b可以保持与sae信号有关的读取操作,并将共享位线钳位禁用信号保持在禁用状态。否则,如果是,则在方框844中,方法800b可以使能读取操作、读取位线预充电和sae信号。

如图9a中所示,方法900可以指在没有读取旁路引脚的情况下执行双y-mux操作902的方法。在方框910中,方法900可以从逻辑电路(例如soc)获取行地址(ra)、写入列地址(wca)、读取列地址(rca)、全局写入使能信号(gwen)和全局读取使能信号(gren)。在判定方框912中,方法900可以确定gwen信号和gren信号是否指逻辑零(0)状态,这可以指示读写(rw)操作使能状态。如果是,则在方框914中,方法900可以基于rca和wca使能读取列和写入列,并且经由环绕的元件a1进行到判定方框930。另外,如果是,则在方框916中,方法900可以使能sr锁存器以避免数据到位线耦合。否则,如果否,则在判定方框918中,方法900可以确定gwen信号是否指逻辑零(0)状态,gren信号是否指逻辑一(1)状态,这可以指示仅写入操作使能状态。如果是,则在方框920中,方法900可以禁用数据到位线耦合电路,并且还禁用读取内部写入(readinsidewrite)操作。否则,如果否,则在判定方框922中,方法900可以确定gwen信号是否指逻辑一(1)状态并且gren信号是否指逻辑零(0)状态,这可以指示仅读取操作使能状态。如果是,则在方框924中,方法900可以使能sr锁存器以避免数据到位线耦合。另外,如果是,则在方框926中,方法900可以禁用读取内部写入电路,并且在仅读取周期中可能对延迟clk2q没有影响。否则,如果否,则在判定方框928中,方法900可以确定gwen信号是否指逻辑一(1)状态,gren信号是否指逻辑一(1)状态,这可以指示无读取和无写入操作使能状态。如果是,则在方框930中,方法900可以不生成gtp信号。如果否,则在方框932中,方法900可以终止于结束状态。

如图9b中所示,方法900可以指在没有读取旁路引脚的情况下执行双y-mux操作902的方法的继续。从图9a中的方框914开始,方法900可以经由环绕的元件a1进行到判定方框930。在判定方框930中,方法900可以确定rca是否等于wca。如果是,则在方框932中,方法900可以提供读取失败/写入失败或读取失败/写入通过的操作状态。否则,如果否,则在判定方框934中,方法900可以确定读取列和写入列是否相邻。如果是,则在方框936中,方法900可以使能读取内部写入电路,以避免相邻的写入列耦合到读取列。如果否,则在方框938中,方法900可以执行并发读取操作和写入操作。在一些实现方式中,方框936中的相邻列的条件可以指rca=wca 1与wca=rca 1、wca-=rca-1和rca=wca-1组合的情况。

如图10a中所示,方法1000可以指在具有读取旁路引脚的情况下执行双y-mux操作1002的方法。在方框1010中,方法1000可以从逻辑电路(例如,soc)获取行地址(ra)、写入列地址(wca)、读取列地址(rca)、全局写入使能信号(gwen)和全局读取使能信号(gren)。在判定方框1012中,方法1000可以确定gwen信号和gren信号是否指逻辑零(0)状态,这可以指示读写(rw)操作使能状态。如果是,则在方框1014中,方法1000可以基于rca和wca使能读取列和写入列,并且经由环绕的元件a2前进到判定方框1030。另外,如果是,则在方框1016中,方法1000可以使能sr锁存器以避免数据到位线耦合。否则,如果否,则在判定方框1018中,方法1000可以确定gwen信号是否指逻辑零(0)状态并且gren信号是否指逻辑一(1)状态,这可以指示仅写入操作使能状态。如果是,则在方框1020中,方法1000可以禁用数据到位线耦合电路,并且还禁用读取内部写入操作。否则,如果否,则在判定方框1022中,方法1000可以确定gwen信号是否指逻辑一(1)状态并且gren信号是否指逻辑零(0)状态,这可以指示仅读取操作使能状态。如果是,则在方框1024中,方法1000可以使能sr锁存器以避免数据到位线耦合。另外,如果是,则在方框1026中,方法1000可以禁用读取内部写入电路,并且在仅读取周期中可以对延迟clk2q无影响。否则,如果否,则在判定方框1028中,方法1000可以确定gwen信号是否指逻辑一(1)状态,gren信号是否指逻辑一(1)状态,这可以指示无读取和无写入操作使能状态。如果是,则在方框1030中,方法1000可以不生成gtp信号。如果否,则在方框1032中,方法1000可以终止于结束状态。

如图10b中所示,方法1000可以指在具有读取旁路引脚的情况下执行双y-mux操作1002的方法的继续。从图10a中的方框1014开始,方法1000可以经由环绕的元件a2进入判定方框1030。在判定方框1030中,方法1000可以确定rca是否等于wca。如果是,则在方框1032中,方法1000可以提供读取失败/写入失败或读取失败/写入通过的操作状态。否则,如果否,则在判定方框1034中,方法1000可以确定read_bypass是否处于逻辑一(1)状态。如果是,则在方框1036中,方法1000可以执行并发读取操作和写入操作。如果否,则在方框1038中,方法1000可以使能读取内部写入电路,以避免相邻的写入列耦合到读取列。

图11示出了根据本文描述的实现方式的用于并发存储器访问操作的方法1100的图。

应该理解,即使方法1100可以指示操作执行的特定顺序,但在一些情况下,操作的一部分也可以以不同的顺序、在不同的系统上执行。在其它情况下,可以将附加操作和/或步骤添加到方法1100和/或从方法1100中省略。另外,方法1100可以用硬件和/或软件来实现。如果以硬件实现,则方法1100可以利用各种组件和/或电路来实现,如本文图1至图10b中所述。另外,如果以软件实现,则方法1100可以被实现为被配置用于各种列多路复用方案和技术的各种程序和/或软件指令过程,如本文所述。另外,如果以软件实现,则与实现方法1100有关的各种指令可以存储在存储器和/或数据库中。另外,在其它情况下,可以将具有至少一个处理器和存储器的计算机或各种其它类型的计算设备(例如,如本文下面在图12中所述)配置为执行方法1100。

如参考图11所示,在方框1110中,方法1100可以为存储器提供一个或多个存储体。在方框1120中,方法1100可以经由位线将读写列多路复用器电路耦合到存储器,包括将写入列多路复用器耦合到位线以用于写入操作以及将读取列多路复用器耦合到位线以用于读取操作。在一些实现中,存储器可以包括单端口存储器,并且读写列多路复用器电路可以包括双列多路复用器电路(例如,双y-mux电路)。

在方框1130中,方法1100可以经由位线利用写入列多路复用器和读取列多路复用器在存储器的一个或多个存储体中执行并发读取操作和写入操作。在一些情况下,执行并发读取操作和写入操作包括以比读取操作慢的速度执行写入操作,并且读取操作是在写入操作的定时窗口间隔内执行的,定时窗口间隔涉及去除在执行写入操作和读取操作时使用的位线之间的耦合。在一些情况下,全局写入使能信号(gwen)以及写入列多路复用器地址(wca)可以用于在第一存储体或第二存储体中执行写入操作,另外全局读取使能信号(gren)以及读取列多路复用器地址(rca)可以用于在第一存储体或第二存储体中执行读取操作。

在一些实现方式中,一个或多个存储体可以包括多个不同的存储体,并且可以利用相同列来实现在多个不同的存储体中执行并发读取操作和写入操作。在一些情况下,在多个不同的存储体中执行并发读取操作和写入操作是利用不同列来实现的。在其它情况下,在一个或多个存储体中执行并发读取操作和写入操作可以是利用不同列在相同存储体中实现的。另外,写入列多路复用器是指专用写入列多路复用器,其耦合到位线用于执行由写入列多路复用器地址(wca)控制的各种写入操作,并且读取列多路复用器是指专用读取列多路复用器,其耦合到位线用于执行由读取列多路复用器地址(rca)控制的读取操作。

在一些实现方式中,方法1100可以包括利用以延迟读取时钟激活的预充电晶体管对位线预充电,并且在位线预充电期间,将读取激活信号提供给第二多路复用器,使得无延迟地执行读取操作。在一些情况下,第一存储体可以具有以列和行布置的位单元阵列,并且第二存储体可以具有以列和行布置的另一位单元阵列。存储器可以指静态随机存取存储器(sram)或磁阻ram(mram),另外,位单元可以指sram位单元或mram位单元。

图12示出了根据本文描述的各种实现方式的用于在物理布局设计中提供列多路复用方案和技术的计算机系统1200的图。

参考图12,系统1200可以与至少一个计算设备1204关联,该计算设备被实现为专用机器,该专用机器被配置为在物理设计中实现列多路复用技术。在一些情况下,计算设备1204可以包括标准元件和/或组件,包括处理器1210、存储器1212(例如,非暂时性计算机可读存储介质)、一个或多个数据库1240、电源、外围设备以及可能未在图12中明确示出的各种其它计算元件和/或组件。另外,计算设备1204可以包括记录或存储在非暂时性计算机可读介质1212上的指令,这些指令可由处理器1210执行。计算设备1204可以与显示设备1250(例如,监视器或其它显示器)相关联,该显示设备可以用于提供用户界面(ui)1252,例如图形用户界面(gui)。在一些情况下,ui或gui1252可以被配置为从用户接收用于管理、操作和/或控制计算设备1204的参数和/或偏好。因此,计算设备1204可以包括显示设备1250用于向用户提供输出,另外,显示设备1250可以包括ui1252用于从用户接收输入。

参考图12,计算设备1204可以具有存储器访问模块1220,其可以被配置为使处理器1210实现本文参考图1至图11所述的方案和技术,包括与在物理布局设计中实现集成电路有关的各种列多路复用方案和技术。另外,存储器访问模块1220可以以硬件和/或软件来实现。在一些情况下,如果以软件实现,则存储器访问模块1220存储在存储器1212或数据库1240中。在一些情况下,如果以硬件实现,则存储器访问模块1220可以指被配置为与处理器1210交互的单独的处理组件。

存储器访问模块1220可以被配置为使处理器1210执行各种操作,如本文参考图1至图11中描述的列多路复用方案和技术所提供的。在这种情况下,存储器1212在其上存储了指令,这些指令在由处理器1210执行时使处理器1210执行以下一个或多个操作。

例如,存储器访问模块1220可以被配置为使处理器1210访问具有一个或多个存储体的存储器。另外,在一些情况下,存储器访问模块1220可以被配置为使处理器1210使用位线将列多路复用器电路耦合到存储器,包括将写入列多路复用器耦合到位线以用于写入操作以及将读取列多路复用器耦合到位线以用于读取操作。另外,在一些情况下,存储器访问模块1220可以被配置为使处理器1210经由位线用写入列多路复用器和读取列多路复用器在存储器的一个或多个存储体中执行并发读写访问操作。

在一些实现方式中,一个或多个存储体可以包括多个不同的存储体,并且执行并发读写访问操作可以包括利用相同列在多个不同的存储体中执行并发读取操作和写入操作。在一些情况下,执行并发读写访问操作可以包括利用不同列在多个不同的存储体中执行并发读取操作和写入操作。在其它情况下,执行并发读写访问操作可以包括:在一个或多个存储体中执行并发读取操作和写入操作是利用不同列在相同存储体中实现的。

根据本文参考图1至图11描述的各种实现方式,可以改变、修改、更改和/或更新由存储器访问模块1220执行的这些操作中的任何一个或多个或全部操作,由此提供如图1至图11所示的各种具体实施例。另外,在一些情况下,每个电路组件可以是具有长度、宽度和/或各种其它空间定义的各种形状的物理结构的形式,并且该物理结构可以与drc的布局和路线环境中包括的集成电路以及与其相关的各种规则相关联。

此外,参考图12,计算设备1204可以包括模拟器1222,其被配置为使处理器1210生成电路布局和相关组件的一个或多个模拟。模拟器1222可以被称为可以以硬件或软件实现的模拟组件或模块。如果以软件实现,则模拟器1222可以存储在存储器1212或数据库1240中。如果以硬件实现,则模拟器1220可以是被配置为与处理器1210对接的单独的处理组件。在一些情况下,模拟器1222是指spice模拟器,其被配置为生成单元布局和相关组件的spice模拟。spice是带有集成电路重点的模拟程序的缩写,它是开源的模拟电子电路模拟器。另外,spice可以指半导体行业用以检查物理结构设计的完整性并预测物理结构设计的行为的通用软件程序。因此,存储器访问模块1220可以被配置为与模拟器1222对接,以便基于物理电路布局和相关组件的用于分析集成电路的性能特征的一个或多个模拟(包括,例如spice模拟)来生成各种时序数据,包括物理电路布局和相关组件的时序数据。另外,存储器访问模块1220可以被配置为使用电路布局和相关组件的一个或多个模拟(包括,例如spice模拟)来评估其操作行为和条件。

在一些实现方式中,计算设备1204可以包括一个或多个数据库1240,其被配置为存储和/或记录与在物理设计中实现列多路复用技术有关的各种数据和信息。数据库1240可以被配置为存储与电路布局设计和相关组件的集成电路、操作条件、操作行为和/或时序数据有关的数据和信息。另外,数据库1240可以被配置为参考模拟数据(包括,例如spice模拟数据)存储与电路布局以及相关组件和时序数据有关的数据和信息。

权利要求的主题旨在不限于本文提供的实现方式和说明,而是包括那些实现方式的修改形式,包括实现方式的各部分以及根据权利要求的不同实现方式的元件的组合。应当理解,在任何此类实现方式的开发中,例如在任何工程或设计项目中,都应做出许多实现方式专用的决策,以实现开发人员的特定目标,诸如遵守与系统相关的约束条件和与业务相关的约束条件,这可能因实现方式不同而变化。此外,应当理解,这种开发工作可能是复杂且耗时的,但是对于受益于本发明的普通技术人员而言,这仍将是设计,制作和制造的例行工作。

本文描述的是方法的各种实现方式。该方法可以包括为存储器提供一个或多个存储体。该方法可以包括经由位线将读写列多路复用器电路耦合到存储器,包括将写入列多路复用器耦合到位线以用于写入操作,以及将读取列多路复用器耦合到位线以用于读取操作。该方法可以包括经由位线利用写入列多路复用器和读取列多路复用器在存储器的一个或多个存储体中执行并发读取操作和写入操作。

本文描述的是设备的各种实现方式。该设备可以包括具有一个或多个位单元阵列的存储器架构。该设备可以包括经由多条位线耦合到存储器架构的列多路复用器电路,包括耦合到位线以用于写入访问操作的写入列多路复用器和耦合到位线以用于读取访问操作的读取列多路复用器。该设备可以包括逻辑电路,该逻辑电路经由位线用写入列多路复用器和读取列多路复用器在存储器架构的一个或多个位单元阵列中执行并发或单存储器访问操作。该设备可以包括具有一个或多个锁存器的时序电路,该时序电路经布置以在存储器架构的一个或多个位单元阵列中执行并发或单个存储器存取操作时避免位线之间的数据到位线耦合。

本文描述了系统的各种实现方式。该系统可以包括处理器和在其上存储有指令的存储器,该指令在由处理器执行时使处理器访问具有一个或多个存储体的存储器。指令可以使处理器用位线将列多路复用器电路耦合到存储器,包括将写入列多路复用器耦合到位线以用于写入操作,以及将读取列多路复用器耦合到位线以用于读取操作。指令可以使处理器经由位线用写入列多路复用器和读取列多路复用器在存储器的一个或多个存储体中执行并发读写访问操作。

已经详细参考了各种实现方式,在附图和附图中示出了其示例。在以下详细描述中,阐述了许多具体细节以提供对本文提供的发明内容的透彻理解。然而,可以在没有这些具体细节的情况下实践本文提供的发明内容。在一些其它情况下,没有详细描述公知的方法、过程、组件、电路和网络,以免不必要地混淆实施例的细节。

还应该理解,虽然在本文可以使用术语第一、第二等来描述各种元件,但是这些元件不应受到这些术语的限制。这些术语仅用于区分一个元件和另一个元件。例如,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件。第一元件和第二元件分别都是元件,但是它们不应被视为同一元件。

本文提供的本发明的描述中使用的术语是出于描述特定实现方式的目的,并且无意于限制本文提供的发明内容。如本文所提供的发明内容和所附权利要求书中所使用,单数形式的“一”、“一个”和“该”也意图包括复数形式,除非上下文另外明确指出。如本文所使用的术语“和/或”是指并且涵盖一个或多个相关联的所列项目的任何和所有可能的组合。当在本说明书中使用时,术语“包含”和/或“包括”指定存在所述特征、整数、步骤、操作、元件和/或组件,但不包括排除存在或添加一个或多个其它特征、整数、步骤、操作、元件、组件和/或组。

如本文所使用,取决于上下文,术语“如果”可以被解释为表示“当……时”或“在……时”或“响应于确定”或“响应于检测”。类似地,取决于上下文,短语“如果确定”或“如果检测到[陈述的条件或事件]”可以被解释为表示“在确定时”或“响应于确定”或“在检测到[陈述的条件或事件]时”或“响应检测到[陈述的条件或事件]”。可以结合本文描述的各种技术的一些实现方式使用指示在给定点或元件之上或之下的相对位置的术语“上”和“下”;“上部”和“下部”;“向上”和“向下”;“下方”和“上方”;以及其它类似术语。

虽然前述内容针对本文描述的各种技术的实现方式,但是可以根据本文的发明内容设计其它和进一步的实现方式,其可以由所附权利要求确定。

虽然已经用结构特征和/或方法动作专用的语言描述了主题,但是应该理解,所附权利要求书中定义的主题不必限于上述特定特征或动作。更确切而言,上述特定特征和动作被公开为实现权利要求的示例形式。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜