CN1669012A - 支持不同脉冲时间存取而无须变更模式寄存器中脉冲时间设定的dram - Google Patents
支持不同脉冲时间存取而无须变更模式寄存器中脉冲时间设定的dram Download PDFInfo
- Publication number
- CN1669012A CN1669012A CNA038165392A CN03816539A CN1669012A CN 1669012 A CN1669012 A CN 1669012A CN A038165392 A CNA038165392 A CN A038165392A CN 03816539 A CN03816539 A CN 03816539A CN 1669012 A CN1669012 A CN 1669012A
- Authority
- CN
- China
- Prior art keywords
- burst length
- memory
- memory device
- access
- order number
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Executing Machine-Instructions (AREA)
Abstract
一种存储器件(150)可实施成响应指定不同脉冲时间的一个或多个指令编码,这些指令编码的脉冲时间不同于该存储器件的目前脉冲时间设定所指示的脉冲时间。比如,一种存储器件(150)可包括:存储器阵列(152)和架构成储存指示目前脉冲时间值的模式寄存器(154)。该存储器阵列(152)架构成响应所接收的第一指令编码而执行具有第一脉冲时间的第一触发存取;以及响应所接收的第二指令编码而执行具有第二脉冲时间的第二触发存取,其中该第二脉冲时间不同于该目前脉冲时间。一种存储器控制器(100)可实施成产生一个或多个指令编码,一个或多个指令编码指定与目标存储器件(150)的该目前脉冲时间设定所指示的该脉冲时间不同的脉冲时间。
Description
技术领域
本发明涉及一种计算机系统,且特别是涉及一种DRAM(动态随机存取存储器,Dynamic Random Access Memory)所用的触发(burst)模式。
背景技术
DRAM器件通常包括模式寄存器。存于该DRAM器件的模式寄存器内的值控制了该DRAM器件的脉冲时间(burst length)。一般来说,初始化该模式寄存器值以在初始期间确认特定的脉冲时间。存储器控制器可更新存于该寄存器内的值以改变脉冲时间设定。然而,改变脉冲时间设定是一个相当花时间的操作。比如,为程序化该模式寄存器,存储器控制器也许等待,直到完成所有DRAM存取,以及接着通过激活某些指令信号(比如,/CS(Chip Select,片选信号),/RAS(Row AddressStrobe,行地址选通信号),/CAS(Column Address Strobe,列地址选通信号)及/WE(Write Enable,写入使能信号))等,发出加载模式寄存器指令,而将适当操作码(op-code)放于某些引脚(比如,地址与BA0引脚)上。在发出该加载模式寄存器指令后,该存储器控制器在初始化新的DRAM存取之前必须等待数个周期。因此,依此方式来改变脉冲时间设定会对某些处理中存取增加不必要的性能负担。
存储器控制器可接收具有不同脉冲时间的存取请求。比如,AGP(高级图形接口,Advanced Graphics Port)处理可以包括32字节(byte)块,而处理器处理可以包括64字节块。在某些DRAM器件中,32字节块存取可符合于4个触发,而64组位块存取可符合于8个触发。因为DRAM脉冲时间由存于该模式寄存器内的值固定,对于具特定长度的处理而言,可能是会浪费频宽(如果脉冲时间设为8而要执行32字节块处理)或该存储器控制器必须重发指令(如果脉冲时间设为4而要执行64字节块处理)。然而,改变该触发模式寄存器内的脉冲时间以处理特定脉冲时间的处理可能会更加没有效率。因此,较好是能够根据每一存取而动态地改变脉冲时间,且不需更新该模式寄存器。
以目前来说,数据屏蔽(data masking)技术允许存储器件能在写入存取期间屏蔽某些数据,使得脉冲时间小于该模式寄存器内的脉冲时间设定的数据可实际地写入至该存储器件内。然而,此数据屏蔽技术并不支持对不同脉冲时间的读取存取,也不支持脉冲时间大于该模式寄存器内的脉冲时间设定值的存取。此外,数据屏蔽技术利用该存储器件上的额外引脚来指定要屏蔽哪些数据,这些数据在某些情况下是不希望的。
发明内容
存储器件的各种实施例可实施成响应于指定不同脉冲时间的一个或多个指令编码,这些指令编码的脉冲时间不同于该存储器件的目前脉冲时间设定值所指示的脉冲时间。在一个实施例中,一种存储器件可包括:存储器阵列和架构成储存指示目前脉冲时间的值的模式寄存器。该存储器阵列可架构成响应于所接收的第一指令编码而执行具有第一脉冲时间的第一触发存取;以及响应于所接收的第二指令编码而执行具有第二脉冲时间的第二触发存取。该第二脉冲时间不同于该目前脉冲时间。
存储器控制器的各种实施例可实施成产生一个或多个指令编码,指令编码指定与目标存储器件的目前脉冲时间设定值所指示的脉冲时间不同的脉冲时间。比如,在一个实施例中,一种存储器控制器可包括:地址信号产生器,其架构成响应于存储器存取请求而产生地址信号;以及指令编码器。响应于存储器存取请求,如果该存储器存取请求所请求的触发存取具有第一脉冲时间,则该指令编码器可架构产生第一指令编码。如果该存储器存取请求所请求的触发存取具有第二脉冲时间,则指令编码器可架构产生第二指令编码。当该存储器存取请求的目标存储器件的脉冲时间设定值具有第一值时,指令编码器可架构成产生第一指令编码以及第二指令编码,因此至少其中一个指令编码指定不同于该存储器件的目前脉冲时间设定所指示的脉冲时间。
一种系统可包括:存储器控制器,以及存储器件。该存储器控制器可架构成响应于所接收的具有第一脉冲时间的第一存储器存取请求而产生第一指令编码,以及响应于所接收的具有第二脉冲时间的第二存储器存取请求而产生第二指令编码。该存储器置可架构成响应于所接收的该第一指令编码而执行具有该第一脉冲时间的第一触发存取,以及响应于所接收的该第二指令编码而执行具有该第二脉冲时间的第二触发存取。第二脉冲时间不同于存储器件的脉冲时间设定所指示的目前脉冲时间。
一种方法的实施例包括:接收存储器件的请求以执行具有脉冲时间的触发存取。如果该脉冲时间是存储器件的目前脉冲时间设定所指示的第一脉冲时间,则提供第一指令编码至该存储器件。如果脉冲时间是不等于脉冲时间设定所指示的第一脉冲时间的第二脉冲时间,则提供第二指令编码至存储器件。响应第一指令编码,该存储器件执行具有第一脉冲时间的第一触发存取;以及响应第二指令编码,该存储器件执行具有第二脉冲时间的第二触发存取。
在某些实施例中,一种存储器件可包括:存储器阵列;以及模式寄存器,该寄存器架构成储存指示目前脉冲时间的值。该存储器阵列可架构成接收确认脉冲时间的编码指令。响应所接收的编码指令,该存储器阵列架构成执行具有由该编码指令所确认的脉冲时间的触发存取。该编码指令所确认的脉冲时间不同于目前脉冲时间。
附图说明
为让本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并配合所附图式,作详细说明如下。
图1是存储器系统的一个实施例;
图2A至图2C显示存储器系统的一个实施例的操作时序图;
图3是操作存储器系统的方法的一个实施例的流程图;
图4与图5是包括如图1所示的存储器系统的一个实施例的计算机系统实施例的方块图。
尽管本发明可容许各种修饰及替代形式,但已利用图式中的实例表示及本文详细说明本发明的特定具体实例。然而应了解本文中特定具体实例的说明并不意欲用来将本发明限制在已揭示的特定形式上,但是相反地,其目的在于涵盖落入如后附权利要求所界定的本发明的精神与范畴范围内的所有修饰、等效及替代方案。
具体实施方式
图1显示包括存储器控制器100与存储器件150的存储器系统50的一个实施例。存储器控制器100架构成能产生一个或多个不同的指令编码,能指示存储器件150执行脉冲时间不同于模式寄存器154内所指定的脉冲时间的存取。存储器件150架构成通过执行具有该指令编码所指定的脉冲时间的存取而响应于不同的指令编码,而不管模式寄存器154内所指定的脉冲时间。
存储器件150可为DRAM(动态随机存取存储器,Dynamic RandomAccess Memory)器件,比如DDR DRAM(双倍数据率动态随机存取存储器、Double Data Rate DRAM)、SDRAM(同步动态随机存取存储器、Synchronous DRAM)、VDRAM(影像动态随机存取存储器、VideoDRAM)、RDRAM(兰巴斯动态随机存取存储器、Rambus DRAM)、FCRAM(快速循环随机存取存储器、Fast Cycle RAM)等。存储器件150可包括数个存储器模块(比如,SIMM(单列直插存储器模块,SingleIn-Line Memory Module)或DIMM(双列直插存储器模块,Dual In-LineMemory Module))。存储器件150可包括储存数据值的存储器阵列152内部的复数个存储器元件。各存储器元件可储存一位或多位的数据。对存于存储器阵列152内的数据值进行读取与写入存取。
当存储器控制器100从器件(比如,CPU(中央处理器,CentralProcessing Unit)或图形控制器(graphics controller)接收通过系统总线而传来的存储器存取请求时,存储器控制器100译码该请求并将该系统总线地址转换成存储器件150的适当存储器地址。地址信号产生器101可将该系统总线地址转换成该存储器件的适当地址(比如,用于指定库(bank)和/或列的地址),且指示待执行存取类型的适当指令编码可由指令编码器103产生。存储器控制器100将适当地址通过存储器地址信号182而输入至存储器件150。在此实施例中,有两组地址信号:BA0至BA1,以及A0至A11。要注意,其它实施例也可使用不同组数与不同数量的地址信号。存储器控制器100也提供适当指令编码至存储器件以指明在该指定地址处要执行哪一种类型的操作。可利用一组控制信号180的不同值来指定不同的指令编码。在此实施例中,存储器控制器100控制至少四个低电位有效的控制信号:/CS(ChipSelect,片选信号)、/CAS(Column Address Strobe,列地址选通信号)、/RAS(Row Address Strobe,行地址选通信号)、及/WE(Write Enable,写入使能信号)的值,以产生适当指令编码(要注意,也可控制其它控制信号值)。
存储器控制器100通过控制信号180而提供激活指令编码至存储器件150来初始化存取。激活指令可打开(或激活)特定库内的页(page)(比如,一行)以进行后续存取。存储器控制器100提供地址信号182至存储器件150以指示要激活哪一库和哪一页。比如,BA0与BA1信号的值可选择库,而A0至A11信号的值可选择页。被激活的页维持有效(或打开)以进行存取,直到送出预充电指令编码至库为止。在同一库内打开不同页之前,也可发出预充电指令编码。
在打开页之后,可提供读取或写入指令编码至存储器件150。可利用读取指令来初始化对有效页的触发读取存取。存储器控制器100也为地址信号182的某些值提供读取指令以确认要输出哪些数据。比如,对于触发读取而言,输入信号BA0与BA1信号的值可选择要存取的库,而输入信号A0至A11信号所提供的地址可选择在页(比如,一列)内的开始位置。也可提供请求不同脉冲时间的触发读取的数个不同读取指令编码。
存储器控制器100可产生指令信号180的值以指定写入指令,以对有效页初始化写入存取。也可为另一组地址值提供写入指令以选择要写入的数据。比如,输入信号BA0与BA1的值可选择要存取的库,而输入信号A0至A11所提供的地址可选择触发写入的开始列位置。也可提供指定不同脉冲时间的数个不同写入指令编码。
触发存取开始于所选择的位置,并持续已程序化或已请求(按照由读取或写入指令的特殊指令编码所指示)的触发数量。可程序化触发顺序以遵循序列触发顺序或交错触发顺序。可程序化传统的DRAM以读取或写入1位、2位、4位、8位或更多位的触发。一般来说,DRAM也支持流水线操作(pipelining),其允许DRAM接收存储器处理的地址与控制信号的同时仍能进行前一个存储器请求。
包括在存储器件150内的模式寄存器154可用于定义存储器件的特定操作模式。如先前所描述,模式寄存器154可允许选择脉冲时间设定。此外,模式寄存器154可允许选择触发类型(序列或交错),CAS等待时间及操作模式。因此,模式寄存器154的设定可控制存储器阵列152如何执行存取。
可通过存储器控制器100提供模式寄存器设定指令至存储器件150来程序化模式寄存器154。提供至存储器件150的地址信号182的值连同模式寄存器设定指令可指示要储存于该模式寄存器154内的新设定值。比如,地址位A0至A2可用于指定在程序化模式寄存器154时的脉冲时间。模式寄存器154内指定的脉冲时间决定了在一般读取或写入指令期间的可存取的最大列位置数量。在一个实施例中,对于序列及交错触发类型,可指定2个列位置、4个列位置或8个列位置的脉冲时间。当所有库都处于闲置状态下且目前没有处理任何的触发时,模式寄存器154可加载新的设定值。在程序化模式寄存器154后,于初始化任一后续操作之前,存储器控制器100可要求等待一既定时间。
为允许存取待执行的不同脉冲时间而不需改变模式寄存器的设定值,存储器件150可架构成响应不同指令编码而执行不同脉冲时间的触发存取。各指令编码产生作为特定组的控制信号值,并指示要执行的存取类型以及脉冲时间。在许多实施例中,指令编码可从现有控制信号值(比如,CS、CAS、RAS与WE的值)的未使用过组合中选择出,使得不需要额外增加另一引脚至存储器件150。存储器件150可架构成能够区分不同的指令编码,且通过执行指定脉冲时间的存取来响应各不同的指令编码。一个指令编码可指示出,所需要的脉冲时间将由模式寄存器154内的脉冲时间设定来决定。
表1显示在一个实施例中,由存储器控制器100提供至存储器件150的某些指令编码的列表。ADDR包括地址信号BA0至BA1以及A0至A11。
表1:指令编码
名称(功能) | CS | RAS | CAS | WE | ADDR |
有效(选择库并激活行) | L | L | H | H | 库/行 |
读取(脉冲时间=8)(选择库&列,开始读取触发) | L | H | H | L | 库/列 |
读取(脉冲时间=模式寄存器脉冲时间)(选择库&列,开始读取触发) | L | H | L | H | 库/列 |
写入(选择库&列,开始写入触发) | L | H | L | L | 库/列 |
模式寄存器设定 | L | L | L | L | 操作码 |
如表1所示,存储器系统的实施例可支持两种不同的读取指令编码。其中一种读取指令编码可指定特定脉冲时间(8),而另一编码则指示必须使用模式寄存器154内指定的脉冲时间。在另一实施例中,第二种编码可指示必须使用特定脉冲时间(比如,4)。要注意的是,在此实施例中,可不需要使用额外控制信号或额外地址信号即可指定这些指令编码。另外也要注意,存储器件150可在不进行数据屏蔽的情况下,执行具有各指令编码内指定的脉冲时间的触发存取。此实施例可实施在DD II DRAM中。比如,指定脉冲时间为8的读取指令编码可以是用于在DDR I中指定触发终止指令的指令编码。
存储器控制器100可架构成接收从不同器件传来的不同长度的触发请求。根据请求的脉冲时间,存储器控制器100可选择将哪一个指令编码提供至存储器件150。比如,由图形控制器(如图4中的图形控制器408)所初始化的AGP(高级图形接口,Advanced Graphics Port)处理,可能一次包含了4个触发,而处理器处理可能包含了8个触发。如果处理器(比如4图中的CPU 10)初始化一处理,则存储器控制器100可输出来自存储器件的请求8个触发的指令编码。若改为图形控制器起始一处理,则存储器控制器100可输出来自存储器件的请求4个触发的不同指令编码。存储器件150可通过输出在各指令编码中所请求的触发数量来响应,而不考虑该模式寄存器154中的目前脉冲时间设定。
在某些实施例中,模式寄存器154的脉冲时间设定可决定由该存储器控制器100可产生哪些不同指令编码。当脉冲时间设定具某一值时,则可以使用到某些指令编码;但如果脉冲时间设定值具另一值的话,则可能不使用到这些指令。比如,在一个实施例中,不同指令编码可用于指定大于及等于目前脉冲时间设定的脉冲时间。因此,在该实施例中,如果目前脉冲时间设定值具有最大值,则只能提供单一指令编码至存储器件,该单一指令用于指示脉冲时间等于目前脉冲时间设定或用于指示将使用目前脉冲时间设定。
要注意的是,在其它实施例中,所有的不同指令编码可提供至存储器件,不论模式寄存器内的目前脉冲时间设定为何。在这些实施例的一些实施例当中,各指令编码可指示特定脉冲时间(相对于指示必须使用目前脉冲时间设定的一个或多个指令编码)。要注意的是,在某些实施例中,用于初始化触发存取的各指令编码可指定所请求存取的脉冲时间。在此种实施例当中,模式寄存器内的脉冲时间设定可不相关,因为各指令编码指定特定脉冲时间。因此,存储器件的某些实施例可不在模式寄存器内提供脉冲时间设定。
在某些实施例中,不同指令编码可同时应用于读取与写入中。在其它实施例中,单一指令编码(指示必须使用目前触发模式寄存器设定)可用于写入;而数个指令编码(各指令编码指定不同脉冲时间或指定必须使用目前触发模式寄存器设定)可用于读取(或反之亦然)。
在一个实施例中,可在存储器件150上增加额外的指令引脚,使得额外指令线(比如,除了CS、RAS、CAS与WE外)可用于定义额外指令编码(比如,指定不同类型的存取(比如读取或写入)或指定额外的脉冲时间)。在一个此种实施例中,指令编码可用于指定2、4、8、和/或16的脉冲时间。额外指令线不可当成地址线使用。在某些实施例中,也可使用多个额外指令线来指定不同触发存取指令编码。
图2A至图2C显示在存储器系统的一个实施例中可产生的时序波形图。在这些例中,CL(CAS等待时间,CAS Latency)=4,AL(有效等待时间,Active Latency)=0,RL(读取延迟,Read等待时间)=4,以及WL(写入等待时间,Write Latency)=4。在这些例中,模式寄存器内的脉冲时间设定假设等于4。比如,在图2A中,在BL=4读取指令与BL=8读取指令执行期间,模式寄存器内的脉冲时间设定并未被改变;在BL=8读取指令与BL=4指令执行期间,模式寄存器内的脉冲时间设定也未被改变。
图2A显示BL(脉冲时间)=4读取指令,其后接续着BL=8读取指令以及另一个BL=4读取指令的执行情形。在此例中,可通过提供指示目前脉冲时间设定必须应用于存储器件的指令编码来初始化BL=4读取指令。可通过提供指示必须应用长度为8的触发存取(不论目前脉冲时间设定值为何)的指令编码来初始化BL=8读取指令。如此例所显示般,存储器件可通过输出连续数据串流,尽快在前一存取完成时执行存取,来响应这些指令。要注意的是,各存取按照对应所请求触发数量的周期数量被执行(比如,执行BL=4指令不需要多于2个时钟周期)。图2B显示BL=4写入指令之后接续着BL=8读取指令的执行情况。图2C显示BL=8读取指令之后接续着BL=4写入指令的执行情况。
图3显示操作存储器系统的方法的实施例。在此实施例中,在步骤301中,接收到存储器件要执行具有特定脉冲时间的触发存取的请求。如果所请求的脉冲时间与存储器件的目前脉冲时间设定(比如,按照触发模式寄存器内所指定的)相同,则提供第一指令编码至存储器件,如步骤303至305所示。第一指令编码可指示必须用目前脉冲时间设定。另外,通过指定与目前脉冲时间设定相同的脉冲时间,第一指令编码也可特别指示待执行的触发存取的脉冲时间。响应所接收的第一指令编码,存储器件可执行具有所请求脉冲时间的触发存取,如步骤307所示。
如果所请求的脉冲时间与存储器件的目前脉冲时间设定不同,则可提供第二指令编码至存储器件,如步骤303与309所示。第二指令编码至少有一个控制信号的值与第一指令编码不同。第二指令编码指示必须执行具有特定脉冲时间的触发存取,其脉冲时间不同于目前脉冲时间设定所指示的脉冲时间。响应第二指令编码,存储器件执行脉冲时间被第二指令编码所指定的触发存取,如步骤311所示。第一与第二指令编码皆可用于指定相同类型的存取(比如读取存取)。额外指令编码可用于执行脉冲时间不同于第一与第二指令编码所指定的脉冲时间的存取和/或执行类型不同于第一与第二指令编码所指定的类型的存取。
4图显示计算机系统400的实施例的方块图,计算机系统400包括通过总线桥接器402而耦接至各种系统元件的处理器10。计算机系统400可包括如图1与图2所显示的这些存储器系统的实施例。要注意的是,所显示出的实施例只是用于举例,而其它计算机系统的实施例也是可以的并予以考量。在所显示的系统中,主存储器404通过存储器总线406而耦接至总线桥接器402,而图形控制器408通过AGP总线410而耦接至总线桥接器402。数个PCI(Peripheral ComponentInterconnect,周边元件扩展接口)设备412A至412B通过PCI总线414而耦接至总线桥接器402。也可包括辅助总线桥接器416以使得电性接口通过EISA(Extended Industry Standard Architecture,扩展工业标准结构)/ISA(Industry Standard Architecture,工业标准结构)总线420而兼容一个或多个EISA或ISA设备418。在此例中,处理器10通过CPU总线424而耦接至总线桥接器402,且更耦接至选择性的L2高速缓存428。在某些实施例中,处理器10可包括内建的L1高速缓存(未示出)。在某些实施例中,处理器10也可包括存储器控制器100的实施例。
总线桥接器402提供处理器10、主存储器404、图形控制器408与连结至PCI总线414的设备之间的接口。当从连接至总线桥接器402的某设备接收到操作指令时,总线桥接器402确认该操作的目标(比如,特殊设备,或在PCI总线414的情况下,该目标位于该PCI总线414上)。总线桥接器402将操作传送至该目标设备。总线桥接器402通常会转译该操作,从源设备或总线所使用的协议(protocol)转译成目标设备或总线所使用的协议。在一个实施例中,总线桥接器402可包括如上所述的存储器控制器100的实施例。
除了对PCI总线414提供至ISA/EISA总线的接口外,辅助总线桥接器416也可包括额外功能。输入/输出控制器(未显示出),可能内建于辅助总线桥接器416内或者位于辅助总线桥接器416外部,也可包括在计算机系统400内以提供键盘/鼠标422的操作支持,以及各种串联与并联端口。在其它实施例中,外部高速缓存单元(未显示出)也可耦接至介于处理器10与总线桥接器402间的CPU总线424。此外,外部高速缓存单元可耦接至总线桥接器402,而外部高速缓存单元的高速缓存控制逻辑电路可内建于总线桥接器402内。如图4所示,L2高速缓存428位于处理器10的后侧。要注意的是,L2高速缓存428也可与处理器10分开,内建于具有处理器10的插卡(cartridge)内(例如,插槽1或插槽A),或甚至内建于具有处理器10的半导体衬底上。
主存储器404储存有应用程序,而且主存储器404是处理器10主要存取的存储器。适当的主存储器404包括DRAM。比如,复数个库的SDRAM或RDRAM是适当的。主存储器404可架构成响应指定脉冲时间不同于目前脉冲时间设定所指示的脉冲时间的不同指令编码。
PCI设备412A至412B是各种周边设备,比如网络适配卡、影像加速卡、声卡、硬盘或软盘驱动器或驱动控制器、SCSI(小型计算机系统接口,Small Computer System Interface)适配卡、以及电话卡等。相似地,ISA设备418是各种周边设备,比如调制解调器、声卡、及各种数据采集卡,比如GPIB(一般用途界面总线,General Purpose InterfaceBus)、或场总线(field bus)适配卡等。
图形控制器408用于控制文字及影像在显示器426上的呈现。图形控制器408可为已知的一般图形加速器,以呈现可有效地在主存储器404内撷取与存取的三维数据结构。因而,图形控制器408可为AGP总线410的主控设备,因为图形控制器408可提出请求与接收对总线桥接器402内的目标接口的存取,因而得到对主存储器404的存取。专用图形总线能快速地从主存储器404撷取数据。对于某些操作,图形控制器408可进一步架构成在AGP总线410上产生PCI协议处理。总线桥接器402的AGP接口可包括支持AGP协议处理、PCI协议目标以及初始器处理的功能。显示器426是能呈现影像或者文字的任一电子显示器。适当的显示器426包括CRT(阴极射线管,Cathode RayTube),LCD(液晶显示器,Liquid Crystal Display)等。
要注意的是,虽然在上述描述中以AGP、PCI以及ISA或者EISA总线作为范例,但如果需要的话,可用任一总线架构来取代之。另外要注意的是,计算机系统400可为多重处理器计算机系统,包括额外处理器(比如,处理器10a,显示成如计算机系统400的非必须元件)。处理器10a可类似于处理器10。特别是,处理器10a可完全与处理器10相同。处理器10a可通过独立总线(如第4图所示)而连接至总线桥接器402,或者可以跟处理器10共享CPU总线424。再者,处理器10a可耦接至类似于L2高速缓存428的选择性的L2高速缓存428a。
现在请参考图5显示计算机系统400的另一实施例,图5的计算机系统400可包括如上述的存储器系统。其它实施例也是可能的并予以考量。在图5的实施例中,计算机系统400包括数个处理节点612A、612B、612C与612D。各处理节点通过内建于各个别处理节点612A至612D内之存储器控制器616A至616D而耦接至各个存储器614A至614D。此外,处理节点612A至612D包括用于在处理节点612A至612D之间通信的接口逻辑电路。比如,处理节点612A包括:与处理节点612B通信的接口逻辑电路618A;与处理节点612C通信的接口逻辑电路618B;以及与另一处理节点(未显示出)通信的第三接口逻辑电路618C。相似地,处理节点612B包括接口逻辑电路618D、618E以及618F;处理节点612C包括接口逻辑电路618G、618H以及618I;以及处理节点612D包括接口逻辑电路618J、618K以及618L。处理节点612D通过接口逻辑电路618L而耦接以便与复数个输入/输出设备通信(比如,为环状架构的设备620A至620B)。其它处理节点也可依照相似方式与其它输入/输出设备通信。
处理节点612A至612D实施了处理节点间通信的数据包式链接。在本实施例中,链接被实施成多组单向传输线(比如,传输线624A用于从处理节点612A传输数据包至处理节点612B;以及传输线624B用于从处理节点612B传输数据包至处理节点612A)。其它组传输线624C至624H用于在其它处理节点之间传输数据包,如图5中所示。一般来说,各组传输线624可包括一条或多条数据线,对应于这些数据线的一条或多条时钟线,以及指示目前正在传输的数据包类型的一条或多条控制线。链接可以高速缓存一致性(cache coherent)方式工作以在处理节点之间通信;或以非一致性(non-coherent)方式工作以在处理节点与I/O设备(或总线桥接器对传统架构的I/O总线,比如PCI总线或ISA总线)之间通信。甚至,链接可利用如图所示的I/O设备间的环状架构而工作在非一致性方式下。要注意的是,要从处理节点传输至另一处理节点的数据包可通过一个或多个中介节点。比如,要从处理节点612A传输至该处理节点612D的数据包可通过处理节点612B或者处理节点612C,如图5所示。也可使用任意的适当传输算法。计算机系统400的其它实施例所包括的处理节点数可多于或少于图5中所示的该实施例的节点数。
一般来说,数据包可在节点之间传输线624上传输一个或多个位时间(bit time)。位时间可以是相对应的时钟线上的时钟信号的上升或下降边缘。数据包可包括:用于初始化处理的指令数据包;用于维持高速缓存一致性的探索(probe)数据包;以及响应探索与指令的响应数据包。
处理节点612A至612D除了包括存储器控制器与接口逻辑电路外,更可包括一个或多个处理器。广泛来说,处理节点包括至少一个处理器,以及可能选择性的包括用于与存储器通信的存储器控制器以及所需的其它逻辑电路。特别是,各处理节点612A至612D可包括一个或多个相同的处理器10。外部接口单元18可包括节点内的接口逻辑电路618,以及存储器控制器616。各存储器控制器616可包括如上所述的存储器控制器100的实施例。
存储器614A至614D可包括任意的适当存储器件。比如,存储器614A至614D可包括一个或多个RAMBUS DRAM(RDRAM)、同步DRAM(SDRAM)、静态随机存取存储器(SRAM)等。计算机系统400的地址空间针对存储器614A至614D而划分。各处理节点612A至612D可包括用于决定哪些地址映射哪些存储器614A至614D的存储器映射,因而对于特定地址的存储器请求将路由传输至一个处理节点612A至612D。在一个实施例中,计算机系统400内的地址的一致性点是耦接至储存对应地址的字节的存储器的存储器控制器616A至616D。也就是说,存储器控制器616A至616D负责确认对应的存储器614A至614D的各存储器存取是以高速缓存一致性方式发生的。存储器控制器616A至616D可包括接口于存储器614A至614D的控制电路。此外,存储器控制器616A至616D可包括用以排序存储器请求的请求队列(queue)。
接口逻辑电路618A至618D可包括各种缓冲存储器,以接收从链接传输来的数据包,并暂存要上传至链接的数据包。计算机系统400可应用任意的适当流程控制机制以传输数据包。比如,在一个实施例中,各接口逻辑电路618储存接口逻辑电路所连接的位于链接的另一端点的接收器内的各种缓冲存储器类型的数量计数。除非接收接口逻辑电路具有可储存该数据包的闲置缓冲存储器,该接口逻辑电路才会传输数据包。当将数据包上传而使得接收缓冲存储器闲置时,该接收接口逻辑电路传输讯息至传输接口逻辑电路以指示该缓冲存储器已被闲置。此种机制可称为“连动式(coupon-based)”系统。
I/O设备620A至620B可为任意的适当I/O设备。比如,I/O设备620A至620B可包括与连接至这些设备的另一计算机系统的设备(比如,网络适配卡或调制解调器)通信。甚至,I/O设备620A至620B可包括视频加速器,声卡(audio card),硬盘或软盘驱动器,或各驱动控制器,SCSI适配卡及电话卡,声卡(sound card),以及各种数据撷取卡,比如GPIB或场总线适配卡。要注意的是,名词“I/O设备”以及名词“周边设备”在此代表相同意思。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视后附的权利要求所界定者为准。
工业上的应用
本发明一般可用于计算机系统。
Claims (10)
1.一种存储器控制方法,包括下列步骤:
接收存储器件(150)的请求以执行具有脉冲时间的触发存取;
如果该脉冲时间(154)是该存储器件(150)的目前脉冲时间设定所指定的第一脉冲时间,则提供第一指令编码至该存储器件;
如果该脉冲时间(154)是不等于该脉冲时间设定所指示的第一脉冲时间的第二脉冲时间,则提供第二指令编码至该存储器件(150);
响应该第一指令编码,该存储器件(150)执行具有该第一脉冲时间的触发存取;以及
响应该第二指令编码,该存储器件(150)执行具有该第二脉冲时间的触发存取。
2.如权利要求1所述的方法,其中该触发存取是读取存取。
3.如权利要求2所述的方法,进一步包括下列步骤:
接收存储器件的请求以执行具有第三脉冲时间的第二触发存取;
如果该第三脉冲时间不等于该脉冲时间设定指示的该第一脉冲时间,则提供第三指令编码至该存储器件;以及
响应该第三指令编码,该存储器件执行具有该第三脉冲时间的该第二触发存取,其中该第二触发存取是写入触发存取。
4.如权利要求1所述的方法,其中该存储器件是DDR(双倍数据率)II DRAM(动态随机存取存储器)器件。
5.如权利要求1所述的方法,其中提供该第一指令编码的步骤包括:控制片选信号、列地址选通信号、行地址选通信号以及写入使能信号的值;以及其中该提供该第二指令编码的步骤包括:控制该片选信号、该列地址选通信号、该行地址选通信号以及该写入使能信号的值。
6.一种存储器件,包括:
模式寄存器(154),架构成储存指示目前脉冲时间的值;以及
存储器阵列(152);
其中该存储器阵列(152)架构成接收编码指令,其中该编码指令确认脉冲时间;
其中响应所接收的该编码指令,该存储器阵列(152)架构成执行具有由该编码指令所确认的该脉冲时间的触发存取,其中该脉冲时间不同于该目前脉冲时间。
7.如权利要求6所述的存储器件,其中该存储器阵列架构成接收确认第二脉冲时间的第二编码指令,且响应地执行具有该第二脉冲时间的第二触发存取,其中该第二脉冲时间不同于该脉冲时间,以及其中该存储器阵列架构成响应该编码指令与该第二编码指令而执行读取存取。
8.如权利要求6所述的方法,其中该存储器件是DDR(双倍数据率)II DRAM(动态随机存取存储器)器件。
9.如权利要求6所述的存储器件,其中该编码指令作为片选信号、列地址选通信号、行地址选通信号以及写入使能信号的值被接收。
10.一种存储器控制系统,包括:
存储器控制器(100),架构成响应所接收的具有第一脉冲时间的第一存储器存取请求而产生第一指令编码,以及响应所接收的具有第二脉冲时间的第二存储器存取请求而产生第二指令编码,其中该第一指令编码确认该第一脉冲时间以及该第二指令编码确认该第二脉冲时间;以及
存储器件(150),耦接至该存储器控制器(100),并架构成响应所接收的该第一指令编码而执行具有该第一脉冲时间的第一触发存取,以及响应所接收的该第二指令编码而执行具有该第二脉冲时间的第二触发存取。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/193,828 | 2002-07-11 | ||
US10/193,828 US6957308B1 (en) | 2002-07-11 | 2002-07-11 | DRAM supporting different burst-length accesses without changing the burst length setting in the mode register |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1669012A true CN1669012A (zh) | 2005-09-14 |
CN1333353C CN1333353C (zh) | 2007-08-22 |
Family
ID=30114615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038165392A Expired - Lifetime CN1333353C (zh) | 2002-07-11 | 2003-07-09 | 支持不同脉冲时间存取而无须变更模式寄存器中脉冲时间设定的dram |
Country Status (9)
Country | Link |
---|---|
US (1) | US6957308B1 (zh) |
EP (1) | EP1522021B1 (zh) |
JP (1) | JP4507186B2 (zh) |
KR (1) | KR101005114B1 (zh) |
CN (1) | CN1333353C (zh) |
AU (1) | AU2003258997A1 (zh) |
DE (1) | DE60313323T2 (zh) |
TW (1) | TWI307464B (zh) |
WO (1) | WO2004008329A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475168B2 (en) * | 2004-03-11 | 2009-01-06 | Sonics, Inc. | Various methods and apparatus for width and burst conversion |
US7543088B2 (en) | 2004-03-11 | 2009-06-02 | Sonics, Inc. | Various methods and apparatuses for width and burst conversion |
US8122187B2 (en) * | 2004-07-02 | 2012-02-21 | Qualcomm Incorporated | Refreshing dynamic volatile memory |
US8032676B2 (en) | 2004-11-02 | 2011-10-04 | Sonics, Inc. | Methods and apparatuses to manage bandwidth mismatches between a sending device and a receiving device |
US7640392B2 (en) * | 2005-06-23 | 2009-12-29 | Qualcomm Incorporated | Non-DRAM indicator and method of accessing data not stored in DRAM array |
US7620783B2 (en) * | 2005-02-14 | 2009-11-17 | Qualcomm Incorporated | Method and apparatus for obtaining memory status information cross-reference to related applications |
WO2007099447A2 (en) * | 2006-03-02 | 2007-09-07 | Nokia Corporation | Method and system for flexible burst length control |
KR100799132B1 (ko) | 2006-06-29 | 2008-01-29 | 주식회사 하이닉스반도체 | 초기값변경이 가능한 모드레지스터셋회로. |
US9262326B2 (en) * | 2006-08-14 | 2016-02-16 | Qualcomm Incorporated | Method and apparatus to enable the cooperative signaling of a shared bus interrupt in a multi-rank memory subsystem |
US20080059748A1 (en) * | 2006-08-31 | 2008-03-06 | Nokia Corporation | Method, mobile device, system and software for a write method with burst stop and data masks |
US20080301391A1 (en) * | 2007-06-01 | 2008-12-04 | Jong-Hoon Oh | Method and apparatus for modifying a burst length for semiconductor memory |
KR101260313B1 (ko) * | 2007-06-12 | 2013-05-03 | 삼성전자주식회사 | 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법 |
US7688628B2 (en) * | 2007-06-30 | 2010-03-30 | Intel Corporation | Device selection circuit and method |
TWI358735B (en) * | 2008-01-03 | 2012-02-21 | Nanya Technology Corp | Memory access control method |
US20100325333A1 (en) * | 2008-10-14 | 2010-12-23 | Texas Instruments Incorporated | Method Allowing Processor with Fewer Pins to Use SDRAM |
US8266471B2 (en) * | 2010-02-09 | 2012-09-11 | Mosys, Inc. | Memory device including a memory block having a fixed latency data output |
US8856579B2 (en) * | 2010-03-15 | 2014-10-07 | International Business Machines Corporation | Memory interface having extended strobe burst for read timing calibration |
US9319880B2 (en) * | 2010-09-15 | 2016-04-19 | Intel Corporation | Reformatting data to decrease bandwidth between a video encoder and a buffer |
KR101873526B1 (ko) * | 2011-06-09 | 2018-07-02 | 삼성전자주식회사 | 에러 정정회로를 구비한 온 칩 데이터 스크러빙 장치 및 방법 |
KR101964261B1 (ko) * | 2012-05-17 | 2019-04-01 | 삼성전자주식회사 | 자기 메모리 장치 |
WO2015012858A1 (en) | 2013-07-26 | 2015-01-29 | Hewlett-Packard Development Company, L.P. | First data in response to second read request |
US10534540B2 (en) * | 2016-06-06 | 2020-01-14 | Micron Technology, Inc. | Memory protocol |
US10198195B1 (en) * | 2017-08-04 | 2019-02-05 | Micron Technology, Inc. | Wear leveling |
US10846253B2 (en) | 2017-12-21 | 2020-11-24 | Advanced Micro Devices, Inc. | Dynamic page state aware scheduling of read/write burst transactions |
KR102671077B1 (ko) | 2018-11-15 | 2024-06-03 | 에스케이하이닉스 주식회사 | 반도체장치 |
US11270416B2 (en) | 2019-12-27 | 2022-03-08 | Nxp Usa, Inc. | System and method of using optimized descriptor coding for geometric correction to reduce memory transfer bandwidth overhead |
US11687281B2 (en) * | 2021-03-31 | 2023-06-27 | Advanced Micro Devices, Inc. | DRAM command streak efficiency management |
US20230289063A1 (en) * | 2022-03-14 | 2023-09-14 | Mediatek Inc. | Electronic system and method for controlling burst length to access memory device of electronic system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754825A (en) | 1995-05-19 | 1998-05-19 | Compaq Computer Corporation | Lower address line prediction and substitution |
US7681005B1 (en) * | 1996-01-11 | 2010-03-16 | Micron Technology, Inc. | Asynchronously-accessible memory device with mode selection circuitry for burst or pipelined operation |
JPH10208468A (ja) * | 1997-01-28 | 1998-08-07 | Hitachi Ltd | 半導体記憶装置並びに同期型半導体記憶装置 |
US6226724B1 (en) * | 1997-09-03 | 2001-05-01 | Motorola, Inc. | Memory controller and method for generating commands to a memory |
JPH11134243A (ja) * | 1997-10-31 | 1999-05-21 | Brother Ind Ltd | 記憶装置の制御装置及びデータ処理システムにおける記憶装置の制御方法 |
JP3948141B2 (ja) * | 1998-09-24 | 2007-07-25 | 富士通株式会社 | 半導体記憶装置及びその制御方法 |
US6606352B2 (en) | 1999-01-15 | 2003-08-12 | Broadcom Corporation | Method and apparatus for converting between byte lengths and burdened burst lengths in a high speed modem |
US6393500B1 (en) | 1999-08-12 | 2002-05-21 | Mips Technologies, Inc. | Burst-configurable data bus |
KR20020014563A (ko) * | 2000-08-18 | 2002-02-25 | 윤종용 | 반도체 메모리 장치 |
US6549991B1 (en) * | 2000-08-31 | 2003-04-15 | Silicon Integrated Systems Corp. | Pipelined SDRAM memory controller to optimize bus utilization |
JP4025002B2 (ja) | 2000-09-12 | 2007-12-19 | 株式会社東芝 | 半導体記憶装置 |
US6895474B2 (en) * | 2002-04-29 | 2005-05-17 | Micron Technology, Inc. | Synchronous DRAM with selectable internal prefetch size |
-
2002
- 2002-07-11 US US10/193,828 patent/US6957308B1/en not_active Expired - Lifetime
-
2003
- 2003-07-04 TW TW092118285A patent/TWI307464B/zh not_active IP Right Cessation
- 2003-07-09 WO PCT/US2003/021286 patent/WO2004008329A1/en active IP Right Grant
- 2003-07-09 AU AU2003258997A patent/AU2003258997A1/en not_active Abandoned
- 2003-07-09 KR KR1020057000475A patent/KR101005114B1/ko active IP Right Grant
- 2003-07-09 EP EP03764378A patent/EP1522021B1/en not_active Expired - Lifetime
- 2003-07-09 DE DE60313323T patent/DE60313323T2/de not_active Expired - Lifetime
- 2003-07-09 JP JP2004521557A patent/JP4507186B2/ja not_active Expired - Lifetime
- 2003-07-09 CN CNB038165392A patent/CN1333353C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1522021B1 (en) | 2007-04-18 |
TWI307464B (en) | 2009-03-11 |
JP4507186B2 (ja) | 2010-07-21 |
CN1333353C (zh) | 2007-08-22 |
EP1522021A1 (en) | 2005-04-13 |
US6957308B1 (en) | 2005-10-18 |
WO2004008329A1 (en) | 2004-01-22 |
TW200401191A (en) | 2004-01-16 |
DE60313323T2 (de) | 2007-12-27 |
AU2003258997A1 (en) | 2004-02-02 |
DE60313323D1 (de) | 2007-05-31 |
KR20050025960A (ko) | 2005-03-14 |
JP2005532657A (ja) | 2005-10-27 |
KR101005114B1 (ko) | 2010-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1333353C (zh) | 支持不同脉冲时间存取而无须变更模式寄存器中脉冲时间设定的dram | |
US7287101B2 (en) | Direct memory access using memory descriptor list | |
EP0549139B1 (en) | Programmable memory timing | |
US6154419A (en) | Method and apparatus for providing compatibility with synchronous dynamic random access memory (SDRAM) and double data rate (DDR) memory | |
US5060145A (en) | Memory access system for pipelined data paths to and from storage | |
US5261073A (en) | Method and apparatus for providing memory system status signals | |
US4920539A (en) | Memory error correction system | |
JP2016514320A (ja) | メモリシステム | |
JPH0628238A (ja) | コンピュータ装置において中央処理装置によりメモリに対するアクセスを制御する装置 | |
KR20200123260A (ko) | 캐시 및 다중 독립 어레이를 갖는 메모리용 인터페이스 | |
US8397005B2 (en) | Masked register write method and apparatus | |
KR20080012233A (ko) | 버스트 메모리 액세스를 제어하는 메모리 인터페이스, 및그를 제어하는 방법 | |
US7996601B2 (en) | Apparatus and method of partially accessing dynamic random access memory | |
KR100391727B1 (ko) | 메모리시스템및메모리억세싱방법 | |
EP0969384B1 (en) | Method and apparatus for processing information, and providing medium | |
JP6370958B2 (ja) | デバイス | |
US6327636B1 (en) | Ordering for pipelined read transfers | |
US7395399B2 (en) | Control circuit to enable high data rate access to a DRAM with a plurality of areas | |
US20070073927A1 (en) | Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems | |
CN116860185B (zh) | Sram阵列的数据访问装置、系统、方法、设备、芯片和介质 | |
JPH04270440A (ja) | アクセス方式 | |
US20020016886A1 (en) | Method and apparatus for simultaneously accessing the tag and data arrays of a memory device | |
KR0129793B1 (ko) | 태그 비트를 사용한 메모리 엑세스 장치 및 방법 | |
US6904505B1 (en) | Method for determining valid bytes for multiple-byte burst memories | |
CN117435535A (zh) | 一种存储系统、主控芯片、数据存储方法及数据读取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20070822 |
|
CX01 | Expiry of patent term |