CN102834815B - 高利用率多分区串行存储器 - Google Patents
高利用率多分区串行存储器 Download PDFInfo
- Publication number
- CN102834815B CN102834815B CN201180007506.XA CN201180007506A CN102834815B CN 102834815 B CN102834815 B CN 102834815B CN 201180007506 A CN201180007506 A CN 201180007506A CN 102834815 B CN102834815 B CN 102834815B
- Authority
- CN
- China
- Prior art keywords
- memory
- read
- memory device
- partitions
- data
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Static Random-Access Memory (AREA)
- Memory System (AREA)
Abstract
一种存储器设备,该存储器设备包括输入接口,该输入接口接收在第一多个串行链路上的指令和输入数据。指令和输入数据在存储器设备上被去串行化,并将其提供给存储器控制器。存储器控制器响应于所接收的指令发起对存储器核的访问。存储器核包括多个存储器分区,这些存储器分区以循环和重叠方式被访问。这允许每个存储器分区工作在比串行链路更慢的频率下,同时适宜地为所接收的指令提供服务。对存储器设备的访问是以同步方式执行的,其中每个访问表现出已知的固定等待时间。
Description
发明领域
本发明涉及包括串行接口和多个存储器分区并以同步方式工作的存储器设备。
背景技术
传统存储器已使用多个存储器分区来限制位线和数据/地址总线的长度。通过限制位线和数据/地址总线的长度,存储器的工作频率可增加。
传统多分区SRAM设备通常具有外部设备地址/数据总线,设计该外部设备地址/数据总线的大小以使其匹配各存储器分区的随机访问带宽。在这些多分区SRAM设备中,多个存储器分区中一次仅一个是活动的。
传统的多分区DRAM设备,例如等待时间减少的DRAM(RLDRAM),通常具有是各存储器分区的随机访问带宽的倍数的外部设备地址/数据总线带宽。在这些RLDRAM设备中,以循环方式对诸存储器分区进行访问,以使多个存储器分区能同时活动。
存储器带宽历史上通过架构和工艺革新以极快的速度增长。然而,封装技术,更具体地说是输入/输出(I/O)带宽,并未如此迅速地增长。最终,外部地址/数据总线的带宽(BE)将限制多分区存储器设备的带宽。也就是说,必须设计一种多分区存储器设备以使存储器分区的数目乘以每个存储器分区的带宽不超出外部地址/数据总线的带宽。
Norman的美国专利7,552,468涉及一种包括多个存储器平面和串行存储器接口的存储器系统。然而,这种存储器系统是一种不同步系统,其不理想地需要在串行存储器接口和存储器平面之间设有仲裁器、开关和握手机制。
结果,该系统的访问等待时间是不确定的。
因此需要提供一种其带宽不受外部地址/数据总线带宽限制的多分区存储器系统。进一步要求这种多分区存储器系统响应于系统时钟信号以同步方式工作,由此访问等待时间是确定的。
发明内容
因此,本发明提供一种多分区存储器设备,该多分区存储器设备包括串行接口并以同步方式工作,具有已知的固定访问等待时间。指令和输入数据在多个串行链路上以一高频率(例如10G)被提供给存储器设备。在存储器设备上将所接收的指令和输入数据去串行化,并将其提供给存储器控制器。存储器控制器响应于所接收的指令发起对存储器核的访问。存储器核包括多个存储器分区,这些存储器分区以循环重叠的方式被访问。换句话说,诸个存储器分区在分配的时隙内被连续访问,所述分配的时隙以系统时钟信号为基准。以这种方式访问存储器分区允许诸存储器分区中的每一个工作在比串行链路更低的频率下,同时允许诸存储器分区对所接收的指令适当地提供服务。对多分区存储器设备的访问是响应于系统时钟信号以同步方式执行的。多分区存储器系统的访问等待时间可由数个周期的系统时钟信号规定。
较为有利地,对本发明的多分区存储器系统的访问不需要仲裁。
本发明通过下面说明书和附图的启示将变得更容易理解。
附图简述
图1是根据本发明一实施例的系统的框图,该系统包括访问设备和多分区存储器系统。
图2A是更详细地示出根据本发明一个实施例的图1的多分区存储器系统的框图。
图2B是示出根据本发明一个实施例访问图2A的多分区存储器系统的方式的波形图。
图3是示出根据本发明的一个变例能取代图2A的访问逻辑和存储器核的访问逻辑和存储器核的框图。
图4是示出根据本发明一个实施例的帧存储应用的框图。
图5是示出根据本发明另一实施例的控制存储应用的框图。
图6是示出根据本发明另一实施例的递增立即应用的框图。
图7A是传统存储器系统的框图,并示出在访问处理器和存储器设备之间的传统读-修正-写操作的实现。
图7B是示出根据本发明一个实施例、由图6的递增立即应用实现的读-修正-写操作的框图。
详细描述
图1是根据本发明一个实施例的系统100的框图。系统100包括访问设备101和存储器设备102。访问设备101可以例如是芯片上的系统(SOC),它包括发起对存储器设备102的访问的处理器(未示出)。访问设备101通过多个串行链路耦合至存储器设备102。在所描述的例子中,使用八个串行链路FS[7:0]来将帧存储(写)数据从访问设备101发送至存储器设备102,并使用八个串行链路CA[7:0]来将命令/地址信号从访问设备101发送至存储器设备102。使用十六个串行链路FA0[7:0]和FAi[7:0]来将帧访问(读)数据从存储器设备102发送至访问设备101。在所描述的实施例中,串行链路中的每一个执行差分信令,并以10Gb/秒(10G)的速率发送信息。
尽管结合工作在特定传输速率下的特定数量串行链路对本发明进行描述,然而要理解在其它实施例中可使用其它数量的串行链路和其它传输速率。此外,尽管这里描述的例子使用第一组串行链路FS[7:0]来发送写数据并使用第二组串行链路CA[7:0]来发送命令/地址信号,然而要理解也可使用共用的一组串行链路以时间复用方式来发送写数据和命令/地址信号。例如,可在第一时间周期内在十六个串行链路(FS[7:0]和CA[7:0])上发送与事务相关的控制/地址信号,并可在第二时间周期内在这些同样的十六个串行链路上发送相应的写数据(如果有的话)。
在访问设备101中,组帧器和串行化器模块111将并行的写数据转换成串行的写数据,在串行链路FS[7:0]上将该串行的写数据发送至存储器设备102。同样,组帧器和串行化器模块112将并行的地址/控制信息转换成串行数据,在串行链路CA[7:0]上将该串行数据发送至存储器设备102。在存储器设备102中,去歪斜、去组帧和去串行化器模块121、122接收串行链路FS[7:0]和CA[7:0]上的串行数据,并将该数据转换成并行信息,该并行信息被提供给存储器控制器124。作为响应,存储器控制器124如由串行链路CA[7:0]上接收的地址/控制信息所规定的那样执行对多分区存储器核125的访问。读访问导致将并行数据从多分区存储器核125提供至存储器控制器124,并随后至组帧器和串行化器模块123。组帧器和串行化器模块123将并行的读数据转换成串行数据,在串行链路FA0[7:0]和/或FA1[7:0]上将该串行数据发送至访问设备101。去歪斜、去组帧和去串行化器模块113将串行链路FA0[7:0]和FA1[7:0]上提供的数据转换成并行的读数据,该并行的读数据由访问设备101使用。
如下文中更详细描述的那样,可以循环随机方式在多分区存储器核125中执行重叠访问,由此获得去往/来自多分区存储器核125的相对高的数据传输速率。在所描述的实施例中,由串行链路FS、CA和FAX提供的高的数据传输速率防止了设备101、102之间的接口成为这些设备之间的传输中的限制性因素。
访问设备101和存储器设备102分别包括锁相环(PLL)110、120。PLL 110、120响应于公共系统时钟SCLK产生内部时钟信号。由PLL 110、120产生的内部时钟信号分别用来控制设备101、102中的事务的时序。访问设备101和存储器设备102之间的事务相对于系统时钟信号SCLK是同步的。也就是说,当访问设备101发起对存储设备102的访问时,访问将通过存储器设备102以相对于系统时钟信号SCLK固定的等待时间来完成。例如,如果访问设备101发起读访问,则存储器设备102将执行相应的读操作并以已知等待时间将读数据值返回给访问设备,所述已知等待时间是以系统时钟信号SCLK为基准的。同样,如果访问设备101发起写访问,则存储器设备102以已知等待时间完成相应的写操作,该已知等待时间是以系统时钟信号SCLK为基准的。较为有利地,存储器设备102不需要执行访问请求的仲裁,或从事与访问设备101的握手操作。
根据本发明的一个方面,访问设备101和存储器设备之间的串行链路CA[7:0]除了读和写访问(即混合型存储器宏操作)外还用来规定输入/输出(I/O)事务。结果,较为有利地使访问设备101和存储器设备102之间的I/O事务更为高效率。例如,访问设备101可规定分组操作(打包/解包,排队/退出排队)、统计操作(递增、递减)和/或链路列表操作(插入/删除,跟随),这些操作全部在存储器设备102中执行。下面更详细地描述规定统计操作(即计数器递增功能)的示例性I/O事务。
图2A是更详细地示出根据本发明一个实施例的存储器系统102的框图。存储器系统102包括串行/去串行(SerDes)物理层接口(PHY)201和206、芯片输入接口202、访问逻辑块203、多分区存储器核125和芯片输出接口205。总地来说,SerDes PHY 201对应于图1中的去歪斜、去组帧和去串行化器模块121-122,而SerDes PHY 206对应于图1中的组帧器和串行化器模块123。芯片输入接口202、访问逻辑203和芯片输出接口205大致对应于图1中的存储器控制器124。
总地来说,SerDes PHY 201耦合于串行链路FS[7:0]和CA[7:0],并接收在这些串行链路上传输的相应写数据和地址/控制信息。SerDes PHY 201执行通道初始化、去歪斜、帧对齐、去串行化、去扰码以及对所接收的串行数据的逐通道纠错(CRC)。在所描述的例子中,SerDes PHY 201响应于本地位时钟信号执行这些操作,该本地位时钟信号是由PLL120响应于系统时钟信号SCLK而产生的。一旦完成前述操作,SerDes PHY 201将80位宽度值(帧)提供给芯片输入接口202。在所描述的例子中,SerDes PHY 201每十个循环(即在1GHz的频率下)从串行链路FS[7:0]提供一个80位的帧(例如写数据)并从串行链路CA[7:0]提供一个80位的帧(例如访问命令)。
芯片输入接口202对所接收的80位帧值执行检错和纠错,并作为响应,将72位经纠正的帧值(即72位的访问指令和72位的写数据值)提供给访问逻辑203。芯片输入接口202也执行管理活动,该管理活动可包括例如维持帧计数并请求帧的重发(如有必要)。芯片输入接口202响应于本地位时钟信号工作,并在1GHz的频率下路由72位经纠正的帧值。
在访问逻辑块203内,指令解码和派发逻辑210接收由芯片输入接口202提供的72位经纠正的帧值。指令解码和派发逻辑210对从命令/地址串行链路CA[7:0]接收的72位经纠正的帧值进行解码,由此识别由该72位经纠正的帧值(即访问指令)规定的访问操作。这些操作包括但不限于:读、写、读-修正-写和无操作。从命令/地址串行链路CA[7:0]接收的72位经纠正的帧值也识别拟在多分区存储器核125中访问的存储器分区的地址。在所描述的实施例中,多分区存储器核125包括四个存储器分区M0-M3。然而要理解,在其它实施例中也可使用其它数量的存储器分区。一旦以前述方式对访问指令进行了解码,则指令解码和派发逻辑210发起对由访问指令规定的存储器分区的访问(或多次访问)。
根据一个实施例,存储器核125中的每个存储器分区具有一工作频率,该工作频率是将数据提供给指令解码和派发逻辑210所用频率的1/N,其中N代表存储器核125中的分区的数目。如前所述,72位经纠正的帧值在所述实施例中以1GHz的频率提供给指令解码和派发逻辑210。在该实施例中,存储器分区M0-M3中的每一个工作在250MHz(即1GHz/4)的频率下。对存储器分区M0-M3的访问是在预分配的时隙期间发起的,以使存储器分区M0-M3中的每一个在1GHz时钟信号的每四个循环中接收至多一个访问指令。
在这里描述的例子中,存储器分区M0-M3中的每一个是由64个存储器排实现的,每个存储器排具有存储每个为72位的32K条目的能力。存储器排中的存储器单元可以是例如单端口DRAM或SRAM单元。存储器分区M0-M3中的每一个包括两个72位读数据总线。每个存储器分区中的存储器排被耦合至与该存储器分区关联的两个72位读数据总线中的两者。如下面更详细描述的,可同时读出给定存储器分区中的两个不同的存储器排,作为结果的读数据值被提供在存储器分区的两个72位读数据总线上。如同样在下面更详细描述的,可将写数据值写至给定存储器分区中的第一存储器排,而同时从同一存储器分区中的第二存储器排读出读数据值。在所描述的例子中,存储器排中的每一个具有250MHz的工作频率。用于实现存储器分区M0-M3的一个示例性方法和结构更详细地记载在Richard S.Roy和DipakSikdar共同享有、共同提交的题为“HIERARCHICAL MULTI-BANK MULTI-PORT MEMORYORGANIZATION(分阶层的多存储器排多端口存储器构架)”的美国专利申请S/N yy/yyy,yyy[委托案号No.MST-037],这两篇文献通过引用全文地包含于此。
在一替代实施例中,存储器分区M0-M3中的每一个可由一个(或多个)多端口存储器阵列(包括但不局限于双端口或三端口存储器阵列或其组合形式)实现。例如,每个存储器分区M0-M3可由传统多端口SRAM阵列实现,该传统多端口SRAM阵列能执行两次同时的读操作、或同时的读和写操作,如所描述实施例中要求的那样。
存储器分区M0-M3响应于具有相对低频率(例如250MHz)的存储器循环时钟而工作。存储器循环时钟可由例如PLL(未示出)建立,所述PLL接收本地位时钟并作为响应产生存储器循环时钟。
尽管存储器分区M0-M3在所述例子中被描述为具有两个读数据总线,然而要理解,在其它实施例中每个存储器分区可具有单个读输出数据总线。该存储器分区可例如使用单端口DRAM或单端口SRAM单元来实现。此外,尽管存储器分区M0-M3在所述例子中被描述为具有多个存储器排,然而要理解,每个存储器分区在其它实施例中也可实现为单存储器排。
数据输出多路复用器215接收从存储器分区M0-M3读出的72位数据值。指令解码和派发逻辑210控制数据输出多路复用器215以路由从存储器分区M0-M3读出的72位数据值。在所描述的例子中,数据输出多路复用器215路由72位数据值(或成对的72位数据值),所述72位数据值是在1GHz的频率下从存储器分区M0-M3读出的。更具体地,数据输出多路复用器215以循环方式路由从存储器分区M0-M3读出的数据,以使读出的数据在1GHz本地位时钟信号的相继循环期间从不同的存储器分区被路由出,并使数据输出多路复用器215在1GHz时钟信号的每四个循环期间至多路由来自特定存储器分区的数据一次。
由数据输出多路复用器215路由的72位读数据值被提供给读-修正-写(RMW)逻辑220和芯片输出接口205,如图所示。如下面更详细描述的那样,RMW逻辑220可修正由数据输出多路复用器215提供的读数据值,由此实现特定的I/O事务(例如读-修正-写)。
尽管访问逻辑块203图示为包括指令解码和派发逻辑210和RMW逻辑220,然而要理解,访问逻辑块203也可包括其它传统逻辑,包括但不局限于串行外围接口、差错寄存器、JTAG接口、BIST电路和/或保险丝。
芯片输出接口205接收由数据输出多路复用器215提供的72位读值,并作为响应产生80位输出帧值。例如,芯片输出接口205可将层ID位、分组ID位和6位CRC值加至所接收的72位读出值以形成80位输出帧值。芯片输出接口205也可进行管理活动,所述管理活动可包括维持发送帧的计数并将所发送的帧信息存储在回放缓冲器中以使重发变得可能。
由芯片输出接口205提供的80位输出帧值被路由至SerDes PHY 206。作为响应,SerDes PHY 206对所接收的80位输出帧值执行通道初始化、条纹化、串行化、扰码和逐通道CRC。SerDes PHY 206在十个循环的周期内(即在1GHz的频率下)将作为结果的80位帧值提供给串行链路FA0[7:0]和/或FA1[7:0]。注意如果只有一个80位输出帧值需要返回到访问设备101(由于之前从多个存储器分区M0-M3之一检取了仅一个72位读数据值),则该80位输出帧值在10个循环的周期内在8个串行链路(例如FA0[7:0])上被发送。
图2B是示出根据本发明一个实施例的对存储器分区M0-M3的循环重叠访问的波形图。如图2B所示,在串行链路CA[7:0]上以1GHz的频率提供读指令I0-I11。更具体地,分别在1GHz时钟信号CLK1G的循环C0-C11期间提供读指令I0-I11。读指令I0-I11以循环方式指定存储器分区M0-M3,以使每个存储器分区在时钟信号CLK1G的每四个循环中被访问一次。在图示例子中,在由循环C0、C4和C8定义的时隙期间提供指定存储器分区M0的读指令I0、I4、I8;在由循环C1、C5和C9定义的时隙期间提供指定存储器分区M1的读指令I1、I5和I9;在由循环C2、C6和C10定义的时隙期间提供指定存储器分区M2的读指令I2、I6和I10,在由循环C3、C7和C11定义的时隙期间提供指定对存储器分区M3的读操作的读指令I3、I7和I11。
如图所示,读操作R0-R11是在存储器分区M0-M3内执行的,其中每个读操作是在时钟信号CLK1G的四个循环(即以250MHz的频率)执行的。在不同的存储器分区M0-M3中的读操作是以重叠方式进行的。例如,读操作R0、R1和R2是分别在循环C5期间在存储器分区M0、M1和M2中执行的。在图2B的波形图中,两个循环的延时存在于在串行链路CA[7:0]上接收到读指令I0-I11的时间和发起相应读操作的时间之间。然而要理解,在其它例子中可能存在其它延时。
分别与读操作R0-R11关联的读数据值D0-D11是由数据输出多路复用器215路由的并以1GHz的频率分别在循环C9-C19提供在串行链路FA0[7:0]上。在图2B的波形图中,两个循环的延时存在于在存储器分区M0-M3中完成读指令I0-I11的时间和在串行链路FA0[7:0]上提供相应读数据值的时间之间。然而要理解,在其它例子中可能存在其它延时。
如图2B所示,对存储器设备102的每次访问具有固定的访问等待时间。因此,在图示的例子中,访问设备101将在串行链路CA[7:0]上发送读指令后(CLK1G的)八个循环在串行链路FAo[7:0]上接收读数据值。
运作多分区存储器核125的其它方法在Richard S.Roy的共同享有、共同提交的题为“HEIRARCHICAL ORGANIZATION OF LARGE MEMORY BLOCKS(大型存储器模块的阶层构架)”的美国专利申请S/N.xx,xxx,xxx,[委托案号No.MST-035]中有更详细的记载,该文献通过引用全文地包含于此。
图3是示出根据本发明的一个变例能取代访问逻辑203和存储器核125(图2A)的访问逻辑303和存储器核304的框图。在该变例中,存储器分区M0-M3中的每一个分别具有相应的RMW逻辑块320-323。RMW逻辑块320-323被耦合以接收从存储器分区M0-M3读出的72位读数据值。结果,RMW逻辑块320-323能以循环重叠方式工作(在指令解码和派发逻辑310的控制下),由此减轻可能由对所有存储器分区M0-M3提供服务的单RMW逻辑块(例如RMW逻辑块220)引入的潜在瓶颈。从另一方面看,RMW逻辑块320-323中的每一个可工作在与相应存储器分区M0-M3相同的频率(例如250MHz)下,同时RMW逻辑块220需要工作在与指令解码和派发逻辑210相同的频率(例如1GHz)下。
现在结合特定指令描述存储器设备102的操作。
图4是示出根据本发明一个实施例的帧存储应用的框图。帧存储应用为帧存储提供平衡的读/写带宽。在10个循环(即以1GHz的频率)将一对80位帧值410、420分别在串行链路FS[7:0]和CA[7:0]上提供给存储器设备102。在串行链路FS[7:0]上接收的80位帧值410包括72位写数据值411、2位保留字段412以及6位CRC值413。在串行链路CA[7:0]上接收的80位帧值420包括8位写命令421、28位写地址422、8位读命令423、28位读地址424、1位值425(它定义了事务或数据链路层并且是用于存储器或接口的指令值)、1位确认值426和6位CRC值427。
80位帧值410和420以前述方式由Serdes PHY 201和芯片输入接口202处理,以使指令解码和派发逻辑210接收72位写数据值411、8位写命令421、28位写地址422、8位读命令423和28位读地址424。指令解码和派发逻辑210同时发起响应于写命令421的写操作和响应于读命令423的读操作。写操作使得72位写数据值411被写至由写地址字段422指定的地址。读操作使得72位读数据值431从由读地址字段424指定的地址被读出。在所描述的例子中,写操作和读操作是对同一存储器分区中的不同存储器排执行的。然而,在其它例子中,写操作和读操作可对不同的存储器分区执行。72位读数据值431通过数据输出多路复用器215路由,并以前述方式由芯片输出接口205和SerDes PHY 206处理,从而将有效位432、确认位433和CRC位434加至72位读数据值431以建立80位输出帧值430。该输出帧值430在10个循环(即以1GHz的频率)在串行链路FA0[7:0]上从SerDes PHY 206发送出。帧存储应用表现出144Gbps的数据传输速率(即以1GHz写入72位字和在1GHz读出72位字)。注意可连续运行帧存储应用,只要存储器分区M0-M3以循环方式被访问(例如帧存储操作0、1、2、3、4、5、6、7等分别访问存储器分区M0、M1、M2、M3、M0、M1、M2、M3等)。由于存储器分区M0-M3中的每一个以相对低的频率(例如250MHz)工作,因此帧存储应用的功耗相对低,一般低于7瓦。
图5是示出根据本发明另一实施例的控制存储索引应用的框图。控制存储索引应用可供高速表格检索。控制存储索引指令510包括80位帧值,该80位帧值在10个循环(即在1GHz的频率下)中在串行链路CA[7:0]上被提供给存储器设备102。80位控制存储索引指令510包括第一8位读命令511、第一28位读地址512、第二8位读命令513、第二28位读地址514、1位值515(它定义了事务或数据链路层并且是存储器或接口的指令值)、1位确认值516和6位CRC值517。
80位控制存储索引指令510以前述方式由SerDes PHY 201和芯片输入接口202处理,以使指令解码和派发逻辑210接收第一8位读命令511、第一28位读地址512、第二8位读命令513以及第二28位读地址514。指令解码和派发逻辑210同时发起响应于写第一读命令511的第一读操作和响应于第二读命令513的第二读操作。第一读操作使得72位读数据值531从由第一读地址512指定的地址中被读出。第二读操作使得72位读数据值541从由第二读地址514指定的地址中被读出。在所描述的例子中,第一和第二读操作是对同一存储器分区中的不同存储器排执行的。然而,在其它例子中,第一和第二读操作可对不同的存储器分区执行。72位读数据值531、541通过数据输出多路复用器215被同时路由,并以前述方式由芯片输出接口205和SerDes PHY 206处理,从而将有效位532、确认位533和CRC位534加至72位读数据值531以建立80位输出帧值530,并将有效位542、确认位543和RC位544加至72位读数据值541以建立80位输出帧值540。这些80位输出帧值530、540在10个循环(即以1GHz的频率)中在串行链路FA0[7:0]和FA1[7:0]上从SerDes PHY 206发送出。帧存储应用表现出144Gbps的数据传输速率(即在1GHz下读取两个72位字)。
注意可将控制存储索引指令连续地应用于存储器设备102,只要控制存储索引指令以循环方式访问存储器分区M0-M3(例如控制存储索引指令0、1、2、3、4、5、6、7等分别访问存储器分区M0、M1、M2、M3、M0、M1、M2、M3等)。由于存储器分区M0-M3中的每一个工作在相对低的频率(例如250MHz),因此控制存储索引应用的功耗相对低,一般低于7瓦。
图6是示出根据本发明另一实施例的递增立即应用的框图。该递增立即应用可供高效的统计控制(例如递增/递减功能)。递增立即指令610允许访问设备101以高效方式将存储在存储器设备102中的值递增/递减。递增立即指令610包括80位值,该80位值在10个循环(即在1GHz的频率下)中在串行链路CA[7:0]上被提供给存储器设备102。该80位递增立即指令610包括8位读-修正-写命令611、28位事务地址612、32位立即值613、7位保留字段614和6位CRC值615。
该80位递增立即数指令610以前述方式由SerDes PHY 201和芯片输入接口202处理,以使指令解码和派发逻辑210接收8位读-修正-写命令611、28位事务地址612以及32位立即值613。作为响应,指令解码和派发逻辑210发起读操作。该读操作使72位读数据值从存储器分区M0-M3之一、并从由事务地址612指定的地址中读出。该72位读数据值通过数据输出多路复用器215被路由至RMW逻辑220。RMW逻辑220也从指令解码和派发逻辑210接收立即值613。RMW逻辑220将立即值613加至检索到的72位读数据值,由此形成经修正的72位数据值。指令解码和派发逻辑210随后执行写操作,其中经修正的72位数据值被写回到存储器核125中由事务地址612指定的地址。由于递增立即指令610需要对由交易地址612所标识的存储器分区进行两次连续的访问(读和写),因此访问设备101不允许再次访问该存储器分区,直到经修正的数据值已被写回至指定的存储器分区之后。在所描述的例子中,由递增立即指令610指定的操作在125MHz的频率下完成(即在250MHz下进行一次读操作并在250MHz下进行一次写操作)。
如下面更详细描述的那样,递增立即指令610较为有利地允许在存储器设备102中执行读-修正-写操作,而不加重访问设备101或访问设备101和存储器设备102之间的接口的负担。
图7A是传统存储器系统700的框图,该传统存储器系统700包括访问处理器701和存储器设备702。为了将存储器设备702中的存储器值(计数值)递增,访问处理器701必须将读指令发送至存储器设备702。存储器设备702必须随后执行读操作以检取该存储器值,并随后将该检取到的存储器值发送至访问处理器701。访问处理器701必须将所检取的存储器值递增一立即值,由此形成经递增的存储器值。访问处理器701必须随后将写指令发送给存储器设备702,由此指令存储器设备702将递增后的存储器值回写至最初的存储器位置。该进程需要访问处理器701和存储器设备702之间显著量的带宽。另外,该进程需要访问处理器701存储该立即值并在存储器设备702执行读操作的同时保持跟踪递增操作。
图7B是示出递增立即指令610的操作的框图。访问处理器101将递增立即指令610发送至存储器设备102。在该点,访问处理器101已完成其在操作中所扮演的角色。也就是说,访问处理器101不需要等待来自存储器设备102的结果或存储该立即数据。一旦接收到递增立即指令610,存储器设备102从存储器分区M0-M3中的指定地址读取拟递增的存储器值,并将该存储器值提供给RMW逻辑220。存储器设备102也将包含在递增立即指令中的立即值提供给RMW逻辑220。RMW逻辑220将该立即值加至所检取的存储器值以建立经修正的存储器值。指令解码和派发逻辑210随后使经递增的存储器值被写回至存储器分区M0-M3中相关的地址。由于在访问设备101和存储器设备102之间执行一次存储器事务只需要I/O带宽、功率和引脚,因此能实现显著的节省。
本例的读-修正-写操作可用于数据操作(即递增/递减、旗语、布尔标志操作)、对数据结构行进的指针间接寻址和/或数据打包/解包(工具箱以使分组量失配与内部存储器字长相匹配)。尽管已结合对计数器值进行递增而对RMW逻辑220进行了描述,然而要理解,RMW逻辑220也可用来实现其它操作,包括但不局限于,指针修正、将条目插入到链接的列表(或其它链接的列表操作)中、执行条件性存储操作或执行查找表操作。
尽管已结合若干实施例对本发明进行了描述,然而要理解本发明不仅限于所披露的实施例,而是能够由多种修正形式,这些修正形式对本领域内技术人员来说是明显的。因此,本发明仅由下面的权利要求书限定。
Claims (19)
1.一种存储器设备,包括:
输入接口,所述输入接口接收在第一多个串行链路上的指令;
存储器核,所述存储器核包括多个存储器分区;以及
存储器控制器,所述存储器控制器耦合以从输入接口接收所述指令,并作为响应,以循环方式发起对所述存储器核的存储器分区的访问,其中所述存储器控制器以重叠方式访问所述多个存储器分区,并且其中对所述存储器分区的所述访问是以从所述输入接口在所述第一多个串行链路上接收到所述指令的时间起的固定等待时间执行的。
2.如权利要求1所述的存储器设备,其特征在于,还包括时钟端子,所述时钟端子接收系统时钟信号,其中所述固定等待时间以所述系统时钟信号为基准。
3.如权利要求2所述的存储器设备,其特征在于,所述存储器控制器和所述存储器核响应于所述系统时钟信号同步地工作。
4.如权利要求1所述的存储器设备,其特征在于,还包括输出接口,所述输出接口在第二多个串行链路上提供从所述存储器核读出的数据。
5.如权利要求1所述的存储器设备,其特征在于,所述输入接口执行串行-去串行(SerDes)转换。
6.如权利要求1所述的存储器设备,其特征在于,还包括多路复用器,所述多路复用器耦合以接收从所述多个存储器分区读取的读数据值,其中所述存储器分区工作在第一频率下,并且所述多路复用器以大于所述第一频率的第二频率路由所述读数据值。
7.如权利要求1所述的存储器设备,其特征在于,还包括读-修正-写逻辑,所述读-修正-写逻辑耦合以接收从所述存储器核读取的数据值以及来自所述存储器控制器的信息。
8.如权利要求7所述的存储器设备,其特征在于,所述来自存储器控制器的信息是从指令导出的。
9.如权利要求8所述的存储器设备,其特征在于,来自所述存储器控制器的信息包括立即值,所述立即值拟被加至从存储器核读出的数据值。
10.一种用于高利用率多分区串行存储器的方法,包括:
在第一多个串行链路上将指令提供给存储器设备;
响应所述指令以循环方式访问所述存储器设备中的多个存储器分区,并且还以重叠方式访问所述多个存储器分区,其中对所述存储器分区的每次访问具有从所述指令中对应的一个在所述第一多个串行链路上被提供给所述存储器设备的时间起的固定的访问等待时间。
11.如权利要求10所述的方法,其特征在于,还包括在第二多个串行链路上将写数据提供给所述存储器设备。
12.如权利要求11所述的方法,其特征在于,还包括在第三多个串行链路上从所述存储器设备提供读数据。
13.如权利要求10所述的方法,其特征在于,还包括在所述第一多个串行链路上将写数据提供给所述存储器设备。
14.如权利要求13所述的方法,其特征在于,还包括在第二多个串行链路上从所述存储器设备提供读数据。
15.如权利要求10所述的方法,其特征在于,还包括响应系统时钟信号以同步方式运行所述存储器分区,其中所述固定访问等待时间是从所述系统时钟信号导出的。
16.如权利要求10所述的方法,其特征在于,还包括:
以循环重叠方式从所述多个存储器分区中读取数据值,其中所述存储器分区中的每一个在第一频率下工作;以及
在与所述第一频率不同的第二频率下将从所述多个存储器分区读出的数据值进行多路复用。
17.如权利要求10所述的方法,其特征在于,还包括:
响应于所述指令中的一个从所述多个存储器分区中的一个分区读出数据值;
响应所述指令中的一个指令对所述数据值进行处理,由此建立一经修正的数据值。
18.如权利要求17所述的方法,其特征在于,还包括将所述经修正的数据值回写至所述多个存储器分区中的一个分区。
19.如权利要求17所述的方法,其特征在于,所述处理数据值的步骤包括将所述数据值递增一包含在其中一个指令中的立即值。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/697,141 US9342471B2 (en) | 2010-01-29 | 2010-01-29 | High utilization multi-partitioned serial memory |
| US12/697,141 | 2010-01-29 | ||
| PCT/US2011/022082 WO2011094133A2 (en) | 2010-01-29 | 2011-01-21 | High utilization multi-partitioned serial memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN102834815A CN102834815A (zh) | 2012-12-19 |
| CN102834815B true CN102834815B (zh) | 2017-02-08 |
Family
ID=44320061
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201180007506.XA Expired - Fee Related CN102834815B (zh) | 2010-01-29 | 2011-01-21 | 高利用率多分区串行存储器 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9342471B2 (zh) |
| EP (1) | EP2529311B1 (zh) |
| CN (1) | CN102834815B (zh) |
| TW (1) | TWI563516B (zh) |
| WO (1) | WO2011094133A2 (zh) |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7822911B2 (en) * | 2007-08-15 | 2010-10-26 | Micron Technology, Inc. | Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same |
| US8291174B2 (en) | 2007-08-15 | 2012-10-16 | Micron Technology, Inc. | Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same |
| US8055852B2 (en) | 2007-08-15 | 2011-11-08 | Micron Technology, Inc. | Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same |
| US9354823B2 (en) | 2012-06-06 | 2016-05-31 | Mosys, Inc. | Memory system including variable write burst and broadcast command scheduling |
| WO2012024699A1 (en) | 2010-08-20 | 2012-02-23 | Mosys, Inc. | Data synchronization for circuit resources without using a resource buffer |
| US8850137B2 (en) * | 2010-10-11 | 2014-09-30 | Cisco Technology, Inc. | Memory subsystem for counter-based and other applications |
| US10026458B2 (en) * | 2010-10-21 | 2018-07-17 | Micron Technology, Inc. | Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size |
| US20130159812A1 (en) * | 2011-12-16 | 2013-06-20 | Advanced Micro Devices, Inc. | Memory architecture for read-modify-write operations |
| US9111042B1 (en) * | 2012-03-23 | 2015-08-18 | Altera Corporation | 1588 deterministic latency with gearbox |
| US9377957B2 (en) * | 2013-02-12 | 2016-06-28 | Marvell World Trade Ltd. | Method and apparatus for latency reduction |
| JP6201401B2 (ja) * | 2013-04-26 | 2017-09-27 | 富士通株式会社 | タイミング制御回路 |
| US9613684B2 (en) * | 2014-06-05 | 2017-04-04 | Gsi Technology, Inc. | Systems and methods involving propagating read and write address and data through multi-bank memory circuitry |
| US10095437B2 (en) * | 2015-08-03 | 2018-10-09 | Intel Corporation | Memory access control |
| US10152262B2 (en) | 2016-05-03 | 2018-12-11 | Micron Technology, Inc. | Memory access techniques in memory devices with multiple partitions |
| KR102518983B1 (ko) * | 2016-05-18 | 2023-04-07 | 에스케이하이닉스 주식회사 | 직/병렬화 회로 및 이를 이용한 데이터 처리 시스템 |
| CN107797765B (zh) * | 2017-09-26 | 2020-09-25 | 昆明理工大学 | 一种延长电可擦除存储元件使用寿命的方法 |
| US10783216B2 (en) * | 2018-09-24 | 2020-09-22 | Semiconductor Components Industries, Llc | Methods and apparatus for in-place fast Fourier transform |
| WO2023034576A1 (en) * | 2021-09-03 | 2023-03-09 | Meta Platforms Technologies, Llc | Sram design for energy efficient sequential access |
| US12068054B2 (en) | 2021-09-03 | 2024-08-20 | Meta Platforms Technologies, Llc | SRAM design for energy efficient sequential access |
| TWI792732B (zh) | 2021-11-30 | 2023-02-11 | 慧榮科技股份有限公司 | 介面電路、記憶體控制器與用以校正介面電路內之訊號處理裝置之校正方法 |
| CN120144486A (zh) * | 2025-03-03 | 2025-06-13 | 无锡众星微系统技术有限公司 | 基于单端口ram实现高性能缓存的处理装置、系统及方法 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1581104A (zh) * | 2003-08-12 | 2005-02-16 | 华为技术有限公司 | 一种动态存储器的访问方法 |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4345604B3 (de) * | 1992-03-06 | 2012-07-12 | Rambus Inc. | Vorrichtung zur Kommunikation mit einem DRAM |
| US5452429A (en) * | 1993-11-17 | 1995-09-19 | International Business Machines Corporation | Error correction code on add-on cards for writing portions of data words |
| US5948089A (en) * | 1997-09-05 | 1999-09-07 | Sonics, Inc. | Fully-pipelined fixed-latency communications system with a real time dynamic bandwidth allocation |
| US7363422B2 (en) | 2000-01-05 | 2008-04-22 | Rambus Inc. | Configurable width buffered module |
| US6853382B1 (en) * | 2000-10-13 | 2005-02-08 | Nvidia Corporation | Controller for a memory system having multiple partitions |
| JP3520283B2 (ja) * | 2002-04-16 | 2004-04-19 | 沖電気工業株式会社 | 半導体記憶装置 |
| WO2004053680A2 (en) * | 2002-12-12 | 2004-06-24 | Koninklijke Philips Electronics N.V. | Configurable memory partitioning in hardware |
| US7308524B2 (en) | 2003-01-13 | 2007-12-11 | Silicon Pipe, Inc | Memory chain |
| US7042913B2 (en) * | 2003-09-30 | 2006-05-09 | Nortel Networks Limited | Method and system for writing data to memory elements |
| US7389375B2 (en) | 2004-07-30 | 2008-06-17 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
| US7366931B2 (en) | 2004-12-30 | 2008-04-29 | Intel Corporation | Memory modules that receive clock information and are placed in a low power state |
| US7167410B2 (en) | 2005-04-26 | 2007-01-23 | Magnalynx | Memory system and memory device having a serial interface |
| US8560795B2 (en) | 2005-06-30 | 2013-10-15 | Imec | Memory arrangement for multi-processor systems including a memory queue |
| US8209458B1 (en) * | 2006-02-15 | 2012-06-26 | Marvell Israel (M.I.S.L.) Ltd. | System and method for DRAM bank assignment |
| US7522468B2 (en) * | 2006-06-08 | 2009-04-21 | Unity Semiconductor Corporation | Serial memory interface |
| US20070288690A1 (en) * | 2006-06-13 | 2007-12-13 | Foundry Networks, Inc. | High bandwidth, high capacity look-up table implementation in dynamic random access memory |
| US7660952B2 (en) * | 2007-03-01 | 2010-02-09 | International Business Machines Corporation | Data bus bandwidth scheduling in an FBDIMM memory system operating in variable latency mode |
| US7787311B2 (en) * | 2007-11-08 | 2010-08-31 | Rao G R Mohan | Memory with programmable address strides for accessing and precharging during the same access cycle |
| US8171234B2 (en) * | 2009-03-16 | 2012-05-01 | Mosys, Inc. | Multi-bank multi-port architecture |
| US8539196B2 (en) | 2010-01-29 | 2013-09-17 | Mosys, Inc. | Hierarchical organization of large memory blocks |
| US8547774B2 (en) | 2010-01-29 | 2013-10-01 | Mosys, Inc. | Hierarchical multi-bank multi-port memory organization |
-
2010
- 2010-01-29 US US12/697,141 patent/US9342471B2/en not_active Expired - Fee Related
- 2010-12-23 TW TW099145510A patent/TWI563516B/zh not_active IP Right Cessation
-
2011
- 2011-01-21 CN CN201180007506.XA patent/CN102834815B/zh not_active Expired - Fee Related
- 2011-01-21 WO PCT/US2011/022082 patent/WO2011094133A2/en not_active Ceased
- 2011-01-21 EP EP11737472.8A patent/EP2529311B1/en not_active Not-in-force
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1581104A (zh) * | 2003-08-12 | 2005-02-16 | 华为技术有限公司 | 一种动态存储器的访问方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2529311A4 (en) | 2014-05-14 |
| EP2529311B1 (en) | 2016-09-21 |
| US20110191548A1 (en) | 2011-08-04 |
| TW201142868A (en) | 2011-12-01 |
| US9342471B2 (en) | 2016-05-17 |
| CN102834815A (zh) | 2012-12-19 |
| WO2011094133A2 (en) | 2011-08-04 |
| EP2529311A2 (en) | 2012-12-05 |
| TWI563516B (en) | 2016-12-21 |
| WO2011094133A3 (en) | 2011-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102834815B (zh) | 高利用率多分区串行存储器 | |
| CN113553277B (zh) | 一种ddr5 sdram的高吞吐率、低延迟phy接口电路装置 | |
| US7386649B2 (en) | Multiple processor system and method including multiple memory hub modules | |
| US8549209B2 (en) | Bridging device having a configurable virtual page size | |
| US7155554B2 (en) | Methods and apparatuses for generating a single request for block transactions over a communication fabric | |
| JP4124491B2 (ja) | 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ | |
| US9069602B2 (en) | Transactional memory that supports put and get ring commands | |
| US8972630B1 (en) | Transactional memory that supports a put with low priority ring command | |
| US7246191B2 (en) | Method and apparatus for memory interface | |
| US7277975B2 (en) | Methods and apparatuses for decoupling a request from one or more solicited responses | |
| CN112189324B (zh) | 带宽匹配的调度器 | |
| US6922770B2 (en) | Memory controller providing dynamic arbitration of memory commands | |
| CN102541769B (zh) | 一种存储器接口访问控制方法及装置 | |
| EP4445368A1 (en) | High-bandwidth memory module architecture | |
| CN104681082B (zh) | 单端口存储器件中的读和写冲突避免方法及其半导体芯片 | |
| KR20030064391A (ko) | 대규모 병렬 프로세서 어레이를 메모리 어레이에 비트직렬 방식으로 접속하는 방법 및 장치 | |
| US20150089165A1 (en) | Transactional memory that supports a get from one of a set of rings command | |
| Sarojini et al. | Implementation and optimization of throughput in high speed memory interface using AXI protocol | |
| US20080028125A1 (en) | Computer System Having an Apportionable Data Bus | |
| US20240370395A1 (en) | Axi-to-memory ip protocol bridge | |
| CN118841053A (zh) | 基于psram颗粒的fpga系统及其控制方法、设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170208 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |