CN108027787A - 伪双端口存储器 - Google Patents

伪双端口存储器 Download PDF

Info

Publication number
CN108027787A
CN108027787A CN201680053088.0A CN201680053088A CN108027787A CN 108027787 A CN108027787 A CN 108027787A CN 201680053088 A CN201680053088 A CN 201680053088A CN 108027787 A CN108027787 A CN 108027787A
Authority
CN
China
Prior art keywords
clock
write
memory
mode
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.)
Granted
Application number
CN201680053088.0A
Other languages
English (en)
Other versions
CN108027787B (zh
Inventor
T·C·Y·郭
N·N·德塞
晶昌镐
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN108027787A publication Critical patent/CN108027787A/zh
Application granted granted Critical
Publication of CN108027787B publication Critical patent/CN108027787B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Static Random-Access Memory (AREA)

Abstract

公开了存储器和用于访问存储器的方法的各方面。存储器包括多个存储器单元,其被配置为在第一模式下在存储器周期中支持读取操作和写入操作以及第二模式下在存储器周期中支持只写操作。存储器还包括被配置为生成用于读取操作的读取时钟和用于写入操作的写入时钟的控制电路。在第一模式下写入时钟的定时是读取时钟的定时的函数,并且在第二模式下是存储器周期的定时。

Description

伪双端口存储器
相关申请的交叉引用
本申请要求于2015年9月15日提交的标题为“PSEUDO DUAL PORT MEMORY”的美国专利申请第14/855,319号的权益,其全部内容通过引用明确并入本文。
技术领域
本公开总体上涉及集成电路,并且更具体地涉及伪双端口(PDP)存储器。
背景技术
双端口存储器在单个时钟周期内处理读取操作和写入操作两者。双端口存储器通常包括与存储器单元阵列一起操作的两个端口,存储器单元阵列可以从两个端口被同时访问。
为了减少存储器占用的面积,可以使用伪双端口(PDP)存储器来代替双端口存储器。PDP存储器的核心是单核存储器,其提供单个存储器访问,而不是像双端口存储器那样提供两个同时的存储器访问。然而,PDP存储器被配置为通过在存储器周期中顺序地执行两个存储器访问来模拟双端口存储器。例如,在特定的存储器周期中,PDP存储器可以执行读取操作,并且然后执行写入操作。
发明内容
公开了一种存储器的各方面。存储器包括多个存储器单元,被配置为在第一模式下在存储器周期中支持读取操作和写入操作以及第二模式下在存储器周期中支持只写操作。存储器还包括控制电路,被配置为生成用于读取操作的读取时钟和用于写入操作的写入时钟。写入时钟响应于在第一模式下读取时钟的重置和在第二模式下存储器周期的开始而被生成。
公开了一种访问存储器的方法的各方面。存储器包括多个存储器单元,被配置为在第一模式下在存储器周期中支持读取操作和写入操作以及在第二模式下在存储器周期中支持只写操作。该方法包括:在第一模式下生成用于读取操作的读取时钟和用于写入操作的写入时钟,其中写入时钟响应于在第一模式下读取时钟的重置而被生成;以及在第二模式下响应于存储器周期的开始来生成用于写入操作的写入时钟。
公开了一种存储器的进一步的方面。存储器包括多个存储器单元,被配置为在第一模式下在存储器周期中支持读取操作和写入操作以及在第二模式下在存储器周期中支持只写操作。存储器还包括控制电路,被配置为生成用于读取操作的读取时钟和用于写入操作的写入时钟。在第一模式下,写入时钟的定时是读取时钟的定时的函数。与在第一模式下相比,写入时钟在第二模式下在存储器周期中较早地出现。
公开了一种存储器的进一步的方面。存储器包括多个存储器单元,被配置为在第一模式下在存储器周期中支持读取操作和写入操作以及在第二模式下在存储器周期中支持只写操作。存储器还包括控制电路,被配置为生成用于读取操作的读取时钟和用于写入操作的写入时钟。写入时钟响应于在第一模式下读取时钟的重置而被生成。与在第一模式下相比,写入时钟在第二模式下在存储器周期中较早地出现。
基于以下详细描述,本文中描述的装置的其他方面对于本领域技术人员而言将变得显而易见,其中存储器的各个方面以示例的方式被示出和描述。这些方面可以以很多不同的形式来实现,并且在不偏离本发明的范围的情况下,其细节可以以各种方式来修改。因此,本文中提供的附图和详细描述本质上被认为是说明性的,而不是限制权利要求的范围。
附图说明
现在将参考附图在详细描述中以示例而非限制的方式给出存储器的各个方面,在附图中:
图1是静态随机存取存储器(SRAM)的示例性实施例的功能框图。
图2是用于SRAM的存储器单元的示例性实施例的示意图。
图3是示出控制器的示例性实施例的功能框图。
图4是示出控制电路的示例性实施例的功能框图。
图5是示出RCLK电路的示例性实施例的功能框图。
图6是示出WCLK电路的示例性实施例的功能框图。
图7A示出了在存储器周期期间出现只写操作时的示例性定时。
图7B示出了在存储器周期期间出现读取操作和写入操作时的示例性定时。
图8是只写模式发生器的示例性实施例的示意图。
图9是BDELAY发生器的示例性实施例的示意图。
图10是WCLK发生器的示例性实施例的示意图。
图11是示出用于访问存储器的方法的示例性实施例的流程图。
具体实施方式
以下结合附图阐述的详细描述旨在作为对本发明的各种示例性实施例的描述,而不旨在表示可以实践本发明的仅有的实施例。为了提供对本发明的全面理解,详细描述包括具体细节。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践本发明。在一些情况下,为了避免模糊本发明的概念,众所周知的结构和组件以框图形式被示出。首字母缩略词和其他描述性术语仅仅为了方便和清楚而被使用,并不意在限制本发明的范围。
贯穿本公开内容呈现的各种存储器可以被实现为独立存储器或者被实现在独立存储器中。这些方面也可以被包括在任何集成电路(IC)或系统中,或集成电路或系统的任何部分(例如,驻留在集成电路或集成电路的一部分中的模块、组件、电路等)中,或任何中间产品中,在中间产品中,集成电路或系统与其他集成电路或系统(例如,视频卡、主板等)或任何最终产品(例如,移动电话、个人数字助理(PDA)、台式计算机、手提电脑、手掌大小的计算机、平板电脑、操作站、游戏机、媒体播放器、基于计算机的模拟器、用于笔记本电脑的无线通信附件等)组合。
本文中使用词语“示例性”来表示用作示例、实例或说明。本文中被描述为“示例性”的任何实施例不一定被解释为比其他实施例优选或有利。类似地,装置的术语“实施例”不要求本发明的所有实施例都包括所描述的组件、结构、特征、功能、过程、优点、益处或操作模式。
术语“连接”、“耦合”或其任何变体表示两个或更多个元件之间的任何直接或间接的连接或耦合,并且可以涵盖在被“连接”或“耦合”在一起的两个元件之间存在一个或多个中间元件。元件之间的耦合或连接可以是物理的、逻辑的或其组合。如本文中使用的,通过使用一个或多个电线、电缆和/或印刷电连接,以及通过使用电磁能量,可以认为两个元件“连接”或“耦合”在一起,电磁能量例如为具有在射频区域、微波区域和光学(可见和不可见)区域(作为若干非限制性和非穷举性示例)中的波长的电磁能量。
本文中使用诸如“第一”、“第二”等之类的指定来对元素的任何引用通常不限制这些元素的数目或顺序。相反,这些指定在本文中用作区分两个或更多个元素或元素的实例的便利方法。因此,对第一和第二元素的引用并不表示只能使用两个元素,也不表示第一元素必须在第二元素之前。
如本文中使用的,对复数的引用包括单数,并且对单数的引用包括复数。
现在将在静态随机存取存储器(SRAM)的上下文中呈现存储器的各个方面。SRAM是需要电力保留数据的易失性存储器。然而,如本领域技术人员将容易理解的,这些方面可以扩展到其他存储器和/或电路配置。其他存储器的示例包括随机存取存储器(RAM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、双倍数据速率RAM(DDRAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、处理器上的通用寄存器、闪存或任何其他合适的存储器。因此,所有对SRAM的引用仅用于说明存储器的示例性方面,应当理解,这些方面可以扩展到广泛的应用。
图1是SRAM的示例性实施例的功能框图。
SRAM 100包括具有用于译码地址并且执行读取和写入操作的支持电路的存储器阵列118。存储器阵列118包括按水平行和垂直列被布置为共享连接的存储器单元114。具体地,每个水平行的存储器单元114共享字线WL,并且每个垂直列的存储器单元114共享一对位线(例如,BL-1a和BL-1b)。存储器阵列118的大小(即,单元的数目)可以根据各种因素(包括具体应用、速度要求、布局和测试要求)以及施加在系统上的整体设计约束而变化。通常,存储器阵列118可以包含数千或数百万个存储器单元。
在图1所示的SRAM的示例性实施例中,存储器阵列118包括以2n个水平行和2m(x)个垂直列布置的(2n×2m(x))个存储器单元114,其中2m是每行的字数并且x是每个字的位数。外围设备(未示出)可以使用通过控制器102分别提供给行译码器104和列译码器106的(n+m)位宽的地址来随机地访问存储器阵列118中的任何字(即,x个单元)。如稍后将更详细地描述的,控制器102通过在存储器周期中提供用于读取操作和写入操作的定时来负责PDP存储器操作。来自控制器102的输出包括提供给行译码器104的输入的n位地址和提供给列译码器106的输入的m位地址。列译码器106提供2m个输出(WM(1)-WM(2m)),其中为每个不同的地址输入组合断言不同的输出。
输出被提供给x个多路复用器108。对于写入存储器访问,每个多路复用器是2m:1多路复用器,其基于来自列译码器106的输出在2m个位线对之间切换来自写入驱动器110的x个输入之一。作为示例,每行存储四(4)个128位字的存储器阵列需要128个4:1多路复用器。每个多路复用器的输入耦合到来自写入驱动器110的128个输出之一。基于译码的m位地址,每个多路复用器将其来自写入驱动器110的输入耦合到4个位线对之一。4个位线对耦合到四个存储器单元,每个存储器单元存储一行中的不同字的相应位。例如,4个存储器单元中的第一存储器单元可以存储第一字的最低有效位(LSB),4个存储器单元中的第二存储器单元可以存储第二字的LSB,4个存储器单元中的第三存储器单元可以存储第三字的LSB,并且4个存储器单元中的第四存储器单元可以存储第四字的LSB。
因此,当“写入使能”信号被断言时,写入驱动器110将从外围设备(未示出)接收的写入数据驱动到x个位线对BL-a和BL-b上,其中x个多路复用器中的每个驱动一对位线(例如,BL-1a和BL-1b)。行译码器104将n位地址转换成2n个字线输出。由行译码器104为每个不同的n位行地址断言不同的字线WL。结果,具有断言的字线WL的水平行中的2m(x)个存储器单元114中的每一个存储器单元通过其存取晶体管连接到一对2m(x)个位线(例如,BL-1a和BL-1b),如将在下面参考图2更详细地描述的。写入数据通过x个多路复用器108被驱动到所选择的位线对(例如,BL-1a和BL-1b)上,并且利用断言的字线WL被写入到存储器单元。
对于读取存储器访问,行译码器104将n位地址转换成2n个读取字线之一。由行译码器104为每个不同的n位行地址断言不同的读取字线WL。结果,具有断言的读取字线WL的水平行中的2m(x)个存储器单元中的每个存储器单元通过其存取晶体管连接到2m(x)个读取位线BL之一,如将在下面参考图2更详细地描述的。2m(x)个读取位线BL用于将由2m(x)个存储器单元存储的位传输到x个多路复用器108,其中每个多路复用器108从在读取位线BL上传输到该多路复用器108的输入的2m个位中选择一个位。来自x个多路复用器108的所选择的位被提供给数据锁存器112,用于输出数据。当“读取使能”信号被断言时,所选择的位准备好用于数据锁存器112。
如前所述,控制器102通过在存储器周期中提供用于读取操作和写入操作的定时来负责PDP存储器操作。存储器周期由输入到控制器102的“系统时钟”来定义。读取操作和写入操作的定时从内部“读取时钟”和“写入时钟”得到,内部“读取时钟”和“写入时钟”用于分别将来自外围设备的“读取地址”输入和“写入地址”输入多路复用到地址译码器(即,行译码器104和列译码器106)。“读取时钟”由“读取使能”设置,并且由“读取时钟重置”重置。类似地,“写入时钟”在读取操作完成时由“写入使能”设置,并且由“写入时钟重置”重置。“读取使能”和“写入使能”被输入到从外围设备控制的控制器102。“读取时钟重置”和“写入时钟重置”从存储器阵列118中的跟踪电路被输入到控制器102。
如本文中使用的,关于时钟或其他信号的术语“设置”和“重置”旨在描述这样的时钟或其他信号的两个不同的逻辑状态,而不管极性如何。作为示例,时钟或其他信号可以被描述为在被设置时具有高逻辑状态(即,逻辑“1”状态),而在被重置时具有低逻辑状态(即,逻辑状态“0”)。或者,时钟或其他信号可以被描述为被设置为低逻辑状态以及被重置到高逻辑状态,如在反相时钟或信号的情况下可能是这样的。因此,本文中所使用的术语“设置”和“重置”应当没有定义的极性,而应当被广泛地解释为表示参考彼此的不同的逻辑状态。
在所描述的示例性实施例中,跟踪电路包括存储器阵列中的一列虚拟单元116。每个虚拟单元116被配置为模拟一行存储器单元114的操作。每个虚拟单元116连接到用于其一行存储器单元114的相同的WL。定时发生器120用于从连接到断言的WL的虚拟单元116监测虚拟BL。具体地,定时发生器门限检测虚拟BL以在读取操作和/或写入操作期间跟踪所选择的存储器单元114的存取时间。作为示例,在读取操作期间,定时发生器120监测虚拟BL,并且当存储在虚拟单元116中的已知位出现在虚拟BL上时输出“读取时钟重置”。类似地,在写入操作期间,定时发生器120监测虚拟BL,并且当通过写入驱动器110被写入到虚拟单元的已知位出现在虚拟BL上时输出“写入时钟重置”。在至少一个示例性实施例中,定时发生器120也可以用于生成“写入就绪”信号。“写入就绪”信号可以由控制器使用以满足在读取操作之后的写入操作的某些内部定时约束。
每个存储器单元114被配置为存储一位数据(例如,逻辑1或逻辑0)。图2是用于SRAM的存储器单元200的示例性实施例的示意图。存储器单元200以六晶体管(6T)配置来实现。然而,如本领域技术人员将容易理解的,单元200可以用四晶体管(4T)或任何其他合适的晶体管配置来实现。
存储器单元200被示出为具有两个反相器202、204。第一反相器202包括p沟道晶体管206和n沟道晶体管208。第二反相器204包括p沟道晶体管210和n沟道晶体管212。在所描述的实施例中,反相器202和204由VDD供电并且具有返回VSS(例如,接地)。第一反相器202和第二反相器204互连以形成交叉耦合的锁存器。第一n沟道存取晶体管214将来自第二反相器204的输出节点216耦合到位线BL-a,并且第二n沟道存取晶体管218将来自第一反相器202的输出节点220耦合到位线BL-b(其值与位线BL-a的值相反或反相)。存取晶体管214、218的栅极耦合到字线WL。
可以通过将位线BL-a和BL-b设置为要被写入到存储器单元200的值并且断言字线WL来发起写入操作。字线WL可以在要被写入的值(例如,写入数据)被提供给位线BL-a和BL-b之前被断言。作为示例,可以通过将位线BL-a设置为逻辑电平0并且将位线BL-b设置为逻辑1来将逻辑1写入到存储器单元200。位线BL-a处的逻辑电平0通过存取晶体管214被施加到第二反相器204的输入,这转而迫使第二反相器204的输出节点220到VDD。第二反相器204的输出节点220被施加到第一反相器202的输入,这转而迫使第一反相器202的输出节点216到VSS。通过对位线BL-a和BL-b的值进行反相,可以将逻辑电平0写入存储器单元200。写入驱动器110被设计为比存储器单元200中的上拉晶体管(206和210)更强,使得其可以超控交叉耦合的反相器202、204的先前的状态。
一旦写入操作完成,字线就被解除断言,从而使得存取晶体管214和218将位线BL-a和BL-b与两个反相器202、204断开连接。两个反相器202、204之间的交叉耦合保持反相器输出的状态,只要电力被施加到存储器单元200。
存储器单元200根据存储在节点216和220处的数据值来存储数据。如果存储器单元200存储逻辑高(即,“1”),则节点216处于逻辑高并且节点220处于逻辑低(即,“0”)。如果存储器单元200存储逻辑低,则节点216处于逻辑低并且节点220处于逻辑高。在读取操作期间,差分位线BL-1a和BL-1b由预充电电路预充电。字线WL然后被断言,从而导通n沟道晶体管214、218。
如果存储器单元200存储逻辑高,则位线BL-1a保持经由n沟道晶体管214被充电,并且互补位线BL-1b经由n沟道晶体管218被放电。如果存储器单元200存储逻辑低,则位线BL-1a经由n沟道晶体管214被放电,并且互补位线BL-1b保持经由n沟道晶体管218被充电。
图3是示出控制器的示例性实施例的功能框图。控制器102包括读取端口输入电路310、写入端口输入电路320、控制电路330和多路复用器340。读取端口输入电路310、写入端口输入电路320和多路复用器340一起用于在控制电路330的控制下将来自外围设备的“读取地址”和“写入地址”多路复用到行译码器和列译码器(参见图1)。
读取端口输入电路310被配置为锁存器。在这种配置中,读取端口输入电路310从外围设备(未示出)接收“读取地址”,其在读取端口输入电路310被“读取时钟”使能时被输出,作为内部“读取地址”303。内部“读取地址”303被提供给多路复用器340的一个输入。
写入端口输入电路320被配置为触发器。在这种配置中,写入端口输入电路320从外围设备(未示出)接收“写入地址”,其在被“从时钟”和“写入时钟”使能时被输出,作为内部“写入地址”305。内部“写入地址”被提供给多路复用器340的另一输入。
控制电路330使能PDP存储器操作,其在相同的存储器周期中提供读取操作,之后提供写入操作。存储器周期由输入到控制器102的“系统时钟”来定义。控制电路330通过以下来使能PDP存储器操作:提供由读取端口输入电路310和写入端口输入电路320使用以生成内部“读取地址”303和内部“写入地址”305的“读取时钟”、“写入时钟”和“从时钟”,并且控制内部“读取地址”和内部“写入地址”到行译码器104和列译码器106(参见图1)的多路复用。多路复用由控制电路330提供给多路复用器340的选择位来控制。选择位在本文中称为“B_DELAY”。
在所描述的示例性实施例中,控制电路330被配置为支持两种模式。在第一模式下,控制电路330在相同的存储器周期中支持随后是写入操作的读取操作。在第二模式下,控制电路330在存储器周期中支持只写操作。
在第一模式下,“读取时钟”由“读取使能”设置。在设置了“读取时钟”之后,“读取地址”通过读取端口输入电路310被提供给多路复用器340的输入。来自控制电路330的B_DELAY信号使得多路复用器340输出“读取地址”,作为行译码器104和列译码器106(未示出)的“地址输入”,以执行读取操作。一旦读取操作完成,“读取时钟重置”由控制电路330用来重置“读取时钟”。
一旦读取操作完成,“写入时钟”由“写入使能”设置。在设置了“写入时钟”之后,“写入地址”通过写入端口输入电路320被提供给多路复用器340的输入。来自控制电路330的B_DELAY信号使得多路复用器340输出“写入地址”,作为行译码器104和列译码器106(参见图1)的“地址输入”,以执行写入操作。一旦写入操作完成,“写入时钟重置”由控制电路330用来重置“写入时钟”。
在第二模式下,“读取使能”不是从外围设备发送的。结果,“读取时钟”未被激活,并且不执行读取操作。在“读取时钟”无效的情况下,在“系统时钟”转变时在存储器周期开始时,“写入时钟”由“写入使能”来设置。类似于第一模式,一旦“写入时钟”被设置,“写入地址”就通过写入端口输入电路320被提供给多路复用器340的输入。来自控制电路330的B_DELAY信号使得多路复用器340输出“写入地址”,作为行译码器104和列译码器106(参见图1)的“地址输入”以执行写入操作。一旦写入操作完成,“写入时钟重置”由控制电路330用来重置“写入时钟”。
图4是示出控制电路330的示例性实施例的功能框图。控制电路330包括用于生成“读取时钟”的RCLK电路402、用于生成“写入时钟”的WCLK电路406和用于生成“从时钟”的SCLK电路404。
RCLK电路402作为锁存器来操作,其中锁存器的输出由其输入来设置和重置。在所描述的示例性实施例中,来自RCLK电路402的输出是“读取时钟”。“读取时钟”在“系统时钟”转变时由“读取使能”来设置,并且在读取操作完成时由“读取时钟重置”重置。“读取时钟”被提供给如先前讨论的读取端口输入电路310(参见图3)和WCLK电路406。作为反相的“读取时钟”的“读取锁存器输出”被提供给WCLK电路406。
WCLK电路406作为触发器来操作,其中触发器的输出在被使能时由其输入来设置和重置。在所描述的示例性实施例中,来自WCLK电路406的输出是“写入时钟”。WCLK电路406被无效的“读取时钟”使能。在“读取时钟”无效时,“写入时钟”由“写入使能”设置,并且由“写入时钟重置”重置。因此,即使在“系统时钟”的转变之前由外围设备设置“写入使能”,WCLK电路406延迟“写入时钟”的设置,直到读取操作完成(即,“读取时钟”被重置)。当存储器以只写模式操作时,“读取时钟”保持无效,并且因此,“写入时钟”由在存储器周期的开始(即,“系统时钟”的转变)时出现的“写入使能”设置。以稍后更详细地描述的方式,来自RCLK电路402的“读取锁存器输出”用于只写模式。WCLK电路406还生成在写入操作期间有效的B_DELAY信号。B_DELAY信号控制地址多路复用器340(参见图3)的操作。
SCLK电路404生成“从时钟”。“从时钟”用于使能WCLK电路406。“从时钟”也被输出到写入端口输入电路320(参见图3)。“从时钟”可以用于满足内部定时约束。BLATCH信号用于生成“从时钟”,该“从时钟”在BLATCH信号之后,具有某个预定的延迟,以确保满足内部定时约束。
图5是示出RCLK电路的示例性实施例的功能框图。RCLK电路402包括读取锁存器502和RCLK发生器504。
读取锁存器502提供锁存功能。来自读取锁存器502的输出“读取锁存器输出”在“系统时钟”转变时由“读取使能”设置为低逻辑电平,并且在读取操作完成时由“读取时钟重置”重置到高逻辑电平。“读取锁存器输出”从RCLK电路402输出到WCLK电路406。“读取时钟”由RCLK发生器504从“读取锁存器输出”生成。RCLK发生器504用于对“读取锁存器输出”反相,以向“读取时钟”输出提供足够的驱动。
图6是示出WCLK电路的示例性实施例的功能框图。WCLK电路406包括写入锁存器602、只写模式发生器604、B_DELAY发生器606和WCLK发生器608。
写入锁存器602提供锁存功能。来自写入锁存器602的输出(本文中称为BLATCH*)在“系统时钟”转变时由“写入使能”设置,并且在写入操作完成时由“写入时钟重置”重置。如前所述,BLATCH信号被提供给SCLK电路404。
只写模式发生器604用于生成WR_ONLY信号以指示存储器正在以只写模式操作。只写模式发生器604可以被实现为在写入锁存器在存储器周期开始时被设置时提供WR_ONLY信号的逻辑电路,WR_ONLY信号指示在没有“读取时钟”的情况下存储器正在以只写模式操作。一旦来自写入锁存器602的BLATCH信号被设置,模式发生器通过监测来自RCLK电路402的“读取锁存器输出”来确定“读取时钟”是否不存在。只写模式发生器604确定BLATCH信号是从作为反相的BLATCH信号的、从写入锁存器602输出的BLATCH*设置的。
B_DELAY发生器606也可以被实现为生成用于控制地址多路复用器340(参见图3)的B_DELAY信号的逻辑电路。B_DELAY发生器606还生成作为反相的B_DELAY信号的B_DELAY_N。B_DELAY_N由WCLK发生器608用来生成“写入时钟”。B_DELAY发生器606使用BLATCH信号和“从时钟”来确定“系统时钟”转变之后的存储器访问周期。在存储器访问周期期间,当WR_ONLY信号指示存储器处于只写模式时,来自B_DELAY发生器的输出跟踪BLATCH输入信号。当外围设备请求存储器在相同的存储器周期中执行读取操作和写入操作时,尽管BLATCH信号由有效的“读取时钟”设置,但是来自B_DELAY发生器606的输出也被迫使进入无效状态。在这种模式下,一旦读取操作完成,来自B_DELAY发生器606的输出就被驱动进入有效状态。在有效状态下,地址多路复用器340(参见图3)被切换,以通过B_DELAY信号将“写入地址”多路复用到行译码器104和列译码器106(参见图1),并且WCLK发生器608由B_DELAY_N信号触发以为写入操作做好准备。
WCLK发生器608也可以被实现为逻辑电路。当“写入就绪”信号指示存储器准备好执行写入操作时,WCLK发生器608用于根据来自B_DELAY发生器606的B_DELAY_N信号生成“写入时钟”。
图7A示出了在存储器周期期间只写操作的示例性定时图。
“系统时钟”的前沿标记先前的存储器周期的结束和新的存储器周期的开始。外围设备在“系统时钟”的前沿之前设置“读取使能”和“写入使能”的状态。在图7A的定时图中,“读取使能”未被断言。仅“写入使能”被断言,这表示存储器针对这个时钟周期以只写模式操作。
在“写入使能”有效的情况下,BLATCH信号在“系统时钟”的前沿之后被设置。BLATCH信号用于生成“从时钟”,“从时钟”在BLATCH信号之后,具有某个预定的延迟,以确保满足内部定时约束。
在只写模式下,WR_ONLY信号在“系统时钟”的前沿之后被断言。在这种模式期间没有读取操作,所以“读取时钟”在整个存储器周期期间保持无效。
在没有“读取时钟”的情况下,B_DELAY_N信号出现在“系统时钟”的前沿之后。如前所述,当BLATCH信号有效并且“读取时钟”无效时,B_DELAY_N信号被迫使进入有效模式。一旦B_DELAY_N信号有效,一旦存储器准备好进行写入操作,则生成“写入时钟”。在这种模式下,“写入就绪”信号在整个存储器周期期间被设置,所以“写入时钟”在B_DELAY_N信号转变时被设置。作为反相的B_DELAY_N信号的B_DELAY信号被提供给地址多路复用器340(参见图3)。
当写入操作完成时,BLATCH信号被迫使进入无效状态。BLATCH信号的重置重置“从时钟”、WR_ONLY信号、B_DELAY和B-DELAY_N信号以及“写入时钟”。
图7B示出了在存储器周期期间出现的读取操作和写入操作的示例性定时。
“系统时钟”的前沿标记先前的存储器周期的结束和新的存储器周期的开始。外围设备在“系统时钟”的前沿之前设置“读取使能”和“写入使能”的状态。在图7B的定时图中,“读取使能”和“写入使能”都被断言。
BLATCH信号在“系统时钟”的前沿之后被设置。BLATCH信号用于生成“从时钟”,“从时钟”在BLATCH信号之后,具有某个预定的延迟,以确保满足内部定时约束。
在这种模式下,WR_ONLY信号无效,这表明在相同的存储器周期内的读取操作和写入操作。在WR_ONLY信号无效的情况下,“读取时钟”在“系统时钟”的前沿之后被设置。当读取操作完成时,“读取时钟”被重置。
“读取时钟”的重置迫使B_DELAY和B_DELAY_N进入有效状态。如前所述,当BLATCH信号有效并且“读取时钟”无效时,B_DELAY_N信号被迫使进入有效模式。一旦B_DELAY_N信号有效,一旦存储器准备好进行写入操作,则生成“写入时钟”。在这种模式下,“写入就绪”信号在整个存储器周期期间被设置,所以“写入时钟”在B_DELAY_N信号转变时被设置。作为反相的B_DELAY_N信号的B_DELAY信号被提供给地址多路复用器340(参见图3)。
当写入操作完成时,BLATCH信号被迫使进入无效状态。BLATCH信号的重置重置“从时钟”、WR_ONLY信号、B_DELAY和B-DELAY_N信号以及“写入时钟”。
图8是只写模式发生器的示例性实施例的示意图。只写模式发生器604包括p沟道晶体管802、n沟道晶体管804和806、反相器808和810以及或非门812。
晶体管802和804被配置为反相器805,其中p沟道晶体管802的源极耦合到VDD并且n沟道晶体管804的源极通过n沟道晶体管806耦合到GND。反相器805具有耦合到p沟道晶体管802的栅极和n沟道晶体管804的栅极的公共输入。在所描述的示例性实施例中,来自RCLK电路402(参见图4)的“读取锁存器输出”被提供给公共输入。晶体管802和804的漏极耦合在一起以提供反相器805的输出。
提供用于反相器805的输出的接地路径的n沟道晶体管806包括耦合到n沟道晶体管804的源极的漏极和耦合到GND的源极。晶体管806具有提供输入的栅极。在所描述的示例性实施例中,来自写入锁存器602(参见图6)的BLATCH*信号被输入到晶体管806的栅极。
或非门812生成通过用BLATCH*信号选通来自反相器805的输出而被输出的WR_ONLY信号。反相器808和810形成交叉耦合的锁存器,以阻止反相器805的输出在某些操作条件下浮动。
或非门812作为具有使能输入的反相器来操作。在这种配置中,当BLATCH*信号处于低逻辑状态时,或非门812对来自反相器805的输出进行反相。结果,当BLATCH*信号处于低逻辑状态时,WR_ONLY信号跟随“读取锁存器输出”信号。当BLATCH*信号处于高逻辑状态时,WR_ONLY信号(即,或非门812的输出)被迫使进入低逻辑状态,而不管“读取锁存器输出”信号的状态如何。
在只写模式下,BLATCH*信号最初处于高逻辑状态,这迫使n沟道晶体管806进入导通状态。“读取锁存器输出”信号也处于高逻辑状态,这迫使p沟道晶体管802进入截止状态并且迫使n沟道晶体管804进入导通状态。结果,从反相器805输出到或非门812的输入通过晶体管804和806被下拉到GND。
在“系统时钟”转变时,BLATCH*信号被驱动进入低逻辑状态,从而迫使n沟道晶体管806进入截止状态。在n沟道晶体管806处于截止状态时,来自反相器805的输出与GND断开连接。“读取时钟”在这种模式下无效,导致在“系统时钟”转变之后保持高逻辑状态的“读取锁存器输出”信号。结果,p沟道晶体管802保持截止状态,并且n沟道晶体管804保持导通状态。交叉耦合的反相器808和810在这个周期期间将来自反相器805的输出保持处于低逻辑状态。WR_ONLY信号通过反相器805的低逻辑状态被迫使进入高逻辑状态,并且写入操作被执行。
在写入操作完成之后,BLATCH*信号被驱动进入高逻辑状态,这迫使n沟道晶体管806进入导通状态。在这种状态下,n沟道晶体管806向来自反相器805的输出提供接地路径。在存储器周期的其余部分,提供给或非门812的输入的BLATCH*信号也迫使WR_ONLY信号进入低逻辑状态。
在读取和写入模式下,BLATCH*信号最初处于高逻辑状态,这迫使n沟道晶体管806进入导通状态。“读取锁存器输出”也处于高逻辑状态,这迫使p沟道晶体管802进入截止状态并且迫使n沟道晶体管804进入导通状态。结果,从反相器805输出到或非门812的输入通过晶体管804和806被下拉到GND。
在“系统时钟”转变时,BLATCH*信号被驱动进入低逻辑状态,从而迫使n沟道晶体管806进入截止状态。在n沟道晶体管806处于截止状态时,来自反相器805的输出与GND断开连接。“读取时钟”在“系统时钟”转变之后被设置,导致被驱动进入低逻辑状态的“读取锁存器输出”信号。结果,p沟道晶体管802被迫使进入导通状态,并且n沟道晶体管804被迫使进入截止状态。来自反相器的输出通过p沟道晶体管802被上拉到VDD(即,高逻辑状态)。在BLATCH*信号处于低逻辑状态时,从或非门812输出的WR_ONLY信号在读取操作被执行的同时保持处于低逻辑状态。
在读取操作完成之后,“读取锁存器输出”信号被驱动进入高逻辑状态,由此迫使p沟道晶体管802进入截止状态并且迫使n沟道晶体管804进入导通状态。交叉耦合的反相器808和810在这个周期期间将来自反相器805的输出保持处于高逻辑状态。在来自反相器805的输出处于高逻辑状态时,WR_ONLY信号在写入操作被执行的同时保持处于低逻辑状态。
在写入操作完成之后,BLATCH*信号被驱动进入高逻辑状态,这迫使n沟道晶体管806进入导通状态。在这种状态下,n沟道晶体管806向来自反相器805的输出提供接地路径。在存储器周期的其余部分,提供给或非门812的输入的BLATCH*信号也保持WR_ONLY信号进入低逻辑状态。
图9是BDELAY发生器的示例性实施例的示意图。BDELAY发生器606包括p沟道晶体管902、n沟道晶体管904、906和908、反相器910以及或非门912和914。
晶体管902和904被配置为反相器905,其中p沟道晶体管902的源极耦合到VDD并且n沟道晶体管904的源极通过n沟道晶体管906和908耦合到GND。反相器905具有耦合到p沟道晶体管902的栅极和n沟道晶体管904的栅极的公共输入。在所描述的示例性实施例中,来自写入锁存器602(参见图6)的BLATCH信号被提供给公共输入。晶体管902和904的漏极耦合在一起以提供反相器905的输出。
提供用于反相器905的输出的一个接地路径的n沟道晶体管906包括耦合到n沟道晶体管904的源极的漏极和耦合到GND的源极。晶体管906具有提供输入的栅极。在所描述的示例性实施例中,来自SCLK电路404(参见图4)的“从时钟”被输入到晶体管906的栅极。
提供用于反相器905的输出的另一接地路径的n沟道晶体管908包括耦合到n沟道晶体管904的源极的漏极和耦合到GND的源极。晶体管908具有提供输入的栅极。在所描述的示例性实施例中,来自RCLK电路402(参见图4)的“读取时钟”被输入到晶体管908的栅极。
或非门912通过用“读出时钟”选通来自反相器905的输出来生成输出。反相器910用于阻止反相器905的输出在某些操作条件下浮动。
或非门912作为具有使能输入的反相器来操作。在这种配置中,当“读取时钟”处于低逻辑状态时,或非门912对来自反相器905的输出进行反相。结果,当“读取时钟”处于低逻辑状态时,来自或非门912的输出跟随BLATCH信号。当“读取时钟”处于高逻辑状态时,来自或非门912的输出被迫使进入低逻辑状态,而不管BLATCH信号的状态如何。来自或非门912的输出是B_DELAY_N信号。
或非门914也作为具有使能输入的反相器来操作。在这种配置中,当来自只写模式发生器604(参见图6)的WR_ONLY信号处于低逻辑状态时,或非门914对B_DELAY_N信号进行反相。结果,当“读取时钟”和WR_ONLY信号都处于低逻辑状态时,来自或非门914的输出提供反相的BLATCH信号作为B_DELAY信号。当WR_ONLY信号处于高逻辑状态时,B_DELAY信号被迫使进入低逻辑状态,而不管B_DELAY_N信号的状态如何。当WR_ONLY信号处于低逻辑状态并且“读取时钟”处于高逻辑状态时,B_DELAY信号被迫使进入高逻辑状态,而不管BLATCH信号的状态如何。
在只写模式下,“从时钟”和“读取时钟”最初处于低逻辑状态,这迫使n沟道晶体管906和908进入它们各自的截止状态。BLATCH信号也处于低逻辑状态,这迫使p沟道晶体管902进入导通状态并且迫使n沟道晶体管904进入截止状态。结果,从反相器905输出到或非门912的输入通过晶体管902被上拉到VDD
在“系统时钟”转变时,BLATCH信号被驱动进入高逻辑状态,由此迫使p沟道晶体管902进入截止状态并且迫使n沟道晶体管904进入导通状态。此后不久,“从时钟”被驱动进入高逻辑状态,从而迫使n沟道晶体管906进入导通状态。在n沟道晶体管906处于导通状态时,来自反相器905的输出通过晶体管904和906被下拉到GND。“读取时钟”在这个模式下无效,并且结果,n沟道晶体管908保持处于截止状态。在“读取时钟”处于低逻辑状态时,BLATCH信号被传送到或非门912的输出,这表示B_DELAY_N信号在写入操作期间跟随BLATCH信号。在“系统时钟”转变之后,WR_ONLY信号也被驱动进入高逻辑状态,从而迫使B_DELAY信号在写入操作期间进入低逻辑状态。
BLATCH信号在写入操作完成之后被驱动进入低逻辑状态,这迫使p沟道晶体管902进入导通状态并且迫使n沟道晶体管904进入截止状态。在这种状态下,p沟道晶体管902将反相器905的输出上拉到VDD。此后不久,“从时钟”被驱动进入低逻辑状态,从而迫使n沟道晶体管906进入截止状态。在“读取时钟”处于低逻辑状态时,来自或非门912的输出(即,B_DELAY_N信号)跟随BLATCH信号,这表示B_DELAY_N信号在存储器周期的其余部分被迫使进入低逻辑状态。在写入操作完成之后,WR_ONLY信号被迫使进入低逻辑状态,并且结果,B_DELAY信号在存储器周期的其余部分被迫使进入高逻辑状态。
在读取和写入模式下,“从时钟”和“读取时钟”最初处于低逻辑状态,这迫使n沟道晶体管906和908进入它们各自的截止状态。BLATCH信号也处于低逻辑状态,这迫使p沟道晶体管902进入导通状态并且迫使n沟道晶体管904进入截止状态。结果,从反相器905输出到或非门912的输入通过晶体管902被上拉到VDD
在“系统时钟”转变时,BLATCH信号被驱动进入高逻辑状态,从而迫使p沟道晶体管902进入截止状态并且迫使n沟道晶体管904进入导通状态。此后不久,“读取时钟”和“从时钟”被驱动进入高逻辑状态,从而迫使n沟道晶体管906和908进入导通状态。在n沟道晶体管906和908处于导通状态时,来自反相器905的输出通过包括晶体管904和906的一条路径和包括晶体管904和908的另一条路径被下拉到GND。然而,“读取时钟”迫使或非门912的输出(即,B_DELAY_N信号)进入低逻辑状态。B_DELAY_N信号的低逻辑状态迫使B_DELAY信号进入高状态,其中WR_ONLY处于低逻辑状态。换言之,B_DELAY_N和B_DELAY信号分别被迫使进入低逻辑状态和高逻辑状态,从而防止这些信号跟随BLATCH信号,并且结果,延迟了“写入时钟”,直到读取操作完成。
在读取操作完成之后,BLATCH信号保持处于高逻辑状态。“读取时钟”被驱动进入低逻辑状态,从而迫使n沟道晶体管908进入截止状态。然而,由于“从时钟”保持处于高逻辑状态,所以来自反相器905的输出继续通过n沟道晶体管906被下拉到GND。在“读取时钟”处于低逻辑状态时,B_DELAY_N跟随BLATCH信号。在“读取时钟”和WR_ONLY信号处于低逻辑状态时,B_DELAY信号是反相的B_DELAY_N信号。更具体地,B_DELAY_N信号被驱动进入高逻辑状态,并且B_DELAY信号整个写入操作期间被驱动进入低逻辑状态。
在写入操作完成之后,BLATCH信号被迫使进入低逻辑状态,这迫使p沟道晶体管902进入导通状态并且迫使n沟道晶体管904进入截止状态。此后不久,“从时钟”被迫使进入低逻辑状态,从而迫使n沟道晶体管906进入截止状态。结果,来自反相器的输出通过晶体管902被上拉到VDD。当“读取时钟”处于低逻辑状态时,B_DELAY_N跟随BLATCH信号并且被驱动进入低逻辑状态。在“读取时钟”和WR_ONLY信号处于低逻辑状态时,B_DELAY信号被驱动进入高逻辑状态。B_DELAY_N和B_DELAY信号的状态在存储器周期的持续期间保持处于这个状态。
图10是写入时钟发生器的示例性实施例的示意图。写入时钟发生器608包括与非门1002和反相器1004。
与非门1002的输入分别耦合到“写入就绪”和B_DELAY_N。与非门1002的目的是延迟由B_DELAY_N信号生成“写入时钟”,直到存储器准备好进行写入操作,如“写入就绪”信号所指示的。
当存在“写入就绪”信号时,与非门1002结合反相器1004从B_DELAY_N信号生成“写入时钟”。当“写入就绪”信号处于低逻辑状态时,无论是在只写模式下在存储器周期的开始还是在读/写模式下在读取操作完成之后,“写入时钟”保持低逻辑状态,尽管B_DELAY_N信号处于高逻辑状态。当存储器准备好进行写入操作时,“写入就绪”信号被迫使进入高逻辑状态,这转而迫使“写入时钟”进入高逻辑状态。“写入时钟”保持高逻辑状态,直到B_DELAY_N信号在写入操作完成时被迫使进入低逻辑状态。
图11是示出访问存储器的方法的示例性实施例的流程图。存储器包括多个存储器单元,被配置为在第一模式下在存储器周期中支持读取和写入操作以及在第二模式下在存储器周期中支持只写操作。
在框1102中,方法以存储器访问开始。存储器访问可以是来自远程处理器的命令或引起存储器开始存储器访问的其他合适的信号或提示。在框1104中,存储器随后进入用于存储器访问的模式。如上所述,存储器进入第一模式以在即将到来的存储器周期中执行读取操作和写入操作,或者存储器进入第二模式以在即将到来的存储器周期中执行只写操作。
当存储器进入第一模式时,在框1106中为读取操作生成读取时钟。在读取操作之后,在框1108中为写入操作生成写入时钟。在一个示例性实施例中,通过响应于存储器周期的开始来设置读取时钟并且当读取操作完成时重置读取时钟来生成读取时钟。在相同的示例性实施例中,通过响应于读取时钟的重置来设置写入时钟并且当写入操作完成时重置写入时钟来生成写入时钟。在写入操作完成之后,在框1100中确定是否需要另一存储器访问。如果不需要另外的存储器访问,则在框1112中,存储器可以进入待机模式,直到下一存储器访问。另一方面,如果需要另外的存储器访问,则该方法循环回到框1104以重复该过程。
当存储器进入第二模式时,在框1114中为写入操作生成写入时钟。在一个示例性实施例中,通过响应于存储器周期的开始来设置写入时钟并且当写入操作完成时重置写入时钟来生成写入时钟。在写入操作完成之后,在框1100中确定是否需要另一存储器访问。如果不需要另外的存储器访问,则在框1112中,存储器可以进入待机模式,直到下一存储器访问。另一方面,如果需要另外的存储器访问,则该方法循环回到框1104以重复该过程。
提供之前的描述是为了使本领域技术人员能够充分理解本公开的全部范围。本文中公开的各种示例性实施例的修改对于本领域技术人员来说将是显而易见的。因此,权利要求不应当限于本文中描述的公开内容的各个方面,而应当被赋予与权利要求的语言相一致的全部范围。本领域普通技术人员已知的或以后将会知道的、遍及本公开内容所描述的各个方面的要素的所有结构和功能等同物通过引用被明确地并入本文,并且旨在被权利要求所涵盖。而且,本文中公开的任何内容都不旨在奉献给公众,不管这些公开内容是否被明确地记载在权利要求中。所有的权利要求要素都不应当根据“美国法典”第35条§112(f)的规定来解释,除非要素使用短语“用于......的装置”被明确地记载,或者在方法权利要求的情况下,要素使用短语“用于......的步骤”被记载。

Claims (27)

1.一种存储器,包括:
多个存储器单元,被配置为在第一模式下在存储器周期中支持读取操作和写入操作以及在第二模式下在所述存储器周期中支持只写操作;以及
控制电路,被配置为生成用于所述读取操作的读取时钟和用于所述写入操作的写入时钟,其中所述写入时钟响应于以下各项而被生成:
在所述第一模式下所述读取时钟的重置,以及
在所述第二模式下所述存储器周期的开始。
2.根据权利要求1所述的存储器,其中所述控制电路还被配置为:通过响应于在所述第一模式下所述读取时钟的重置而设置所述写入时钟来生成所述写入时钟。
3.根据权利要求1所述的存储器,其中所述控制电路还被配置为:通过响应于在所述第二模式下所述存储器周期的开始而设置所述写入时钟来生成所述写入时钟。
4.根据权利要求1所述的存储器,其中所述控制电路包括:
读取时钟电路,被配置为响应于在所述第一模式下所述存储器周期的开始来设置所述读取时钟,以及当所述读取操作完成时重置所述读取时钟;以及
写入时钟电路,被配置为响应于以下各项来设置所述写入时钟:
在所述第一模式下所述读取时钟的重置;以及
在所述第二模式下所述存储器周期的开始。
5.根据权利要求1所述的存储器,其中所述写入时钟电路还被配置为当所述写入操作完成时重置所述写入时钟。
6.根据权利要求1所述的存储器,其中所述控制电路包括写入时钟电路,所述写入时钟电路包括:
第一电路,具有输出,所述输出被配置为响应于所述存储器周期的开始而被设置并且当所述写入操作完成时被重置;以及
第二电路,被配置为当所述第一电路的输出被设置并且所述读取时钟处于重置状态时设置所述写入时钟。
7.根据权利要求6所述的存储器,其中:
所述第一电路包括锁存器;并且
所述第二电路包括用于选通所述第一电路的输出和所述读取时钟的逻辑。
8.一种访问存储器的方法,所述存储器包括多个存储器单元,所述多个存储器单元被配置为在第一模式下在存储器周期中支持读取操作和写入操作以及在第二模式下在所述存储器周期中支持只写操作,所述方法包括:
在所述第一模式下,生成用于所述读取操作的读取时钟和用于所述写入操作的写入时钟,其中所述写入时钟响应于在所述第一模式下所述读取时钟的重置而被生成;以及
在所述第二模式下,响应于所述存储器周期的开始来生成用于所述写入操作的写入时钟。
9.根据权利要求8所述的方法,其中在所述第一模式下生成所述写入时钟包括:响应于所述读取时钟的重置来设置所述写入时钟。
10.根据权利要求8所述的方法,其中在所述第二模式下生成所述写入时钟包括:响应于所述存储器周期的开始来设置所述写入时钟。
11.根据权利要求8所述的方法,其中:
在所述第一模式下生成所述读取时钟包括:响应于所述存储器周期的开始来设置所述读取时钟,以及当所述读取操作完成时重置所述读取时钟;并且
在所述第一模式下生成所述写入时钟包括:响应于所述读取时钟的重置来设置所述写入时钟,以及当所述写入操作完成时重置所述写入时钟。
12.根据权利要求8所述的方法,其中在所述第二模式下生成所述写入时钟包括:响应于所述存储器周期的开始来设置所述写入时钟,以及当所述写入操作完成时重置所述写入时钟。
13.根据权利要求8所述的存储器,其中生成所述写入时钟包括:
响应于所述存储器周期的开始来设置输出并且当所述写入操作完成时重置所述输出;以及
当所述输出被设置并且所述读取时钟处于重置状态时,设置所述写入时钟。
14.一种存储器,包括:
多个存储器单元,被配置为在第一模式下在存储器周期中支持读取操作和写入操作以及在第二模式下在所述存储器周期中支持只写操作;以及
控制电路,被配置为生成用于所述读取操作的读取时钟和用于所述写入操作的写入时钟,其中在所述第一模式下,所述写入时钟的定时是所述读取时钟的定时的函数,并且其中与在所述第一模式下相比,在所述第二模式下所述写入时钟在所述存储器周期中较早地出现。
15.根据权利要求14所述的存储器,其中所述控制电路还被配置为:通过响应于在所述第一模式下重置所述读取时钟而设置所述写入时钟来生成所述写入时钟。
16.根据权利要求14所述的存储器,其中所述控制电路还被配置为:通过响应于在所述第二模式下所述存储器周期的开始而设置所述写入时钟来生成所述写入时钟。
17.根据权利要求14所述的存储器,其中所述控制电路包括:
读取时钟电路,被配置为响应于在所述第一模式下所述存储器周期的开始来设置所述读取时钟,以及当所述读取操作完成时重置所述读取时钟;以及
写入时钟电路,被配置为响应于以下各项来设置所述写入时钟:
在所述第一模式下所述读取时钟的重置;以及
在所述第二模式下所述存储器周期的开始。
18.根据权利要求17所述的存储器,其中所述写入时钟电路还被配置为当所述写入操作完成时重置所述写入时钟。
19.根据权利要求14所述的存储器,其中所述控制电路包括写入时钟电路,所述写入时钟电路包括:
第一电路,具有输出,所述输出被配置为响应于所述存储器周期的开始而被设置并且当所述写入操作完成时被重置;以及
第二电路,被配置为当所述第一电路的输出被设置并且所述读取时钟处于重置状态时设置所述写入时钟。
20.根据权利要求19所述的存储器,其中:
所述第一电路包括锁存器;并且
所述第二电路包括用于选通所述第一电路的输出和所述读取时钟的逻辑。
21.一种存储器,包括:
多个存储器单元,被配置为在第一模式下在存储器周期中支持读取操作和写入操作以及在第二模式下在所述存储器周期中支持只写操作;以及
控制电路,被配置为生成用于所述读取操作的读取时钟和用于所述写入操作的写入时钟,其中所述写入时钟响应于在所述第一模式下所述读取时钟的重置而被生成,并且其中与在所述第一模式下相比,在所述第二模式下所述写入时钟在所述存储器周期中较早地出现。
22.根据权利要求21所述的存储器,其中所述控制电路还被配置为:通过响应于在所述第一模式下重置所述读取时钟而设置所述写入时钟来生成所述写入时钟。
23.根据权利要求21所述的存储器,其中所述控制电路还被配置为:通过响应于在所述第二模式下所述存储器周期的开始而设置所述写入时钟来生成所述写入时钟。
24.根据权利要求21所述的存储器,其中所述控制电路包括:
读取时钟电路,被配置为响应于在所述第一模式下所述存储器周期的开始来设置所述读取时钟,以及当所述读取操作完成时重置所述读取时钟;以及
写入时钟电路,被配置为响应于以下各项来设置所述写入时钟:
在所述第一模式下所述读取时钟的重置;以及
在所述第二模式下所述存储器周期的开始。
25.根据权利要求24所述的存储器,其中所述写入时钟电路还被配置为当所述写入操作完成时重置所述写入时钟。
26.根据权利要求21所述的存储器,其中所述控制电路包括写入时钟电路,所述写入时钟电路包括:
第一电路,具有输出,所述输出被配置为响应于所述存储器周期的开始而被设置并且当所述写入操作完成时被重置;以及
第二电路,被配置为当所述第一电路的输出被设置并且所述读取时钟处于重置状态时设置所述写入时钟。
27.根据权利要求26所述的存储器,其中:
所述第一电路包括锁存器;并且
所述第二电路包括用于选通所述第一电路的输出和所述读取时钟的逻辑。
CN201680053088.0A 2015-09-15 2016-08-16 伪双端口存储器 Active CN108027787B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/855,319 US10061542B2 (en) 2015-09-15 2015-09-15 Pseudo dual port memory
US14/855,319 2015-09-15
PCT/US2016/047219 WO2017048440A1 (en) 2015-09-15 2016-08-16 Pseudo dual port memory

Publications (2)

Publication Number Publication Date
CN108027787A true CN108027787A (zh) 2018-05-11
CN108027787B CN108027787B (zh) 2021-01-22

Family

ID=56787738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680053088.0A Active CN108027787B (zh) 2015-09-15 2016-08-16 伪双端口存储器

Country Status (6)

Country Link
US (1) US10061542B2 (zh)
EP (1) EP3350716B1 (zh)
JP (1) JP2018527690A (zh)
KR (1) KR20180053720A (zh)
CN (1) CN108027787B (zh)
WO (1) WO2017048440A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113744773A (zh) * 2020-08-12 2021-12-03 台湾积体电路制造股份有限公司 存储装置、存储器件及其操作方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10768856B1 (en) * 2018-03-12 2020-09-08 Amazon Technologies, Inc. Memory access for multiple circuit components
US11024347B2 (en) 2019-10-17 2021-06-01 Marvell Asia Pte, Ltd. Multiple sense amplifier and data path-based pseudo dual port SRAM

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101356586A (zh) * 2005-11-17 2009-01-28 高通股份有限公司 第一存储器存取与第二存储器存取的比率与时钟工作循环无关的伪双端口存储器
CN101971263A (zh) * 2008-03-13 2011-02-09 高通股份有限公司 伪双端口存储器中的地址多路复用
CN102567248A (zh) * 2010-12-31 2012-07-11 中国航空工业集团公司第六三一研究所 一种避免双端口存储器访问冲突的控制电路与方法
US20130227223A1 (en) * 2012-02-24 2013-08-29 Avago Technologies Enterprise IP(Singapore) Pte. L Latching pseudo-dual-port memory multiplexer

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6809983B2 (en) * 2003-03-25 2004-10-26 Lsi Logic Corporation Clock generator for pseudo dual port memory
US7319632B2 (en) * 2005-11-17 2008-01-15 Qualcomm Incorporated Pseudo-dual port memory having a clock for each port
US8102721B2 (en) * 2007-06-27 2012-01-24 Infineon Technologies Ag Pseudo dual-port memory
US7890789B2 (en) * 2007-12-12 2011-02-15 Broadcom Corporation Circuit and method for generation of duty cycle independent core clock
US8370557B2 (en) 2008-12-19 2013-02-05 Intel Corporation Pseudo dual-port SRAM and a shared memory switch using multiple memory banks and a sideband memory
CN102110464B (zh) 2009-12-26 2015-06-10 上海芯豪微电子有限公司 宽带读写存储器装置
US8958254B2 (en) 2012-02-22 2015-02-17 Texas Instruments Incorporated High performance two-port SRAM architecture using 8T high performance single port bit cell
US9230622B2 (en) 2012-11-30 2016-01-05 Taiwan Semiconductor Manufacturing Company, Ltd. Simultaneous two/dual port access on 6T SRAM
US8902672B2 (en) 2013-01-01 2014-12-02 Memoir Systems, Inc. Methods and apparatus for designing and constructing multi-port memory circuits

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101356586A (zh) * 2005-11-17 2009-01-28 高通股份有限公司 第一存储器存取与第二存储器存取的比率与时钟工作循环无关的伪双端口存储器
CN101971263A (zh) * 2008-03-13 2011-02-09 高通股份有限公司 伪双端口存储器中的地址多路复用
CN102567248A (zh) * 2010-12-31 2012-07-11 中国航空工业集团公司第六三一研究所 一种避免双端口存储器访问冲突的控制电路与方法
US20130227223A1 (en) * 2012-02-24 2013-08-29 Avago Technologies Enterprise IP(Singapore) Pte. L Latching pseudo-dual-port memory multiplexer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113744773A (zh) * 2020-08-12 2021-12-03 台湾积体电路制造股份有限公司 存储装置、存储器件及其操作方法
CN113744773B (zh) * 2020-08-12 2023-07-11 台湾积体电路制造股份有限公司 存储装置、存储器件及其操作方法

Also Published As

Publication number Publication date
EP3350716B1 (en) 2020-08-12
CN108027787B (zh) 2021-01-22
JP2018527690A (ja) 2018-09-20
US10061542B2 (en) 2018-08-28
WO2017048440A1 (en) 2017-03-23
US20170075379A1 (en) 2017-03-16
EP3350716A1 (en) 2018-07-25
KR20180053720A (ko) 2018-05-23

Similar Documents

Publication Publication Date Title
EP3482395B1 (en) Overlapping precharge and data write
US7821831B2 (en) Block erase for volatile memory
US6252814B1 (en) Dummy wordline circuitry
JP3242771B2 (ja) 単一ポートramゼネレータ
EP3482396B1 (en) Improved timing circuit for memories
CN109074832A (zh) 高效存储器组设计
CN106796812A (zh) 伪双端口存储器
CN101312070B (zh) 降低静态随机访问存储器阵列功率的装置和方法
CN108027787A (zh) 伪双端口存储器
EP4364141A1 (en) Memory write methods and circuits
CN109979505B (zh) Sram写电路
CN101814313B (zh) 单管单电容型铁电存储器
US20230223075A1 (en) Pseudo-triple-port sram datapaths
EP1490875A1 (en) Asynchronous interface circuit and method for a pseudo-static memory device
US6487132B2 (en) Integrated circuit memory devices having multiple input/output buses and precharge circuitry for precharging the input/output buses between write operations
US9978444B2 (en) Sense amplifier enabling scheme
Harel et al. Replica bit-line technique for internal refresh in logic-compatible gain-cell embedded DRAM
JP2002074947A (ja) 半導体装置、そのリフレッシュ方法、メモリシステムおよび電子機器
US20150121097A1 (en) Reduced-power trace array for a processor

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