CN114303193A - 分级存储体组时序 - Google Patents

分级存储体组时序 Download PDF

Info

Publication number
CN114303193A
CN114303193A CN202080059439.5A CN202080059439A CN114303193A CN 114303193 A CN114303193 A CN 114303193A CN 202080059439 A CN202080059439 A CN 202080059439A CN 114303193 A CN114303193 A CN 114303193A
Authority
CN
China
Prior art keywords
bank
command
memory
bank group
delay interval
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
Application number
CN202080059439.5A
Other languages
English (en)
Inventor
J·E·林斯塔特
L·戈帕拉克里什南
T·沃吉尔桑
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.)
Rambus Inc
Original Assignee
Rambus 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 Rambus Inc filed Critical Rambus Inc
Publication of CN114303193A publication Critical patent/CN114303193A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • 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/1694Configuration of memory controller to different memory types
    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing 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
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • 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 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

存储器设备的存储体以组的形式被布置和操作,并且组进一步被布置和操作为这些组的集群。可以在第一时间间隔发出对不同存储体组集群内的存储体的连续访问。对相同集群内的不同存储体组内的存储体的连续访问可以不快于第二时间间隔发出。并且,对相同存储体组内的存储体的连续访问可以不快于第三时间间隔发出。存储器设备的存储体可以同时打开多行。可以同时打开的行由已经打开的行来确定。这些存储体也按照具有三个不同的最小时间间隔的组被布置和操作。

Description

分级存储体组时序
附图说明
图1是存储器系统的框图。
图2是多个命令到命令延迟的图示。
图3是存储器设备中的存储体的物理布置和示例信号路径的概念图示。
图4是存储器系统的图示。
图5是多个命令到命令延迟的图示。
图6A是用于存储体组集群访问的信号路径的第一示例的图示。
图6B是图示了存储体组集群访问的时序图。
图7A是用于存储体组集群访问的信号路径的第二示例的图示。
图7B是图示了存储体组集群访问的时序图。
图8A是用于存储体组访问的信号路径的第一示例的图示。
图8B是图示了存储体组访问的时序图。
图9A是用于存储体组访问的信号路径的第二示例的图示。
图9B是图示了存储体组访问的时序图。
图10是图示了操作具有分级存储体组时序的存储器设备的方法的流程图。
图11是图示了操作存储器设备的方法的流程图。
图12是处理系统的框图。
具体实施方式
双倍数据速率(DDR)类型的动态随机存取存储器(DRAMs)被组织成多个存储体,这些存储体使得能够以100-200MHz范围内的频率对特定存储体或者存储体组内的所激活的行进行连续读取或者写入访问。这种连续访问的最大频率也可以被称为核心频率(在本文中被缩写为CF)。然而,随着集成电路制造技术的进步,这些DRAMs的输入/输出接口频率和带宽正在一代一代地增加,以便跟上不断增长的应用性能要求和系统时钟频率/带宽。
在实施例中,存储器设备的存储体以组(即,存储体组)的形式被布置和操作,并且这些组被进一步布置和操作为这些组的集群(即,存储体组集群)。在这种布置中,可以在第一(即,最小)时间间隔(例如,tmin=[4×CF]-1)发出对不同存储体组集群内的存储体的连续访问。可以不快于第二(即大于最小值的中间值)时间间隔(例如,tintmd=[2×CF]-1)发出对相同集群内的不同存储体组内的连续访问。并且,可以不快于第三(即,大于中间值的最大值)时间间隔(例如,tmax=CF-1)发出对相同存储体组内的存储体的连续访问。
在实施例中,存储器设备的存储体可以具有同时打开的多行。当一行与已经被打开的另一行共享读出放大器时,该行可能不会被打开,直到另一行被关闭。因此,在任何给定时间,可能会基于当前打开哪些行而“阻止”打开某些行。存储体按组(即存储体组)被布置和操作。可以在第一(即,最小)时间间隔(例如,tmin=[4×CF]-1)发出对不同存储体组内的存储体的连续访问。可以不快于第二(即大于最小值的中间值)时间间隔(例如,tintmd=[2×CF]-1)发出对相同存储体组内的存储体的连续访问。并且,可以不快于第三(即大于中间值的最大值)时间间隔(例如,tmax=CF-1)发出对相同存储体的同时打开的行的连续访问。
图1是存储器系统的框图。在图1中,存储器系统100包括控制器110和存储器组件120。存储器组件120包括存储体151a-151c、152a-152c、153a-153c、154a-154c、复用/解复用(MUX/DEMUX)功能122和数据接口124。存储体151a-151c、152a-152c、153a-153c、154a-154c分别作为存储体组141、142、143、144的成员而被布置和耦合。存储体组141-142作为存储体组集群131a的成员被布置和耦合。存储体组143-144作为存储体组集群131b的成员被布置和耦合。附加的存储体、存储体组和/或存储体组集群(为了简洁在图1中未示出)可以作为存储器设备120的部分而被包括在内。
存储体组141包括MUX/DEMUX功能145a。MUX/DEMUX功能145a可操作地被耦合到存储体151a-151c和存储体组集群131a的MUX/DEMUX功能135a。存储体组142包括MUX/DEMUX功能145b。MUX/DEMUX功能145b可操作地被耦合到存储体152a-152c和存储体组集群131a的MUX/DEMUX功能135a。
存储体组143包括MUX/DEMUX功能145c。MUX/DEMUX功能145c可操作地被耦合到存储体153a-153c和存储体组集群131b的MUX/DEMUX功能135b。存储体组144包括MUX/DEMUX功能145d。MUX/DEMUX功能145d可操作地被耦合到存储体154a-154c和存储体组集群131b的MUX/DEMUX功能135b。
MUX/DEMUX功能135a-135b可操作地被耦合到MUX/DEMUX功能122。MUX/DEMUX功能122可操作地被耦合到数据接口124。数据接口124可操作地被耦合到控制器110。
控制器110和存储器组件120可以是集成电路类型的设备,诸如通常被称为“芯片”。存储器控制器(诸如控制器110)管理去往和来自存储器设备和/或存储器模块的数据流。存储器控制器可以是单独的、独立的芯片,或者被集成到另一个芯片中。例如,存储器控制器可以被包括在具有微处理器的单个裸片上,或者作为更复杂的集成电路系统的一部分(诸如片上系统(SOC)的块)而被包括。
控制器110经由至少一个命令地址(CA)接口而可操作地被耦合到存储器组件120。控制器110可操作地被耦合到存储器组件120以向存储器组件120发送命令。存储器组件120经由对应的命令地址接口来接收命令(和地址)。
应当理解,MUX/DEMUX功能122、135a-135b和145a-145d操作来将数据引导去往/来自它们相应的输入和输出。MUX/DEMUX功能122、135a-135b和145a-145d可以是或者包括与局部、中间和/或全局路由、传输门、复用器、解复用器、其他逻辑和/或三态缓冲器所共享的信号总线,这些可操作地耦合以驱动和引导数据去往/来自存储体151a-151c、152a-152c、153a-153c、154a-154c和数据接口124。
存储器设备120的存储体151a-151c、152a-152c、153a-153c、154a-154c被布置和操作在存储体组141-144中。存储体组141-144进一步被布置和操作为存储体组集群131a-131b。因此,存储器设备120被配置为存储体(第一级)到存储体组(第二级)和存储体组到存储体组集群(第三级)的三级分层分组。
在实施例中,存储体的分层分组确定了不同存储体之间的最小连续访问时序。特别地,与对不同存储体组中的存储体的连续访问相比,对相同存储体组内的不同存储体的连续访问需要更长的访问间隔时间。此外,与对相同存储体组集群内的不同存储体的连续访问比对不同存储体组集群中的存储体的连续访问需要更长的访问间时间。
如本文所述,应当理解,本文所描述的列到列最小延迟间隔仅仅是示例。存储体的分层分组也影响命令到类似(或相同)命令时序最小延迟间隔。表1中给出了一些示例命令到命令延迟间隔参数。
Figure BDA0003515146900000041
还应当理解,可以为与写入操作相比具有不同背靠背延迟间隔用于读取的设备指定具有不同值的类似分层时序约束集合(例如,tCCD_RD_L≠tCCD_WR_L,tCCD_RD_M≠tCCD_WR_M等)。然而,为简洁起见,本文的讨论仅限于假定相等的读取操作和写入操作时序(即,(例如,tCCD_RD_L=tCCD_WR_L,tCCD_RD_M=tCCD_WR_M等)。具有内部纠错码电路的存储器设备是可能具有不同读取操作和写入操作时序的存储器设备的示例。
例如,当连续访问是对存储体151a然后是存储体151c时,与第二次访问(即,去往/来自存储体151c)相关联的数据需要通过MUX/DEMUX功能145a、MUX/DEMUX功能135a和MUX/DEMUX功能122传播以到达或者源自接口124。然而,当连续访问是对存储体151a(在存储体组集群131a的存储体组141中)和存储体152b(在存储体组集群131a的存储体组142中)时,与第二次访问(即,去往/来自存储体152b)相关联的数据可以在MUX/DEMUX功能145b的输入/输出处等待,因此在通过MUX/DEMUX功能135a和MUX/DEMUX功能122传播以到达或者源自接口124之前不需要通过MUX/DEMUX功能145a传播。因此,对相同存储体组内的不同存储体的连续访问之间的时序被指定为比对不同存储体组中的不同存储体的连续访问更长的时间。
使用列到列操作作为示例,对相同存储体组内的不同存储体的背靠背列访问之间的间隔(也称为“长”tCCD_L,其可以在5-10ns的范围内)被指定为比对不在相同存储体组中的存储体的连续列访问更长的时间(例如,在2.5-5ns的范围内的tCCD_M)。在另一个示例中,对相同存储体组内的不同存储体的背靠背行访问之间的间隔(也称为“长”tRRD_L)被指定为比对不在相同存储体组中的存储体的连续行访问(例如,tRRD_M)更长的时间。
存储体的分层分组还确定不同存储体组集群中的存储体之间的最小背靠背访问时序。特别地,对相同存储体组集群内的存储体的连续访问比对不同存储体组集群中的存储体的连续访问需要更长的访问间时间。
例如,当连续访问是对存储体151a(在存储体组集群131a的存储体组141中)然后是存储体152b(在存储体组集群131a的存储体组142中)时,与第二次访问(即,去往/来自存储体152b)相关联的数据需要通过MUX/DEMUX功能135a传播,然后通过MUX/DEMUX功能122传播,以到达或者源自接口124。然而,当连续访问是对存储体151a(在存储体组集群131a的存储体组141中)然后是存储体154b(在存储体组集群131b的存储体组144中)时,与第二次访问(即,去往/来自存储体154b)相关联的数据可以在MUX/DEMUX功能122的输入/输出处等待,因此在通过MUX/DEMUX功能122传播以到达或者源自接口124之前,不需要通过MUX/DEMUX功能135a传播。因此,对相同存储体组集群内的不同存储体的连续访问之间的时序(例如,tCCD_M)被指定为比对不同存储体组集群中的存储体的连续访问(例如,tCCD_S在1.25-2.5ns的范围内)更长的时间。
换句话说,可以在第一(即,最小)时间间隔(例如,tmin=[4×CF]-1,如由tCCD_S管控)发出对不同存储体组集群的连续访问。可以不快于第二(即大于最小值的中间值)时间间隔(例如,由tCCD_M管控的tintmd=[2×CF]-1)发出对相同集群内的不同存储体组内的存储体的连续访问。并且,可以不快于第三(即大于中间值的最大值)时间间隔(例如,由tCCD_L管控的tmax=CF-1)发出对相同存储体组内的存储体的连续访问。这些时序参考图2进一步说明。
控制器110包括调度逻辑(图1中未示出)以向存储器设备120发出对存储体151a-151c、152a-152c、153a-153c、154a-154c的访问。再次,使用列到列最小延迟作为示例,控制器110的调度逻辑可以使用第一列到列延迟(tCCD_S)以用于对存储体151a-151c、152a-152c、153a-153c、154a-154c的连续列访问,这些存储体是不同存储体组集群131a-131b的成员。控制器110的调度逻辑可以使用第二列到列延迟(tCCD_M)以用于对存储体151a-151c、152a-152c的连续列访问,这些存储体是相同存储体组集群(例如,131a)但是该存储体组集群的不同存储体组(例如,存储体组集群131a的存储体组141和存储体组142)的成员。控制器110的调度逻辑可以使用第三列到列延迟(tCCD_L)以用于对存储体151a-151c的连续列访问,这些存储体是相同存储体组(例如存储体组141)和相同存储体组集群(例如131a)的成员。
在使用行到行操作的另一个示例中,控制器110的调度逻辑可以使用第一行到行延迟(tRRD_S)用于对存储体151a-151c、152a-152c、153a-153c、154a-154c的连续行访问,这些存储体是不同存储体组集群131a-131b的成员。控制器110的调度逻辑可以使用第二行到行延迟(tRRD_M)用于对存储体151a-151c、152a-152c的连续行访问,这些存储体是相同存储体组集群(例如,131a)但是该存储体组集群的不同存储体组(例如,存储体组集群131a的存储体组141和存储体组142)的成员。控制器110的调度逻辑可以使用第三行到行延迟(tRRD_L)用于对存储体151a-151c的连续行访问,这些存储体是相同存储体组(例如存储体组141)和相同存储体组集群(例如131a)的成员。
应当理解,存储器组件(例如存储器组件120)可以接收用作时序参考的时钟信号。因此,本文所描述的间隔可以被表达为参考时钟频率的多个周期。因为存储器组件可以在不同的参考时钟频率下操作,所以本文所描述的间隔可以根据被四舍五入到时序参考的整数个时钟周期(或者相位)的间隔来表达。
图2是多个命令到命令延迟的图示。在图2中,列访问被用作示例命令以进行说明。然而,其他类型的命令和延迟(例如,表1中所详述的那些)可能遵循类似或者等效的模式。第一示例读取命令(RD1)由控制器110发出并且由存储器组件120接收。与RD1命令相关联的地址将存储体组集群地址指定为BC1 202、存储体组地址指定为BG1 206、存储体地址指定为BA1 210,列地址指定为COL1。如果对于后续命令,提供了新的存储体组集群地址(例如,BC2,其中BC1≠BC2),则可以在第一命令之后更长或者稍后的最短时间量(即tCCD_S)内发出/接收后续命令。该时序在图2中通过从第一读取命令(RD1)到第二读取命令(RD2)的tCCD_S延迟以及存储体组集群地址从BC1 202到BC2 203的变化来说明。请注意,只要BC1≠BC2,对后续存储体组(BG2)、存储体地址(BA2)和/或列(COL2)地址没有附加约束,以便在稍后的最短时间量(即tCCD_S)内发出/接收连续命令。
如果对于第二命令(RD2)之后的后续命令(RD3),存储体组集群地址与第二命令(BC2)相同,但是提供了新的存储体组地址(例如,BG3≠BG2),则可以在第二命令之后更长或者中间时间量(即tCCD_M)内发出/接收后续(RD3)命令。该时序在图2中通过从第二读取命令(RD2)到第三读取命令(RD3)的tCCD_M延迟、相同的存储体组集群地址BC 2203和204、以及存储体组地址从BG2 207到BG3 208的变化来说明。注意,当存储体组集群地址与之前的命令相同并且提供了新的存储体组地址(例如,BG3)时,对存储体地址(BA3)和/或列(COL3)地址没有附加约束,以便在稍后的中间时间量(即,tCCD_M)内发出/接收连续命令。
如果对于第三命令(RD3)之后的后续命令(RD4),存储体组集群地址和存储体组与第三命令相同,但提供了新的存储体地址(例如,BA4≠BA3),则可以在第三命令之后更长或者稍后的最长时间量(即,tCCD_L)内发出/接收后续命令。该时序在图2中通过从第三读取命令(RD3)到第四读取命令(RD4)的tCCD_L延迟、相同的存储体组集群地址BC2 204和204、相同的存储体组地址BG3 208和209、以及存储体地址从BA3 211到BA4 212的变化来说明。注意,当存储体组集群地址和存储体组与之前的命令相同并且提供了新的存储体地址(例如BA4)时,对列(COL)地址没有附加约束,以便在稍后的最长时间量(即tCCD_L)内发出/接收连续命令。表2总结了本文参考图2描述的时序约束。
Figure BDA0003515146900000091
在实施例中,控制器110和/或存储器组件120的调度逻辑可以被配置(例如,通过寄存器或者命令)来使用最长时序以用于所有背靠背访问。当处于该模式中时,由控制器110执行的调度以及存储器设备120的内部时序被简化。然而,当在本文中参考图1-图2所描述的分层(即,存储体组集群)模式中时,可以基于访问来使用优化得更好的多级时序。
图3是存储器设备中的存储体的物理布置和示例信号路径的概念图示。在图3中,存储体阵列按层级分组为存储体组,并且存储体组分组为存储体组集群。第一信号路径在存储体351a到接口和串行器390之间运行。在存储体351a和存储体组内共享的数据路径电路(例如,MUX/DEMUX功能、缓冲器、公共信号线、逻辑等)之间传送数据。这在图3中由线341(在存储体351a和线343之间)和342(在存储体351b和线343之间)来说明。相同存储体组内共享的数据路径电路可以在由最长列到列延迟时序所管控的核心频率下运行(例如,对于100-200MHz周期频率,tCCD_L=5-10ns)。
在存储体组内共享的数据路径电路和存储体组集群内共享的数据路径电路之间传送数据。这在图3中由线343(在存储体351a的存储体组和线345之间)和344(在存储体352a的存储体组和线345之间)来说明。相同存储体组集群内共享的数据路径电路可以在由中间列到列延迟时序所管控的频率下运行(例如,对于200-400MHz周期核心频率,tCCD_M=2.5-5ns)。
在存储体组集群内共享的数据路径电路和在所有存储体组集群之间共享的数据路径电路之间传送数据。这在图3中由线345(在存储体351a的存储体组集群和串行器390之间)和346(在存储体354a的存储体组集群和串行器390之间)来说明。存储体组集群之间共享的数据路径电路可以在最短列到列延迟时序所管控的频率下运行(例如,对于400-800MHz周期频率,tCCD_S=1.25-2.5ns)。
图4是存储器系统的图示。在图4中,存储器系统400包括控制器410和存储器组件420。存储器组件420包括存储体441-444、复用/解复用(MUX/DEMUX)功能422和数据接口424。存储体441-442被布置和耦合为存储体组431a的成员。存储体443-444被布置和耦合为存储体组431b的成员。附加的存储体、存储体组和/或存储体组集群(为了简洁起见未在图4中示出)可以作为存储器设备420的一部分而被包括。
存储体组431a还包括MUX/DEMUX功能435a。MUX/DEMUX功能435a可操作地被耦合到存储体441-442。存储体441包括MUX/DEMUX功能445a。存储体442包括MUX/DEMUX功能445b。MUX/DEMUX功能445a-445b可操作地被耦合到MUX/DEMUX功能435a。
存储体组431b还包括MUX/DEMUX功能435b。MUX/DEMUX功能435b可操作地被耦合到存储体443-444。存储体443包括MUX/DEMUX功能445c。存储体444包括MUX/DEMUX功能445d。MUX/DEMUX功能445c-445d可操作地被耦合到MUX/DEMUX功能435b。
MUX/DEMUX功能435a-435b可操作地被耦合到MUX/DEMUX功能422。MUX/DEMUX功能422可操作地被耦合到数据接口424。数据接口424可操作地被耦合到控制器410。
控制器410和存储器组件420可以是集成电路类型的设备,诸如通常被称为“芯片”。存储器控制器(诸如控制器410)管理去往和来自存储器设备和/或存储器模块的数据流。存储器控制器可以是单独的、独立的芯片,或者被集成到另一个芯片中。例如,存储器控制器可以被包括在具有微处理器的单个裸片上,或者作为更复杂的集成电路系统的一部分(诸如片上系统(SOC)的块)而被包括。
控制器410经由至少一个命令地址(CA)接口而可操作地耦合到存储器420。控制器410可操作地耦合到存储器420以向存储器420发送命令。存储器420经由对应的命令地址接口来接收命令(和地址)。
应当理解,MUX/DEMUX功能422、435a-435b和445a-445d操作以将数据引导去往/来自它们相应的输入和输出。MUX/DEMUX功能422、435a-435b和445a-445d可以是或者包括与局部、中间和/或全局路由、传输门、复用器、解复用器、其他逻辑和/或三态缓冲器所共享的信号总线,这些可操作地耦合以驱动和引导数据去往/来自存储体441-444的行和数据接口424。
存储器设备420可以具有同时打开的相同存储体441-444中的多行。控制器410基于行地址范围将存储体441-444的地址空间划分为段451a-451b、452a-452b、453a-453b、454a-454b。这些行地址范围不一定对应于存储体441-444子阵列(也称为存储器阵列块–MATs)的行地址范围。当发送打开一行的命令时,控制器410将多个段(即,行地址范围)标记为阻塞。控制器410从而跟踪存储体441-444中的地址范围,其中除非并且直到第一行关闭,否则它将不会打开第二行。在实施例中,存储器设备420可以存储关于响应于打开一行应该阻塞哪些段和多少段的信息。该信息可以在初始化期间由控制器410读取。
因为可以同时打开存储体中的多于一行,所以发送到存储器420的列访问操作指定哪一行是列访问的主题。在实施例中,整个行地址被用来指定主题行。在另一个实施例中,打开行到标签值的映射由存储器420维护。控制器410发送标签值以指定主题行。例如,可以使用行地址的函数(例如散列)、使用打开行的计数或者使用优先级编码器来生成这些标签值。
在实施例中,存储器420被配置为使得可以同时打开相同存储体441-444中的多个行,只要打开的行在段451a-451b、452a-452b、453a-453b、454a-454b中互不干扰。因此,例如,当存储器420激活存储体441中的一行时,围绕该行的读出放大器条被用来激活所寻址的行,并且存储体441中的其余读出放大器条不参与该激活。
控制器410可以包括调度器。调度器选择要被发送到存储器420的事务/命令。该调度器可以为存储体441-444维护相应的地址表,这些地址表指示哪些地址范围(即,段451a-451b、452a-452b、453a-453b、454a-454b)由于打开的行而被阻塞。地址表中的条目可以对应于相应的地址范围(即,段)并且保存地址范围对于打开该地址范围中的一行是可用还是不可用的一个或多个指示符。地址表中的条目可以包括与地址范围是否可用于打开一行相对应的单个位或者其他值。地址表中的条目可以包括跟踪地址范围何时变得可用的值。例如,当存储器420被配置为自动预充电时,定时器值可以在某些条件下递增或者递减以跟踪预充电何时将完成并且因此地址范围变得可用。
在2019年4月18日提交的标题为“MEMORY SYSTEM WITH MULTIPLE OPEN ROWS PERBANK”的美国临时专利申请62/835,717中提供了对段451a-451b、452a-452b、453a-453b、454a-454b、存储器设备420以及它们由控制器410操作和控制的进一步讨论,出于所有目的,其全部内容被并入本文。
存储器设备420的存储体441-444被布置和操作在存储体组431a-431b中。因此,存储器设备420可以被视为将段(第一级)到存储体(第二级)和存储体到存储体组(第三级)的三级分层分组。
在实施例中,段、存储体和存储体组的分层分组确定不同段之间的最小连续访问时序。特别地,对相同存储体内的不同(非阻塞)段的连续访问比对不同存储体组中的段的连续访问需要更长的访问间时间。
如本文所述,应当理解,本文所描述的列到列最小延迟间隔仅仅是示例。段、存储体和存储体组的分层分组也影响命令以类似(或者相同)命令时序最小延迟间隔。表3中给出了一些示例命令到命令延迟间隔参数。
Figure BDA0003515146900000131
还应当理解,可以为与写入操作相比具有不同背靠背延迟间隔用于读取的设备指定具有不同值的类似分级时序约束集合(例如,tCCD_RD_L≠tCCD_WR_L,tCCD_RD_M≠tCCD_WR_M等)。然而,为简洁起见,本文的讨论仅限于假定相等的读取操作和写入操作时序(即,(例如,tCCD_RD_L=tCCD_WR_L,tCCD_RD_M=tCCD_WR_M等)。
使用列到列操作作为示例,当连续访问是对段451a然后是段451b时,与第二次访问(即,去往/来自段451b)相关联的数据需要通过MUX/DEMUX功能445a、MUX/DEMUX功能435a和MUX/DEMUX功能422传播以到达或者源自接口424。然而,当连续访问是对段451a(在存储体组431a的存储体441中)并且然后是段452b(在存储体组431a的存储体442中)时,与第二次访问(即,去往/来自段452b)相关联的数据可以在MUX/DEMUX功能445b的输入/输出处等待,因此在通过MUX/DEMUX功能435a和MUX/DEMUX功能422传播以到达或者源自接口424之前不需要通过MUX/DEMUX功能445a传播。因此,对相同存储体内的不同段的连续访问之间的时序(例如,在5-10ns范围内的tCCD_L)被指定为比对不同存储体中的段的连续访问(例如,在2.5-5ns范围内的tCCD_M)更长的时间。
段的分层分组还确定了不同存储体组中的段之间的最小列到列访问时序。特别地,对相同存储体组内的段的连续访问比对不同存储体组中的段的连续访问需要更长的访问间时间。
继续使用列到列操作作为示例,当连续访问是对段451a(在存储体组431a中)然后是对段452a(在存储体组431a中)时,与第二次访问(即,去往/来自段452a)需要通过MUX/DEMUX功能435a传播,然后通过MUX/DEMUX功能422传播,以到达或者源自接口424。然而,当连续访问是对段451a(在存储体组431a中)然后是段454b时(在存储体组431b中)时,与第二次访问(即,去往/来自段454b)相关联的数据可以在MUX/DEMUX功能422的输入/输出处等待,因此在通过MUX/DEMUX功能422传播以到达或者源自接口424之前不需要通过MUX/DEMUX功能435a传播。因此,对相同存储体组内的不同存储体的连续访问之间的时序(例如,tCCD_M)被指定为比对不同存储体组中的存储体的连续访问(例如,在1.25-2.5ns的范围内的tCCD_S)更长的时间。
换句话说,可以在第一(即,最小)时间间隔(例如,由tCCD_S管控的tmin=[4×CF]-1)发出对不同存储体组中的段的连续访问。可以不快于第二(即大于最小值的中间值)时间间隔(例如,由tCCD_M管控的tintmd=[2×CF]-1)发出对相同存储体组内的不同存储体中的段的连续访问。并且,可以不快于第三(即,大于中间值的最大值)时间间隔(例如,由tCCD_L管控的tmax=CF-1)发出对相同存储体组内的(非阻塞)段的连续访问。这些时序参考图5进一步说明。
控制器410的调度逻辑向存储器设备420发出对段451a-451b、452a-452b、453a-453b、454a-454b的访问。再次使用列到列最小延迟作为示例,控制器410的调度逻辑可以使用第一列到列延迟(tCCD_S)以用于对段451a-451b、452a-452b、453a-453b、454a-454b的连续访问,这些段是作为不同存储体组431a-431b的一部分的存储体的各部分,并且使用第二列到列延迟(tCCD_M)以用于对存储器段451a-451b、452a-452b、453a-453b、454a-454b的连续访问,这些存储器段是第一存储体组(例如,131a)以及第一存储体组的不同存储体(例如,存储体组431a的存储体441和存储体442)的成员。控制器110的调度逻辑使用第三列到列延迟(tCCD_L)以用于对段451a-451b的连续访问,这些段是第一存储体组(例如431a)的第一存储体(例如存储体441)的成员。
如本文所讨论的,控制器410的调度器可以发出导致一个或多个存储体441-444的多行同时打开的命令。因此,控制器410可以包括将指示符与一个或多个存储体的相应行地址段(范围)相关联的电路。控制器410的电路可以将相应指示符设置为与第一存储体的相应行地址段相关联的第一值,该相应行地址段不可用(即,被阻塞)于打开相关联的相应行地址范围中的一行。响应于至少存储器控制器410处理对存储器设备420的命令以打开与多个相应指示符中的至少一个相关联的存储体441-444的相应行地址范围中的行,可以将多个相应指示符设置为第一值。换句话说,存储体441中的一个段(例如,451a)中的行的打开可能导致其他段(例如,451b)变得不可用(被阻塞)。
图5是多个命令到命令延迟的图示。在图5中,列访问被用作示例命令以进行说明。然而,其他类型的命令和延迟(例如,表3中详述的那些)可能遵循类似或者等效的模式。第一个示例读取命令(RD1)由控制器410发出并且由存储器组件420接收。与该命令相关联的地址将存储体组地址指定为BG1 502、存储体地址指定为BA1506、段地址指定为SEG1 510以及列地址指定为COL1。如果对于后续命令,提供了新的存储体组地址(例如,BG2,其中BG1≠BG2),则可以在第一条命令之后更长或者稍后的最短时间量(即tCCD_S)内发出/接收后续命令。该时序在图5中通过从第一读取命令(RD1)到第二读取命令(RD2)的tCCD_S延迟以及存储体组地址从BG1 502到BG2 503的变化来说明。请注意,只要BG1≠BG2,对后续存储体(BA)、段(SEG)和/或列(COL)地址没有附加约束,以便在稍后的最短时间量内(即tCCD_S)发出/接收连续命令。
如果对于第二命令(RD2)之后的后续命令(RD3),存储体组地址与第二命令相同,但是提供了新的存储体地址(例如,BA3≠BA2),则可以在第一命令之后更长或者中间时间量(即tCCD_M)内发出/接收后续(RD3)命令。该时序在图5中通过从第二读取命令(RD2)到第三读取命令(RD3)的tCCD_M延迟、相同的存储体组地址BG2 503和504、以及存储体地址从BA2507到BA3 508的变化来说明。注意,当存储体组地址与第一命令相同并且提供了新的存储体地址(例如BA3)时,对段(SEG)和/或列(COL)地址没有附加约束,以便在稍后的中间时间量(即tCCD_M)内发出/接收连续命令。
如果对于第三命令(RD3)之后的后续命令(RD4),存储体组地址和存储体地址与第一命令相同,但提供了新的段地址(例如,SEG4),则可以在第一命令之后更长或者稍后的最长时间量(即,tCCD_L)内发出/接收后续命令。该时序在图5中通过从第三读取命令(RD3)到第四读取命令(RD4)的tCCD_L延迟、相同的存储体组地址BG2 504和505、相同的存储体地址BA3508和509、以及段地址从SEG3 511到SEG4 512的变化来说明。注意,当存储体组地址和存储体地址与之前的命令相同并且提供了新的段地址(例如,SEG4≠SEG3)时,对(COL)地址没有附加约束,以便在稍后的最长时间量(即tCCD_L)内发出/接收连续命令。表4总结了本文参考图5描述的时序约束。
Figure BDA0003515146900000171
应该理解,上述描述假设tCCD_L既适用于对相同存储体组、相同存储体地址和相同段内的不同列的后续访问,也适用于对相同存储体组和相同存储体地址内的不同段的后续访问。在实施例中,不同的时序可以适用于相同存储体组内的不同列、相同存储体地址和相同段的访问,以及对相同存储体地址内的不同段的后续访问。
在实施例中,控制器410和/或存储器组件420的调度逻辑可以被配置(例如,通过寄存器或者命令)来使用最长时序以用于所有背靠背访问。当处于该模式中时,由控制器410执行的调度以及存储器设备120的内部时序被简化。然而,当在本文中参考图4-图5所描述的分层(即,段/存储体/存储体组)模式中时,可以基于访问来使用优化得更好的多级时序。
图6A是用于存储体组集群访问的信号路径的第一示例的图示。在图6A中,存储器组件600包括存储体组集群#1(BC1)631a和存储体组集群#2(BC2)631b。BC1 631a包括存储体组#1(BG1)641和存储体组#2(BG2)642。BC2 631b包括存储体组#3(BG3)643和存储体组#4(BG4)644。BG1包括存储体651a和存储体651b。BG2包括存储体652a和存储体652b。BG3包括存储体653a和存储体653b。BG4包括存储体654a和存储体654b。
存储体651a和存储体651b可操作地被耦合到数据路径电路635a(例如,MUX/DEMUX功能、缓冲器、公共信号线、逻辑等)。存储体652a和存储体652b可操作地被耦合到数据路径电路635b。数据路径电路635a可操作地被耦合到数据路径电路635b。存储体654a和存储体654b可操作地被耦合到数据路径电路635c。存储体653a和存储体653b可操作地被耦合到数据路径电路635d。数据路径电路635c可操作地被耦合到数据路径电路635d。数据路径电路635b和数据路径电路635d可操作地被耦合到数据路径电路635e。因此,为了访问存储体651a或者651b中的行,数据流经由数据路径电路635a、635b和635e。同样,为了访问存储体654a或者654b中的行,数据流经由数据路径电路635c、635d和635e。为了访问存储体652a或者652b中的行,数据流经由数据路径电路635b和635e。为了访问存储体653a或者653b中的行,数据流经由数据路径电路635d和635e。
由存储体651a和存储体651b共享的数据路径电路635a可以在由核心列到列延迟时序管控的频率下运行(例如,针对100-200MHz周期频率,tCCD_L=5-10ns)。同样,存储体654a和存储体654b共享的数据路径电路635c可以在由核心列到列延迟时序管控的频率下运行(例如,针对100-200MHz周期频率,tCCD_L=5-10ns)。存储体652a、存储体652b共享的数据路径电路635b,以及数据路径635a可以在由中间的列到列延迟时序管控的频率下运行(例如,针对200-400MHz周期频率,tCCD_M=2.5-5ns)。同样,存储体653a、存储体653b共享的数据路径电路635d,以及数据路径635c可以在由中间的列到列延迟时序管控的频率下运行(例如,针对200-400MHz周期频率,tCCD_M=2.5-5ns)。最后,为所有存储体651a、651b、652a、652b、653a、653b、654a和654b携带数据的数据路径电路635e可以在由最短的列到列延迟时序管控的频率下运行(例如,针对400-800MHz周期频率,tCCD_s=1.25-2.5ns)。
在示例访问操作中,数据的四个单元(例如,字节、字等)被传送去往或者出自相应存储体651a-654a中的相应寻址行。这在图6A中由线661a-664a来图示。第一数据单元经由数据路径661a和635a在存储体651a中的行之间传送。类似地,第二数据单元经由数据路径664a和635c在存储体654a中的行之间传送。第一数据单元在数据路径635b上与去往/来自存储体652a中的行的第三数据单元进行时间复用。第二数据单元在数据路径635d上与去往/来自存储体653a中的行的第四数据单元进行时间复用。所有四个数据单元都在数据路径635e上进行时间复用。数据路径635e可操作地耦合到存储器组件600的输入/输出逻辑。通过图6B中的示例进一步描述了去往/来自存储体651a-654a的数据的复用。
图6B是图示了存储体组集群访问的时序图。在图6B中,存储体651a-654a分别由信号CK-651至CK-654进行时钟计时。CK-652比CK-651延迟180°。CK-653比CK-651延迟270°。CK-654比CK-651延迟90°。
在CK-651的上升沿,第一数据单元经由数据路径661a从存储体651a被读出并且经由数据路径635a被携带。这由箭头601来图示。数据路径635a将第一数据单元耦合到数据路径635b。这由箭头602来图示。数据路径635b将第一数据单元耦合到数据路径635e。这由箭头603来图示。
在CK-654的下一个上升沿,第二数据单元经由数据路径664a从存储体654a被读出并且经由数据路径635c被携带。这由箭头604来图示。数据路径635c将第二数据单元耦合到数据路径635d。这由箭头605来图示。数据路径635d将第二数据单元耦合到数据路径635e。这由箭头606来图示。
在CK-652的下一个上升沿,第三数据单元经由数据路径662a从存储体652a被读出。这由箭头607来图示。数据路径662a将第三数据单元耦合到数据路径635b。这由箭头608来图示。数据路径635b将第三数据单元耦合到数据路径635e。这由箭头609来图示。
在CK-653的下一个上升沿,第四数据单元经由数据路径663a从存储体653a被读出。这由箭头610来图示。数据路径663a将第四数据单元耦合到数据路径635d。这由箭头611来图示。数据路径635d将第四数据单元耦合到数据路径635e。这由箭头612来图示。
图7A是用于存储体组集群访问的信号路径的第二示例的图示。在图7A中,存储器组件700包括存储体组集群#1(BC1)731a和存储体组集群#2(BC2)731b。BC1 731a包括存储体组#1(BG1)741和存储体组#2(BG2)742。BC2 731b包括存储体组#3(BG3)743和存储体组#4(BG4)744。BG1 741包括存储体751a和存储器存储体751b。BG2 742包括存储体752a和存储体752b。BG3 743包括存储体753a和存储体753b。BG4 744包括存储体754a和存储体754b。
存储体751a和存储体751b可操作地耦合到数据路径电路735a(例如,MUX/DEMUX功能、缓冲器、公共信号线、逻辑等)。存储体752a和存储体752b可操作地被耦合到数据路径电路735b。数据路径电路735a可操作地被耦合到数据路径电路735b。存储体754a和存储体754b可操作地被耦合到数据路径电路735c。存储体753a和存储体753b可操作地被耦合到数据路径电路735d。数据路径电路735c可操作地被耦合到数据路径电路735d。因此,为了访问存储体751a或者751b中的行,数据流经数据路径电路735a和735b。同样,为了访问存储体754a或者754b中的行,数据流经数据路径电路735c和735d。为了访问存储体752a或者752b中的行,数据流经数据路径电路735b。为了访问存储体753a或者753b中的行,数据流经数据路径电路735d。
由存储体751a和存储体751b共享的数据路径电路735a可以在由核心列到列延迟时序管控的频率下运行(例如,对于100-200MHz周期频率,tCCD_L=5-10ns)。同样,由存储体754a和存储体754b共享的数据路径电路735c可以在由核心列到列延迟时序管控的频率下运行(例如,对于100-200MHz周期频率,tCCD_L=5-10ns)。由存储体752a、存储体752b共享的数据路径电路735b,以及数据路径735a可以在由中间的列到列延迟时序管控的频率下运行(例如,对于200-400MHz周期频率,tCCD_M=2.5-5ns)。同样,由存储体d753a、存储体753b共享的数据路径电路735,以及数据路径735c可以在由中间的列到列延迟时序管控的频率下运行(例如,对于200-400MHz周期频率,tCCD_M=2.5-5ns)。
在示例访问操作中,数据的四个单元(例如,字节、字等)被传送去往或者出自相应存储体751a-754a中的相应寻址行。这在图7A中由线761a-764a来图示。第一数据单元经由数据路径761a和735a在存储体751a中的行之间传送。类似地,第二数据单元经由数据路径764a和735c在存储体754a中的行之间传送。第一数据单元在数据路径735b上与去往/来自存储体752a中的行的第三数据单元进行时间复用。第二数据单元在数据路径735d上与去往/来自存储体753a中的行的第四数据单元进行时间复用。数据路径735b和735d可操作地被耦合到存储器组件700的输入/输出逻辑。通过图7B中的示例进一步描述了去往/来自存储体751a-754a的数据的复用。
图7B是图示了存储体组集群访问的时序图。在图7B中,存储体751a-754a分别由信号CK-751至CK-754进行时钟计时。CK-752比CK-751延迟180°。CK-753比CK-751延迟270°。CK-754比CK-751延迟90°。
在CK-751的上升沿,第一数据单元经由数据路径761a从存储体751a被读出并且经由数据路径735a被携带。这由箭头701来图示。数据路径735a将第一数据单元耦合到数据路径735b。这由箭头702来图示。
在CK-754的下一个上升沿,第二数据单元经由数据路径764a从存储体754a被读出并且经由数据路径735c被携带。这由箭头704来图示。数据路径735c将第二数据单元耦合到数据路径735d。这由箭头705来图示。
在CK-752的下一个上升沿,第三数据单元经由数据路径762a从存储体752a被读出。这由箭头707来图示。数据路径762a将第三数据单元耦合到数据路径735b。这由箭头708来图示。
在CK-753的下一个上升沿,第四数据单元经由数据路径763a从存储体753a被读出。这由箭头710来图示。数据路径763a将第四数据单元耦合到数据路径735d。这由箭头711来图示。
应当理解,由数据路径735b和数据路径735d携带的数据可以通过图7A中未示出的附加电路(例如,数据I/O电路(诸如数据接口124))来进一步时间复用在一起。这种时间复用可能会导致由tCCD_S管控的存储控制器可见的列到列延迟。
图8A是用于存储体组访问的信号路径的第一示例的图示。在图8A中,存储器组件800包括存储体组#1(BG1)831a和存储体组#2(BG2)831b。BG1 831a包括存储体841和存储体842。BG2 831b包括存储体843和存储体844。存储体841包括(非阻塞)段851。存储体842包括(非阻塞)段852。存储体843包括(非阻塞)段853。存储体844包括(非阻塞)段854。
存储体841和存储体842可操作地被耦合到数据路径电路835a(例如,MUX/DEMUX功能、缓冲器、公共信号线、逻辑等)。存储体843和存储体844可操作地被耦合到数据路径电路835b。数据路径电路835a可操作地被耦合到数据路径电路835b。因此,为了访问存储体841或者842中的行,数据流经数据路径电路835a和835b。同样,为了访问存储体843或者844中的行,数据流经数据路径电路835b。
行访问数据路径861-864可以在由核心列到列延迟时序管控的频率下运行(例如,针对100-200MHz周期频率,tCCD_L=5-10ns)。由存储体841和存储体842共享的数据路径电路835a可以在由中间的列到列延迟时序管控的频率下运行(例如,针对200-400MHz循环频率,tCCD_M=2.5-5ns)。由存储体843、存储体844共享的数据路径电路835b,以及数据路径835a可以在由最短的列到列延迟时序管控的频率下运行(例如,针对400-800MHz周期频率,tCCD_S=1.25-2.5ns)。
在示例访问操作中,数据的四个单元(例如,字节、字等)被传送去往或者出自相应存储体841-844中的相应寻址行。这在图8A中由线861-864来图示。第一数据单元经由数据路径861和835a在段851中的行之间传送。第二数据单元经由数据路径835b在段853中的行之间传送。第一数据单元在数据路径835b上与第二数据单元进行时间复用。第三数据单元经由数据路径862和835a在段852中的行之间传送。第三数据单元在数据路径835a上与第一数据单元进行时间复用。第三数据单元与数据路径835b上的第一和第二数据单元进行时间复用。第四数据单元经由数据路径864在段854中的行之间传送。第四数据单元在数据路径835b上与第一、第二和第三数据单元进行时间复用。因此,所有四个数据单元都在数据路径835b上进行时间复用。数据路径835b可操作地被耦合到存储器组件800的输入/输出逻辑。通过图8B中的示例进一步描述了去往/来自段851-854的数据的复用。
图8B是图示了存储体组访问的时序图。在图8B中,存储体841-844分别由信号CK-841到CK-844进行时钟计时。CK-842比CK-841延迟180°。CK-843比CK-841延迟90°。CK-844比CK-841延迟270°。
在CK-841的上升沿,第一数据单元经由数据路径861从段851被读出并且经由数据路径835a被携带。这分别由箭头801和802来图示。数据路径835a将第一数据单元耦合到数据路径835b。这由箭头803来图示。
在CK-843的下一个上升沿,第二数据单元经由数据路径863从段853被读出并且经由数据路径835b被携带。这分别由箭头804和805来图示。
在CK-842的下一个上升沿,第三数据单元经由数据路径862从段852被读出并且经由数据路径835a被携带。这分别由箭头807和808来图示。数据路径835a将第三数据单元耦合到数据路径835b。这由箭头809来图示。
在CK-844的下一个上升沿,第四数据单元经由数据路径864从段854被读出并且经由数据路径835b被携带。这分别由箭头810和811来图示。
图9A是用于存储体组访问的信号路径的第二示例的图示。在图9A中,存储器组件900包括存储体组#1(BG1)931a和存储体组#2(BG2)931b。BG1 931a包括存储体941和存储体942。BG2 931b包括存储体943和存储体944。存储体941包括(非阻塞)段951。存储体942包括(非阻塞)段952。存储体943包括(非阻塞)段953。存储体944包括(非阻塞)段954。
存储体941和存储体942可操作地被耦合到数据路径电路935a(例如,MUX/DEMUX功能、缓冲器、公共信号线、逻辑等)。存储体943和存储体944可操作地被耦合到数据路径电路935b。因此,为了访问存储体941或者942中的行,数据流经由数据路径电路935a。同样,为了访问存储体943或者944中的行,数据流由经数据路径电路935b。
用于访问段951-954中的相应行的数据路径电路961-964可以在由核心列到列延迟时序管控的频率下运行(例如,针对100-200MHz周期频率,tCCD_L=5-10ns)。由存储体941和存储体942共享的数据路径电路935a可以在由中间的核心列到列延迟时序管控的频率下运行(例如,针对200-400MHz周期频率,tCCD_M=2.5-5ns)。由电路存储体943、存储体944共享的数据路径935b,以及数据路径935a可以在由最短的列到列延迟时序管控的频率下运行(例如,针对400-800MHz周期频率,tCCD_S=1.25-2.5ns)。
在示例访问操作中,数据的四个单元(例如,字节、字等)被传送去往或者出自相应存储体941-944中的相应寻址行。这在图9A中由线961-964来图示。第一数据单元经由数据路径961和935a在段951中的行之间传送。第二数据单元经由数据路径935b在段953中的行之间传送。第三数据单元经由数据路径962和935a在段952中的行之间传送。第三数据单元在数据路径935a上与第一数据单元进行时间复用。第四数据单元经由数据路径964在段954中的行之间传送。第四数据单元在数据路径935b上与第二数据单元进行时间复用。数据路径935a和935b可操作地耦合到存储器组件900的输入/输出逻辑。通过图9B中的示例进一步描述了去往/来自段951-954的数据的复用。
图9B是图示了存储体组访问的时序图。在图9B中,存储体941-944分别由信号CK-941到CK-944进行时钟计时。CK-942比CK-941延迟180°。CK-943比CK-941延迟90°。CK-944比CK-941延迟270°。
在CK-941的上升沿,第一数据单元经由数据路径961从段951被读出并且经由数据路径935a被携带。这分别由箭头901和902来图示。在CK-943的下一个上升沿,第二数据单元经由数据路径963从段953被读出并且经由数据路径935b被携带。这分别由箭头904和905来图示。在CK-942的下一个上升沿,第三数据单元经由数据路径962从段952被读出并且经由数据路径935a被携带。这分别由箭头907和908来图示。在CK-944的下一个上升沿,第四数据单元经由数据路径964从段954被读出并且经由数据路径935b被携带。这分别由箭头910和911来图示。
应当理解,由数据路径935a和数据路径935b携带的数据可以通过图9A中未示出的附加电路(例如,数据I/O电路(诸如数据接口424))来进一步时间复用在一起。这种时间复用可能会导致由tCCD_S管控的存储控制器可见的列到列延迟。
图10是图示了以分级存储体组时序来操作存储器设备的方法的流程图。图10中所图示的步骤可以由系统100和/或其组件执行。向存储器设备发送访问作为第一存储体组集群的成员的第一存储体组的第一存储体的第一命令(1002)。例如,控制器110可以向存储器组件120发送访问存储体组141的存储体151a的命令,存储体组141是存储体组集群131a的成员。
在从发送第一命令起至少第一时间间隔之后,访问第一存储体的第二命令被发送到存储器设备(1004)。例如,在从发送访问存储体151a的第一命令起逝去tCCD_L之后,控制器110可以向存储器组件120发送访问存储体151a的第二命令。
访问第一存储体组的存储体的第三命令被发送到存储器设备(1006)。例如,控制器110可以向访问存储体组141的存储体151c的存储器组件120发送命令,存储体组141是存储体组集群131a的成员。
在从发送第三命令起至少第二时间间隔之后,访问作为第一存储体组集群的成员的第二存储体组的第四存储体的第四命令被发送到存储器设备(1008)。例如,在从发送访问第一存储体组141的存储体151c的第三命令起逝去tCCD_M之后,控制器110可以向存储器组件120发送访问存储体组142的存储体152a的第四命令,存储体组142是存储体的成员组集群131a。
访问第一存储体组的存储体的第五命令被发送到存储器设备(1010)。例如,控制器110可以向存储器组件120发送访问存储体组141的存储体151a的命令,存储体组141是存储体组集群131a的成员。在从发送第五命令起至少第三时间间隔之后,第六命令被发送到访问作为第二存储体组集群的成员的第三存储体组的第五存储体的存储器设备(1012)。例如,在从发送访问存储体组141(存储体组141是存储体组集群131a的成员)的存储体151a的第五命令起逝去tCCD_S之后,控制器110可以向存储器组件120发送访问存储体组143的存储体153a的第六命令,存储体组143是存储体组集群131b的成员。
图11是图示了操作存储器设备的方法的流程图。图11中所图示的步骤可以由系统100和/或其组件执行。向存储器设备发送访问作为第一存储体组的成员的第一存储体中的第一行的第一命令(1102)。例如,控制器410可以向存储器组件420发送访问存储体441的段451a中的一行的命令,存储体441是存储体组431a的成员。
在从发送第一命令起至少第一时间间隔之后,访问第一存储体中的第二行的第二命令被发送到存储器设备(1104)。例如,在从发送访问存储体441的段451a中的一行的第一命令起逝去tCCD_L之后,控制器410可以向存储器组件420发送访问存储体441的段451b中的一行的第二命令。
访问第一存储体中的一行的第三命令被发送到存储器设备(1106)。例如,控制器410可以向存储器组件420发送访问存储体441的段451a中的行的命令。
在从发送第三命令起至少第二时间间隔之后,访问作为第一存储体组的成员的第二存储体的一行的第四命令被发送到存储器设备(1108)。例如,在从发送访问存储体441的段451a中的一行的第三命令起逝去tCCD_M之后,控制器410可以向存储器组件420发送访问存储体442的段452a中的行的第四命令,存储体442是存储体组431a的成员。
访问第一存储体组中的存储体的一行的第五命令被发送到存储器设备(1110)。例如,控制器410可以向存储器组件420发送访问作为存储体组431a的成员的存储体441的存储段451a中的一行的命令。在从发送第五命令起至少第三时间间隔之后,访问第二存储体组的存储体中的一行的第六命令被发送到存储器设备(1112)。例如,在从发送访问作为存储体组集群431a的成员的存储体组441的存储段451a中的一行的第五命令起逝去tCCD_S之后,控制器410可以向存储器组件420发送访问存储体443的段453a中的一行的第六命令,存储体443是存储体组431b的成员。
上述方法、系统和设备可以在计算机系统中被实现或者由计算机系统存储。上述方法也可以被存储在非暂时性计算机可读介质上。本文所描述的设备、电路和系统可以使用本领域中可用的计算机辅助设计工具来实现,并且由包含此类电路的软件所描述的计算机可读文件来体现。这包括但不限于存储器系统100、存储器300、存储器系统400、存储器组件600、存储器组件700、存储器组件800、存储器组件900及其组件的一个或多个元件。这些软件描述可以是:行为、寄存器传送、逻辑组件、晶体管和布局几何级描述。此外,软件描述可以被存储在存储介质上或者通过载波进行通信。
可以实现此类描述的数据格式包括但不限于:支持行为语言(例如C)的格式、支持寄存器传送级(RTL)语言(如Verilog和VHDL)的格式、支持几何描述语言的格式(诸如GDSII、GDSIII、GDSIV、CIF和MEBES)以及其他合适的格式和语言。此外,机器可读介质上的此类文件的数据传送可以通过互联网上的各种媒体以电子方式或者例如经由电子邮件进行。请注意,物理文件可以被实现在机器可读介质上,诸如:4毫米磁带、8毫米磁带、3-1/2英寸软盘介质、CD、DVD等。
图12是图示了用于包括、处理或者生成电路组件1220的表示的处理系统1200的一个实施例的框图。处理系统1200包括一个或多个处理器1202、存储器1204和一个或多个通信设备1206。处理器1202、存储器1204和通信设备1206使用任何合适的类型、数量和/或配置的有线和/或无线连接1208进行通信。
处理器1202执行存储在存储器1204中的一个或多个过程1212的指令以响应于用户输入1214和参数1216来处理和/或生成电路组件1220。过程1212可以是被用来设计、模拟、分析和/或验证电子电路和/或为电子电路生成光掩模的任何合适的电子设计自动化(EDA)工具或者其中一部分。表示1220包括描述存储器系统100、存储器300、存储器系统400、存储器组件600、存储器组件700、存储器组件800、存储器组件900及其组件的全部或者部分的数据,如图中所示。
表示1220可以包括行为、寄存器传送、逻辑组件、晶体管和布局几何级描述中的一种或多种。此外,表示1220可以被存储在存储介质上或者通过载波进行通信。
其中可以实现表示1220的数据格式可以被实现包括但不限于:支持行为语言(例如C)的格式、支持寄存器传送级(RTL)语言(如Verilog和VHDL)的格式、支持几何描述语言的格式(诸如GDSII、GDSIII、GDSIV、CIF和MEBES)以及其他合适的格式和语言。此外,机器可读介质上的此类文件的数据传送可以通过互联网上的各种媒体以电子方式或者例如经由电子邮件来进行。
用户输入1214可以包括来自键盘、鼠标、语音识别接口、麦克风和扬声器、图形显示器、触摸屏或者其他类型的用户接口设备的输入参数。该用户接口可以分布在多个接口设备中。参数1216可以包括被输入来帮助定义表示1220的规范和/或特性。例如,参数1216可以包括定义设备类型(例如,NFET、PFET等)、拓扑(例如,框图、电路描述、原理图等)的信息和/或设备描述(例如,设备属性、设备尺寸、电源电压、仿真温度、仿真模型等)。
存储器1204包括存储过程1212、用户输入1214、参数1216和电路组件1220的任何合适的类型、数量和/或配置的非暂时性计算机可读存储介质。
通信设备1206包括任何合适类型、数量和/或配置的有线和/或无线设备,其将信息从处理系统1200传输到另一个处理或者存储系统(未示出)和/或从另一个处理或者存储系统(未示出)接收信息。例如,通信设备1206可以将电路组件1220传输到另一个系统。通信设备1206可以接收过程1212、用户输入1214、参数1216和/或电路组件1220并且使过程1212、用户输入1214、参数1216和/或电路组件1220存储在存储器1204中。
本文所讨论的实现包括但不限于以下示例:
实施例1:一种存储器设备,包括:多个存储体组集群;存储体组集群中的每个存储体组集群包括多个相应的存储体组;存储体组中的每个存储体组包括多个相应的存储体;其中对作为相同存储体组的成员的不同存储体的连续访问具有针对第一类型命令的第一命令到命令延迟间隔;对作为不同存储体组的成员的存储体的连续访问具有针对第一类型命令的第二命令到命令延迟间隔;并且对作为不同存储体组集群成员的存储体的连续访问具有针对第一类型命令的第三命令到命令延迟间隔,其中第一命令到命令延迟间隔、第二命令到命令延迟间隔和第三命令到命令延迟间隔都不相等。
示例2:示例1的存储器设备,其中第一命令到命令的延迟间隔大于第二命令到命令的延迟间隔。
示例3:示例1的存储器设备,其中第二命令到命令的延迟间隔大于第三命令到命令的延迟间隔。
示例4:示例1的存储器设备,其中第一级复用器功能将第一级总线与相应的第二级总线耦合,第一级总线与相应存储体组的存储体传递数据,第一级总线以第一频率操作。
示例5:示例4的存储器设备,其中第二级复用器功能将与第二级总线与相应的第三级总线耦合,第二级总线与相应存储体组集群的存储体组传递数据的,第三级总线以第三频率操作。
示例6:示例5的存储器设备,其中第三频率大于第一频率。
示例7:示例1的存储器设备,其中存储体组的多个相应的存储体由具有相同的频率和相对于彼此不同的相位延迟的时钟来定时。
示例8:一种存储器控制器,包括:调度逻辑,用以向存储器设备发出对被组织成至少多个存储体组集群的存储体的访问,每个存储体组集群包括多个相应的存储体组,其中每个存储体组中的每个存储体组包括多个相应的存储体;并且调度逻辑用以将第一延迟间隔用于被寻址到作为不同存储体组集群的成员的第一存储体的、第一类型的连续命令,并且将第二延迟间隔用于被寻址到既作为第一存储体组集群的成员又作为该第一存储体组集群的不同存储体组的成员的存储体的、第一类型的连续命令。
示例9:示例8的存储器控制器,其中调度逻辑用以将第三延迟间隔以用于被寻址到作为第一存储体组集群的第一存储体组的成员的第二存储体的、第一类型的连续命令。
示例10:示例8的存储器控制器,其中第一延迟间隔小于第二延迟间隔。
示例11:示例10的存储器控制器,其中第二延迟间隔小于第三延迟间隔。
示例12:示例8的存储器控制器,其中调度器能够发出导致第一存储体组集群的第一存储体组的第一存储体的多行同时被打开的命令。
示例13:示例8的存储器控制器,还包括:将相应的指示符与第一存储体的相应行地址段相关联的电路,行地址段对应于相应行地址范围。
示例14:示例13的存储器控制器,还包括:用以将相应的指示符设置为与第一存储体的相应行地址段相关联的第一值的电路,该相应行地址段不可用于打开相关联的相应行地址范围中的行,其中响应于至少存储器控制器处理对存储器设备的命令以打开第一存储体的相应行地址范围中的行,多个相应的指示符中的多个指示符被设置为第一值,其中第一存储体的相应行地址范围中的行与多个相应的指示符中的至少一个指示符相关联。
示例15:一种存储器设备,包括:多个存储体组,存储体组中的每个存储体包括多个相应的存储体;用以接收导致至少一个存储体的多行同时打开的命令的电路;其中对作为不同存储体组的成员的存储体的第一类型的连续命令具有第一延迟间隔;并且对作为相同存储体组的成员的存储体的第一类型的连续命令具有第二延迟间隔。
示例16:示例15的存储器设备,其中对存储体的第一打开行和存储体的第二打开行的第一类型的连续命令具有第三延迟间隔。
示例17:示例16的存储器设备,其中第一延迟间隔、第二延迟间隔和第三延迟间隔都不相等。
示例18:示例17的存储器设备,其中第一延迟间隔小于第二延迟间隔。
示例19:示例16的存储器设备,其中第二延迟间隔小于第三延迟间隔。
示例20:示例19的存储器设备,还包括:用以接收列访问命令的电路,该列访问命令包括用于选择存储器设备中的多个同时打开行中的一个打开行的信息。
为了说明和描述的目的已经呈现了本发明的前述描述。其并不旨在穷举或者将本发明限制为所公开的精确形式,并且根据上述教导,其他修改和变化是可能的。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够在适合预期的特定用途的各种实施例和各种修改中最好地利用本发明。除非受到现有技术的限制,否则所附权利要求旨在被解释为包括本发明的其他替代实施例。

Claims (20)

1.一种存储器设备,包括:
多个存储体组集群;
所述存储体组集群中的每个存储体组集群包括多个相应的存储体组;
所述存储体组中的每个存储体组包括多个相应的存储体;
其中对作为相同存储体组的成员的不同存储体的连续访问具有针对第一类型命令的第一命令到命令延迟间隔;
对作为不同存储体组的成员的存储体的连续访问具有针对所述第一类型命令的第二命令到命令延迟间隔;以及
对作为不同存储体组集群的成员的存储体的连续访问具有针对所述第一类型命令的第三命令到命令延迟间隔,其中所述第一命令到命令延迟间隔、所述第二命令到命令延迟间隔和所述第三命令到命令延迟间隔都不相等。
2.根据权利要求1所述的存储器设备,其中所述第一命令到命令延迟间隔大于所述第二命令到命令延迟间隔。
3.根据权利要求1所述的存储器设备,其中所述第二命令到命令延迟间隔大于所述第三命令到命令延迟间隔。
4.根据权利要求1所述的存储器设备,其中第一级复用器功能将第一级总线与相应的第二级总线耦合,所述第一级总线与相应存储体组的所述存储体传递数据,所述第一级总线以第一频率操作。
5.根据权利要求4所述的存储器设备,其中第二级复用器功能将与第二级总线与相应的第三级总线耦合,所述第二级总线与相应存储体组集群的所述存储体组传递数据,所述第三级总线以第三频率操作。
6.根据权利要求5所述的存储器设备,其中所述第三频率大于所述第一频率。
7.根据权利要求1所述的存储器设备,其中存储体组的所述多个相应的存储体由具有相同的频率和相对于彼此不同的相位延迟的时钟来定时。
8.一种存储器控制器,包括:
调度逻辑,用以向存储器设备发出对被组织成至少多个存储体组集群的存储体的访问,每个存储体组集群包括多个相应的存储体组,其中所述存储体组中的每个存储体组包括多个相应的存储体;以及
所述调度逻辑用以将第一延迟间隔用于被寻址到作为不同存储体组集群的成员的第一存储体的、第一类型的连续命令,并且将第二延迟间隔用于被寻址到既作为第一存储体组集群的成员又作为所述第一存储体组集群的不同存储体组的成员的存储体的、第一类型的连续命令。
9.根据权利要求8所述的存储器控制器,其中所述调度逻辑用以将第三延迟间隔用于被寻址到作为所述第一存储体组集群的第一存储体组的成员的第二存储体的、第一类型的连续命令。
10.根据权利要求8所述的存储器控制器,其中所述第一延迟间隔小于所述第二延迟间隔。
11.根据权利要求10所述的存储器控制器,其中所述第二延迟间隔小于所述第三延迟间隔。
12.根据权利要求8所述的存储器控制器,其中所述调度器能够发出导致所述第一存储体组集群的所述第一存储体组的第一存储体的多行同时被打开的命令。
13.根据权利要求8所述的存储器控制器,还包括:
用以将相应的指示符与所述第一存储体的相应多个行地址段相关联的电路,所述行地址段对应于相应行地址范围。
14.根据权利要求13所述的存储器控制器,还包括:
用以将所述相应的指示符设置为与所述第一存储体的所述相应行地址段相关联的第一值的电路,所述相应行地址段不可用于打开相关联的所述相应行地址范围中的行,其中响应于至少所述存储器控制器处理对所述存储器设备的命令以打开所述第一存储体的所述相应行地址范围中的行,所述相应的指示符中的多个指示符被设置为第一值,其中所述第一存储体的所述相应行地址范围中的所述行与所述相应的指示符中的至少一个指示符相关联。
15.一种存储器设备,包括:
多个存储体组,所述存储体组中的每个存储体组包括多个相应的存储体;
用以接收导致至少一个存储体的多行同时打开的命令的电路;
其中对作为不同存储体组的成员的存储体的第一类型的连续命令具有第一延迟间隔;以及
对作为相同存储体组的成员的存储体的所述第一类型的连续命令具有第二延迟间隔。
16.根据权利要求15所述的存储器设备,其中对存储体的第一打开行和所述存储体的第二打开行的第一类型的连续命令具有第三延迟间隔。
17.根据权利要求16所述的存储器设备,其中所述第一延迟间隔、所述第二延迟间隔和所述第三延迟间隔都不相等。
18.根据权利要求17所述的存储器设备,其中所述第一延迟间隔小于所述第二延迟间隔。
19.根据权利要求16所述的存储器设备,其中所述第二延迟间隔小于所述第三延迟间隔。
20.根据权利要求19所述的存储器设备,还包括:
用以接收列访问命令的电路,所述列访问命令包括用于选择所述存储器设备中的多个同时打开行中的一个打开行的信息。
CN202080059439.5A 2019-08-23 2020-08-13 分级存储体组时序 Pending CN114303193A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962891175P 2019-08-23 2019-08-23
US62/891,175 2019-08-23
PCT/US2020/046094 WO2021041041A1 (en) 2019-08-23 2020-08-13 Hierarchical bank group timing

Publications (1)

Publication Number Publication Date
CN114303193A true CN114303193A (zh) 2022-04-08

Family

ID=74684658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080059439.5A Pending CN114303193A (zh) 2019-08-23 2020-08-13 分级存储体组时序

Country Status (4)

Country Link
US (1) US20220328078A1 (zh)
EP (1) EP4018442A4 (zh)
CN (1) CN114303193A (zh)
WO (1) WO2021041041A1 (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938142B2 (en) * 2002-08-28 2005-08-30 Micron Technology, Inc. Multi-bank memory accesses using posted writes
JP4975288B2 (ja) * 2005-09-05 2012-07-11 ソニー株式会社 共有メモリ装置
JP4470183B2 (ja) * 2006-08-28 2010-06-02 エルピーダメモリ株式会社 半導体記憶装置
KR101543433B1 (ko) * 2009-02-02 2015-08-10 삼성전자주식회사 반도체 메모리 장치 및 그것을 포함하는 메모리 시스템
US8243546B2 (en) * 2009-09-08 2012-08-14 Lsi Corporation Systems and methods for peak power and/or EMI reduction
US9870325B2 (en) * 2015-05-19 2018-01-16 Intel Corporation Common die implementation for memory devices with independent interface paths
US10074413B2 (en) * 2016-03-17 2018-09-11 Toshiba Memory Corporation Semiconductor storage device
WO2017206000A1 (zh) * 2016-05-28 2017-12-07 华为技术有限公司 内存访问方法及内存控制器
KR102412609B1 (ko) * 2017-11-03 2022-06-23 삼성전자주식회사 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법
US20210286561A1 (en) * 2021-06-02 2021-09-16 Intel Corporation Double fetch for long burst length memory data transfer

Also Published As

Publication number Publication date
US20220328078A1 (en) 2022-10-13
EP4018442A4 (en) 2023-07-19
EP4018442A1 (en) 2022-06-29
WO2021041041A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
CN107924375B (zh) 用于高速存储器接口的命令仲裁
CN105229619B (zh) 具有指定区域存储器访问调度的存储器系统
US6938142B2 (en) Multi-bank memory accesses using posted writes
US7755968B2 (en) Integrated circuit memory device having dynamic memory bank count and page size
US11513689B2 (en) Dedicated interface for coupling flash memory and dynamic random access memory
US20150378956A1 (en) Memory physical layer interface logic for generating dynamic random access memory (dram) commands with programmable delays
CN109863481A (zh) 用于平台裕度调节和调试的软件模式寄存器访问
CN114902198B (zh) 用于异构存储器系统的信令
WO2010002685A2 (en) Memory throughput increase via fine granularity of precharge management
CN116324744A (zh) 具有多个命令子队列和对应的仲裁器的存储器控制器
TWI654607B (zh) 具有變化速度及密度之位元胞之靜態隨機存取記憶體架構
US20230297474A1 (en) Energy efficient storage of error-correction-detection information
KR20190002490A (ko) 저 전력 메모리 스로틀링
CN112384979A (zh) 为具有多个列的系统配置动态随机存取存储器刷新
KR20240024197A (ko) 다중-랭크 메모리 제어기에서의 효율적인 랭크 스위칭
CN114303193A (zh) 分级存储体组时序
JP2024512684A (ja) データファブリッククロックスイッチング
KR20240022655A (ko) 하이브리드 dram/영구 메모리 채널 중재 기능을 갖는 메모리 제어기
WO2022220965A1 (en) Adaptive memory access management
CN117099071A (zh) 存储器控制器功率状态
Thakkar et al. A novel 3D graphics DRAM architecture for high-performance and low-energy memory accesses
US20240112747A1 (en) Signal interference testing using reliable read write interface
US11114150B2 (en) Memory system with multiple open rows per bank
Jin et al. Prototype implementation and evaluation of a multibank embedded memory architecture in programmable logic
KR20240072272A (ko) 메모리에 대한 동적 셋업 및 홀드 시간 조정

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination