CN1530819A - 缓冲芯片及—或多存储装置之驱动方法 - Google Patents
缓冲芯片及—或多存储装置之驱动方法 Download PDFInfo
- Publication number
- CN1530819A CN1530819A CNA2004100080144A CN200410008014A CN1530819A CN 1530819 A CN1530819 A CN 1530819A CN A2004100080144 A CNA2004100080144 A CN A2004100080144A CN 200410008014 A CN200410008014 A CN 200410008014A CN 1530819 A CN1530819 A CN 1530819A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- data item
- buffer
- deposited
- 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
- 239000000872 buffer Substances 0.000 title claims abstract description 147
- 238000000034 method Methods 0.000 title claims description 16
- 238000003860 storage Methods 0.000 claims abstract description 147
- 230000005055 memory storage Effects 0.000 claims description 93
- 230000009183 running Effects 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 17
- 238000000151 deposition Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 1
- 238000006243 chemical reaction Methods 0.000 abstract description 7
- 230000007704 transition Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 206010049244 Ankyloglossia congenital Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
本发明涉及缓冲芯片,用于驱动一或多存储装置,其包含第一数据接口用于接收可被存写之数据项,且用于传送已待读取之数据项;转换单元用于将所接收的数据项并列化,且用于将已被传送的数据项序列化;第二数据接口用于经由存储数据总线而存写该被并列化的数据项至存储装置,且用于经由存储数据总线而接收自该存储装置读取的数据项;存写缓冲储存用于缓冲储存已被存写之数据项;控制单元,在接收被存写的数据项后,其中数据项系根据存写指令经由第一数据接口而被存写,以在后一读取指令时中断经由第二数据接口自该存写缓冲储存而被存写之数据,以经由该第二数据接口将被要求的数据读取至该缓冲芯片。
Description
技术领域
本发明系关于一种用于驱动一或多存储装置之缓冲芯片。本发明亦关于一种用于快速存储结构,操作如DDR-III存储芯片之一缓冲芯片的方法。
背景技术
对于每一快速且高密度存储结构,例如DDR-III存储芯片所需要,系使用「缓冲芯片」。该缓冲芯片使得现今使用于DDR与DDR-II存储芯片中的「存根总线(stub bus)」可被置换且以一阶层式总线系统(hierarchic bus system),其中系使用点至点(P2P)或点至二点(P22P)连接。此数据链路使得数据转换速度远大于一GBPS。此外,串联使其可彼此连接许多缓冲芯片,且可在一存储主要总线上,产生具有许多存储芯片的存储系统。
该缓冲芯片通常连接一或多存储芯片,经由该P2P数据链路接收指令与数据的该缓冲芯片,并列化该指令与数据且将其传送至适当连接的存储装置。在读取过程中,数据系自该适当地址的存储装置待读取,且经由该P2P数据链路而被序列化且被输出至该存储控制器。
特别是在DRAM存储芯片的范例中,自一存写运作至一读取运作的改变,以及自一读取运作至一存写运作的改变,系需要不同长度的时间,特别是当读取或存写需要相同的存储装置被地址化。虽然对于一存储装置,自一存写运作至一读取运作的改变迫使考量基于该芯片系数TWR(存写回复)或TWTR(存写至读取)的等待时间,但是可能自一存储装置中的一存写运作改变为另一存储装置中一读取运作而不需要等待时间。结果为了避免提供额外的电路,由于复杂度的原因,该存储控制器系使用长的总线转变时间于存取的每一改变,或是该存储控制器包含一复杂逻辑电路(complex logic circuit),以在整个系统中对于全部的存储装置提供最佳的驱动。
一存储装置中造成该长总线转变次数,并非基于该系统中该数据总线的结构,而是与该存储芯片的设计有关。这是由于需要确定在被激活的字符线被再次关闭(TWR)之前或是在可自该单元数组(TWTR)读取新的读取数据之前,该存写数据系被安全地存写至该单元数组。
发明内容
所以本发明之目的系提供一缓冲芯片,用于驱动一或多存储装置,其系考量不同的总线转变时间,特别是在一存储装置中,自一存写运作改变至一读取运作的改变问题,因此连接至该缓冲芯片的该存储控制器可为最简单的设计。本发明之另一目的系提供运作一缓冲芯片的方法。
根据权利要求1中的缓冲芯片以及根据权利要求8中的方法,达到本发明之目的。
本发明之其它有利的修饰系如权利要求中的依附项所述。
根据本发明之第一方面,系提供一缓冲装置,用于驱动一或多个存储装置。其具有一第一数据接口,用于接收被存写之一数据项,以及用于传送已待读取的一数据项。一转换单元系将所接收的数据项并列化,且将被传送的数据项序列化。亦有一第二数据接口,其系经由该存储数据总线,而用于将被并列化的数据项存写至该存储装置,且经由该存储数据总线,而自该存储装置接收已待读取的数据项。根据一存写指令,经由该第一数据接口,接收一被存写的数据项后,依相同存储装置的后续读取指令,一控制单元经由该第二数据接口,阻止该数据自缓冲储存被存写,以经由该第二数据接口将被要求的数据读取至该缓冲芯片中。
在此方式中,由于并非首先需要等待在开始读取前被存写之最后的数据项,所以当自一存写运作至一读取运作的改变时,该长总线转变次数的问题可藉由最后的数据项而解决,该最后的数据项系被首先存写于该缓冲储存中的存写顺序中,且一旦该读取指令系藉由该缓冲芯片而被接收,即执行一读取指令。
当一存写指令声明数据未被再次存写至该存储装置时,及/或当考虑中的自该存储装置读取数据已经结束时,可规定该控制单元存写储存于该存写缓冲中的该数据项至该存储装置。在此方式中,仅有当考虑读取数据至该存储装置结束或被短暂中断时,根据与该读取数据,该数据可尽可能快地经由该缓冲芯片,而被输出至该存储控制器,以及储存于该存写储存中的数据,系被存写至该存储装置。若在该读取指令之后,该缓冲芯片再次接收一存写指令,则在藉由该缓冲芯片而接收被存写的其它数据之前,该存写缓冲储存首先需要藉由将储存于其中的该数据项存写至该存储装置,而被清空。
若该读取指令声明储存于该存写缓冲储存中的该数据项待读取,则可规定该控制单元在一读取指令中,经由该第一数据接口而输出该数据项。当待读取的该数据项仍在该缓冲储存中时,这使得所储存的数据项之读取被加速。
较佳为,该存写缓冲储存具有一容量可储存复数个数据项,这表示当自存写与根据一存写指令之一数据项,改变为经由该第一数据接口,且根据一读取指令而读取一数据项,以及而后经由该第一数据接口再次存写一数据项。
该缓冲芯片可具有一读取缓冲储存,用于缓冲储存可待读取的一数据项。而后,该控制单元系被设计用以传送该数据项的一部分,其系藉由根据一读取指令的该第一数据接口而待读取。
特别系在伺服系统中,同常平行地址化二或多存储总线,以增加该数据转换速度与最大的存储深度。此设计所遭遇的困难系为平行地址的该存储总线所提供的数据体积太大。原因在于数据总线的设计,其通常系用于存储芯片中,特别系用于DDR存储芯片中。为了可以在该接口上连续增加该数据转换速度,在一宽的内部总线上,自该单元数组平行读取复数个数据位,其中该存取速度不能被正常增加至如同外部数据转换速度,且该复数个数据位系与使用在该实际输出驱动器的上游之一多任务器之一信号线上非常快的数据流结合。此设计称为一预取(prefetch)设计。例如,在DDR存储芯片中,预取比例为2。该存储芯片之每一数据连接,系自该单元数组转换两个别位或是转换两个别位至该单元数组。在DDR-II存储芯片中,该预取比例为4,且在DDR-III存储芯片中,该预取比例可为8。根据该预取比例,当存取此一存储芯片时,最小的爆冲(burst)长度通常是增加的。所以,在DDR存储芯片中,该最小爆冲(burst)长度系为2位,且在DDR-II存储芯片中系为4位。若DDR-III存储芯片需要选择预取比例8,则DDR-III存储芯片中该最小爆冲长度亦可能为8位。
对于一读取指令而言,可被转换至一CPU的数据体积系为64位。若是以平行方式或是交错方式,运作两个8位总线,则被转换至最小爆冲长度为8的数据体积系为128位。因此,较合适的系用最小爆冲长度为4位,但是这与DDR-III存储芯片中预取比例为8相互冲突。
因此,可提供该控制单元,因此虽然根据该最小爆冲长度,该缓冲芯片系自该存储装置接收数据,但是其仅经由该第一接口,传送待读取至该存储控制器的一部分数据。而剩余的数据仍保留储存于该读取缓冲储存中或是被放弃。
该读取缓冲储存可储存复数个数据项,其中根据该快速缓冲储存(cache)功能,该控制单元系将数据预先负载至该读取缓冲储存中。在此方式中,系提供具有完全高速缓存功能的该缓冲芯片,以改善连接至该缓冲芯片知该存储装置之数据存取。
较佳为,在待读取且被储存于该存储装置中的该数据项经由该第一被接口而被传送之前,该控制单元系缓冲复数个读取指令,以经由该第一接口而传送一数据项,其系待读取且被储存于缓冲储存或该存写缓冲储存中。执行所接收指令的顺序,系可优先执行已于该读取或该存写缓冲储存中的相关数据。首先更快速地清空该读取或存写缓冲储存,以产生空间供于待读取或被存写的其它数据,其次当藉由传送数据而自该地址存储装置读取数据时,系允许延迟值(latency),其中系经由该第一数据接口而自该读取或存写缓冲储存而读取数据。
根据本发明之其它方面,运作一缓冲芯片的方法,系连接一或多存储装置。根据一存写指令,被存写之一数据项系藉由该缓冲芯片而被接收,且根据一读取指令,系自该缓冲芯片传送已待读取之一数据项。首先,接收被存写的数据项,根据第一存写指令,该被接收的数据项系被平行化,其系首先被缓冲储存于缓冲芯片中。若该第一存写指令随后接着第二存写指令,则被接收之数据项系被存写至该存储装置。然而,若该第一存写指令随后接着第一读取指令,则首先被存写的该缓冲储存数据项系不被存写至该存储装置中,而是首先自该存储装置读取待读取的该数据项。
这使得自一存写运作至一读取运作的该总线转变时间可被隐藏,其系藉由首先缓冲储存数据项,其系在相同存储装置之读取运作前即被存写。
较佳为,若该第一读取指令随后接第三存写指令,或是若未以一存写指令或一读取指令读取该缓冲芯片,则该缓冲储存数据项系被存写至该存储装置。在此方式中,在存取至该存储装置的过程中等待一暂停,而将被存写于该存写缓冲储存中的该数据项存写至该存储装置。若随后有其它存写指令,则需要存写至该存储装置,以产生空间供于缓冲储存该数据项,其系被储存且系根据该第三存写指令。
附图说明
本发明可藉由所附之附图得以更详细之说明,其中:
第1图系一方决图,其系说明本发明之缓冲芯片。
第2图系一流程图,其系说明本发明方法之实施例。
第3图系说明一可能的指令协议,用于驱动本发明之一缓冲芯片。
第4图系根据本发明,说明另一实施例中缓冲芯片之数据协议。
第5图系根据本发明,说明一缓冲芯片的数据协议。
第6图系根据本发明之另一实施例,说明一缓冲芯片之数据协议。
具体实施方式
第1图系根据本发明,说明一缓冲芯片1。该缓冲芯片1具有第一数据接口2,用于接收指令数据,且用于转换数据,其系已自一存储装置3待读取至一存储控制器4或至其它芯片。该第一数据接口2可接收被存写之数据,且可将这些数据存写至个别地址存储装置3。经由一第二数据接口5,进行自该存储装置3的读取或是存写至该存储装置3。
该存储装置3系藉由个别的数据线,而被连接至该第二数据接口5。然而,其亦可经由该第二数据接口5且藉由一共同数据总线,而被连接至该缓冲芯片。
该缓冲芯片1系以雏菊链(daisychain)的形式,被连接至该存储控制器4,亦即在存储控制器4与该第一缓冲芯片1之间,以及在该第一缓冲芯片与第二缓冲芯片之间,仅有点至点连接。在该缓冲芯片1与该存储控制器4之间,无共同数据总线供所有数据转换。
由于线电容较低,所以具有p2p数据链路的一数据总线6,可使得数据转换更快。数据转换更快的结果是自该存储控制器至该缓冲芯片,系需要较少的数据线,其系指在配置中较容易提供相同的数据线长度于该数据总线6。由于所有数据线上的传播时间相同,所以相同数据线长度的优点,在于可转换更快速的信号。
该数据总线6系被用以转换指令数据与存储数据。该指令数据主要系说明该存储库与存储位置的存储装置3地址,其中该存储数据系被存写或是该存储数据可被储存。若该存储控制器4传送一指令数据项,则其系藉由该第一数据接口2而被接收且系于一转变装置(switchdevice)7中被分析。后者决定连接至该个别缓冲芯片1的该存储装置3之一,是否需要被地址化。
若被连接的存储芯片3之一需要被地址化,则该指令数据与/或该存储数据系于一转换单元8中被平行化,因此该数据可具有该存储装置3的该必须数据宽度与速度。若没有连接至该个别缓冲芯片1的该存储装置3需要被地址化,则该转变装置(switch device)7系将所接收的存储数据项与/或将经由该第一数据接口2所接收的存储数据项,传送至后续的缓冲芯片1。在下一缓冲芯片1上,经由该第一数据接口2,接收被传送的指令数据项与/或存储数据项,且将其供至该转变装置(switch device)7。
该转换单元8系被连接至一缓冲储存9,其具有一存写缓冲储存10以及一读取缓冲储存11。该存写缓冲储存10系被用以初始缓冲储存一存储数据项,其系在经由第二缓冲接口5而被存写至个别地址存储装置3之前就已被存写。在经由该转换单元8与该第一数据接口2而输出至该存储控制器4之前,该读取缓冲储存11具有缓冲储存一存储数据项的功能,其系经由该第二数据接口5,读取自该个别地址存储装置3。在该缓冲芯片1之中,数据总线系为双向或单向形式。
该缓冲储存9系被用以在一存写运作与一读取运作之间或是在一读取运作与一存写运作之间,缓冲不同的总线转变次数。特别是当自一存写运作改变为一读取运作时,在最后存写一存储数据项至该存储装置而后接着自相同的存储装置3读取一存储数据项之前,存取至相同的存储装置3系需要高的延迟值。藉由该存储装置3中所提供的该存储芯片TWR与TWTR之系数,规定此一延迟值。然而,当该存储装置3之一中的一存写运作改变为其它存储装置3中的一读取运作时,由于可终结可被存写的最后数据项的存写,而数据仍系自其它得存储装置3待读取,所以并没有明显的延迟值产生。
不论存取的形式,为了尽可能保持该存储控制器4的低复杂度,通常系规定该延迟值之高应足以满足该最大所需的延迟值,而不是在所有可能的存储存取运作中未达到目标值。
所以结果系对于许多存储存取运作而言,需要更高的延迟值。
或者,可提供该记控制器4,因此在存储存取型式的基础上,其确定相关的延迟,且以一适当的延迟而传送该指令数据。此可增加该存储控制器4中电路的复杂度。
由于该缓冲储存9特别系该存写缓冲储存10,可隐藏相同的存储装置3自一存写运作至一读取运作的一总线转变所需的该延迟值,所以在该缓冲芯片1中的该缓冲储存9可使得所提供的该存储控制器4系于低复杂度。
此方式中该缓冲储存9之工作如下:
根据一存写指令以及后续一或多存储数据项,数据系经由该数据总线6与该缓冲芯片1而被存写至该存储装置3。在该存储数据系被存写至由该指令数据项所地址化的该存储装置前,其系先被储存在该存写缓冲储存10。若该数据总线6系被用以传送一指令数据项至该缓冲芯片1,其中该指令数据项系含有一读取指令,用于自相同的存储装置3读取一数据项,则被存写在该存写缓冲储存10中的最后存储数据项,系不会经由该第二数据接口5而被输出至该存储装置3。而是,所接收的读取指令系立即被传送至该地址存储装置3,且该被要求的数据系经由该数据总线6之该读取缓冲储存11而待读取。该控制单元12在所接收的指令数据基础上,决定储存于该存写缓冲储存10中的该存写数据项是否需要被存写至该地址存储装置3。一单该控制单元12侦测一读取指令,及进行一检视,以决定相关于该相同存储装置3的读取指令是否为先前所进行的该存写运作。若该读取指令系与相同存储装置3相关,则停止将该存写数据存写至该存储装置3,且该读取指令系被立即传送至该存储装置3。
若该读取指令系与其它存储装置3相关,则持续将该存写数据存写至该存储装置3,且该读取指令可被传送至由该读取指令所地址化的其它存储装置3,以开始读取该数据。然而,这仅发生于当该存储装置3藉由个别数据线而被连接至该第二数据接口5的情形下。若该存储装置3系藉由一共同数据总线而被连接至该缓冲芯片,则后面变化并不实施。由于事实上特别系在DDR(双数据速度,Double Data Rate)存储芯片中,系于爆冲存取运作中存写与读取数据,亦即在存取运作中,复数个数据包可被依次存写至该存储芯片3或是自该存储芯片3待读取,而没有在每一数据项之前传送一存写或读取指令,在该爆冲存取至该存储装置3的过程中数据存写尚未完成时,该缓冲芯片1即可接收一读取指令。
当存取至该存储装置3被中断时,储存于该存写缓冲储存中的该存储数据项系被存写,亦即自该存储装置读取数据系先被结束。在此范例中,系使用无存取至该存储装置3的时间,以藉由储存该数据于该存储装置3中清空该存写缓冲储存10。此外,当再次开始存写存取至该存储装置3时,储存于该存写缓冲储存10中的存储数据,系被存写至该存储装置3中。这可尽快清空该存写缓冲储存10,因此该缓冲储存可存写到达的数据。
该控制单元12亦可提供自该地址存储装置3读取存储数据,仅涉及某些存储数据,其已待读取且储存于该读取缓冲储存11中,且系经由该数据总线6而被传送至该存储控制器4中。由于所提供的数据体积太大,无法藉由连接至该内存的微处理器而被同时获取(pick up),所以在未来的内存结构中,这是适当的。
特别系在DDR存储芯片的范例中,最小的爆冲长度,亦即根据一指令而被存写或读取的数据最小体积,系取决于「预取比例」。虽然在DDR存储芯片中该预取比例为2,且在DDR-II存储芯片中该预取比例为4,然而对于下一代的DDR-III存储芯片而言,该预取比例可为8。特别系在整个系统中,其中两存储信道系平行运作,或是以交错方式运作,其优点在于DDR-III存储芯片之最小的爆冲长度仅可为4。其原因在于在一指令后被转换至该为处理器的数据体积可为64位。若是两8位的数据总线之运作系为平行或交错方式,则被转换于最小爆冲长度8的数据体积系为128位。因此,应将该最小爆冲长度限制于4。
为达此目的,该读取缓冲储存11可根据一爆冲长度8位,以该控制单元12个别传送一部分,即一半的缓冲储存存储数据至该转换单元8用于输出至该存储控制器4上的该第一数据接口2,而自该存储装置缓冲储存该数据。在此方式中,该存储控制器4系仅接收所连接之微处理器所需要的该数据体积,即使在具有存储芯片的存储装置中,其所具有的最小爆冲长度系大于4位。
初始待读取的数据系保持在该读取缓冲储存11中,因此一合适的读取指令可将剩余的一半数据,直接自该读取缓冲储存转换至该存储控制器4,而不需要传送新指令至该存储装置3的该缓冲芯片1。
第2图系一流程图,其系说明本发明之方法。本发明方法系关于一缓冲指令中的顺序。在步骤S1中,藉由该缓冲芯片1接收一存写指令,该被存写的数据系系经由该数据总线而被接收。该被存写的数据系于步骤S2中被接收,且系首先被缓冲储存于步骤S3中。在步骤S4中,而后进行一检视,以决定用于读取相同存储装置的一读取指令,是否已被接收。若无读取指令被接收,则在步骤S5中,该缓冲储存的数据项系被存写至该地址存储装置,且执行动作返回S2。
若相同存储装置之一读取指令已被接收,则在步骤S6中该存储装置中的地址存储区域系被地址化,且对应的读取数据系被接收。被储存之该缓冲储存数据未被存写。自该地址存储装置所接收的读取数据,系于步骤S7中被缓冲储存,以及在步骤S8中进行一检视,以决定是否需要自该存储装置读取其它数据。在步骤S9中,若已自该存储装置要求其它读取数据,该缓冲储存的读取数据系被传送至该存储控制器,且执行步骤返回至步骤S6。若没有其它读取数据需要待读取,则最后被缓冲储存的该读取数据,实质上系被同步输出至该存储控制器,且最后被储存之被存写的该数据,未被存写至该存储装置中,而系被存写至该存储装置(步骤S10)。
所提供的上述该缓冲储存9与相关的控制单元12,亦可为较复杂的形式。所以,例如,在该缓冲芯片1中可使用读取/存写快速缓冲储存(cache)功能,其不仅可以解决上述问题,亦可增进整个系统的表现。由于相对于该存储装置3中的该存储芯片,该缓冲芯片1系使用可容许快速逻辑电路的生产技术,所以该缓冲芯片1中可使用复合快速缓冲储存控制电路。例如此一复合快速缓冲储存控制电路可基于该读取与该存写指令以及该系统中所使用的地址范围,而要求不同的存储数据,其系自该存储装置3的该存储芯片而待读取,以于该存储控制器4的读取指令中,自该缓冲储存9很快速地提供所要求的数据。
当此一快速缓冲储存存储系执行于一缓冲储存9中时,基础特征为不同的读取或存写指令之执行次数系取决于是否该缓冲芯片1中,系经由该缓冲储存9或经由该快速缓冲储存存储而处理该数据,或者其是否需要藉由该存储芯片而被执行。因此可提供一指令与使用者数据协议,其使得个别读取与存写指令之数据被转换的顺序不同于该指令所规定的顺序。为达此目的,「鉴别数目」(要求ID)之转换系连同该指令数据项与该存储数据项,且被用以辨识相关的指令数据与存储数据。
第3图系说明一可能的指令协议。在该数据总线6中的该数据线CA(0至7)转换一指令数据项于四区段中。在第一区段中,于四数据总线线CA0至CA3上,转换该存储装置地址R(0)至R(3)。在另外四数据总线线上,系转换该辨识数目RID(0)至RID(3),以将该指令数据项与一对应存储数据项结合。将剩余的区段用以转换地址数据于该存储装置中的该存储芯片,该库地址以及驱动指令,列活化信号RAS,栏活化信号CAS,存写信号RE。在该数据线之一上,该第二区段系用以转换一位,其系指是否该指令数据项系地址化一存储芯片或存储装置,或是其是否为该缓冲芯片1的指令。
第4图系说明另一可能指令协议的实施例。在此范例中,系提供另一数据总线线CA(8),以在四区段中转换该辨识数目RID(0至3)的四位。
第5图系说明一存储数据协议之实施例。该存储数据项系被转换于四区段中,该区段具有之宽度系为16数据位DQ0至DQ15。在该第一区段中前四数据位,系带有该辨识数目RID(0至3)。
其它部分系如第6图中所示,其中该数据总线6系包含另一数据总线线DQ(16)。在另一数据总线线上,系使用四区段以转换该辨识数目之四位,因此可结合该个别的指令数据项,其系具有相同的辨识数目。
辨识数目的规定使得可用不同于该指令数据的顺序,自该存储控制器4转换个别存写指令与读取指令的数据,或是将个别存写指令与读取指令的数据转换至存储控制器4。
在第1图的实施例中,该缓冲储存9系被配置于该转换单元8与该第二数据接口5之间。未严格限制功能,该缓冲储存9亦可被配置在该转换单元8与该转变装置7之间或是被配置在该第一数据接口2与该转变装置7之间。
该缓冲芯片1与所连接的存储装置3较佳系结合于「存储模块」中,且系物理整合于「DIMM模块」中。这些DIMM模块系个人计算机中所使用的一般存储结构。
Claims (9)
1.一缓冲芯片(1),用于驱动一或多存储装置(3),其包含:
一第一数据接口(2),用于接收可被存写之一数据项,且用于传送已待读取之一数据项;
一转换单元(8),用于将所接收的数据项并列化,且用于将已被传送的该数据项序列化;
一第二数据接口(5),用于经由一存储数据总线,而存写该被并列化的数据项至该存储装置,且用于经由该存储数据总线,而接收读取自该存储装置(3)的该数据项;
一存写缓冲储存(10),用于缓冲储存已被存写之该数据项;
一控制单元(12),在接收被存写的一数据项后,其中该数据项系根据一存写指令经由该第一数据接口而被存写,以在后一读取指令时,停止经由该第二数据接口(5)自该存写缓冲储存(10)而被存写,以经由该第二数据接口(5)将被要求的数据读取至该缓冲芯片(1)。
2.如权利要求1的缓冲芯片(1),其中当一存写指令声明数据系被再次存写至该存储装置时,及/或当数据之读取已被结束时,该控制单元(12)系将储存于该存写缓冲储存(10)中的该数据项存写至该存储装置(3)。
3.如权利要求1或2的缓冲芯片(1),其中若一读取指令声明储存于该存写缓冲储存(10)中的该数据项待读取,则该控制单元(12)系于该读取指令下,经由该第一数据接口(2),输出该数据项。
4.如权利要求1至3任一项的缓冲芯片(1),其中当根据一存写指令,而自存写一数据项,改变为经由该第一数据接口(2)读取一数据项,以及后续经由该第一数据接口(2)再次存写一数据项时,该存写缓冲储存(10)所具有的容量,系可储存复数个数据项,以避免任何过剩的该存写缓冲储存(10)。
5.如权利要求1至4任一项的缓冲芯片(1),更包含一读取缓冲储存(11),用于缓冲储存待读取之一数据项,其中该控制单元(12)仅传送该数据项的一部分,其系根据一读取指令且经由该第一数据接口(2)而待读取。
6.如权利要求5的缓冲芯片(1),其中该读取缓冲储存(11)具有一容量,用于储存复数个数据项,其中该控制单元(12)系根据一快速缓冲储存(cache)功能,而将该数据预先负载至该读取缓冲储存(11)。
7.如权利要求5的缓冲芯片(1),其中在经由该第一接口,待读取且被储存于该存储装置(3)中的该数据项传送之前,该控制单元(12)系缓冲复数个读取指令,以传送待读取之一数据项,其系经由该第一数据接口(2),而被储存于该读取缓冲储存(11)中或被储存于该存写缓冲储存(10)中。
8.一种运作一缓冲芯片(1)的方法,该缓冲芯片(1)系与一或多存储装置(3)连接,其中根据一存写指令而被存写的一数据项,系藉由该缓冲芯片(1)而被接收,以及根据一读取指令而待读取的一数据项,系自该缓冲芯片(1)而被传送,其系包含下列步骤:
根据一第一存写指令,接收将被存写的一数据项;
并列化所被接收的该数据项;
缓冲储存所被接收的该数据项;
若该第一存写指令系后接一第二存写指令,则被接收的该数据项系被存写至该存储装置(3);
若该第一存写指令系后接一第一读取指令,则系自该存储装置(3)读取待读取之该数据项。
9.如权利要求8的方法,其中若该第一读取指令系后接一第三存写指令,或是若未以一存写指令或一读取指令,存取该缓冲片(1),则被缓冲储存的该数据项,系被存写至该存储装置(3)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10309919.0 | 2003-03-07 | ||
DE10309919A DE10309919B4 (de) | 2003-03-07 | 2003-03-07 | Pufferbaustein und Speichermodule |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1530819A true CN1530819A (zh) | 2004-09-22 |
CN1289998C CN1289998C (zh) | 2006-12-13 |
Family
ID=32891923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100080144A Expired - Fee Related CN1289998C (zh) | 2003-03-07 | 2004-03-05 | 缓冲芯片及—或多存储装置之驱动方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7447805B2 (zh) |
CN (1) | CN1289998C (zh) |
DE (1) | DE10309919B4 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694138A (zh) * | 2017-04-10 | 2018-10-23 | 爱思开海力士有限公司 | 控制器及其操作方法 |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005009806A1 (de) * | 2005-03-03 | 2006-09-14 | Infineon Technologies Ag | Pufferbaustein für ein Speichermodul, Speichermodul und Speichersystem |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US7386656B2 (en) | 2006-07-31 | 2008-06-10 | Metaram, Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US20080082763A1 (en) | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US7392338B2 (en) | 2006-07-31 | 2008-06-24 | Metaram, Inc. | Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
KR101303518B1 (ko) | 2005-09-02 | 2013-09-03 | 구글 인코포레이티드 | Dram 적층 방법 및 장치 |
US7991965B2 (en) | 2006-02-07 | 2011-08-02 | Intel Corporation | Technique for using memory attributes |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
JP4470183B2 (ja) * | 2006-08-28 | 2010-06-02 | エルピーダメモリ株式会社 | 半導体記憶装置 |
US7610448B2 (en) | 2006-12-27 | 2009-10-27 | Intel Corporation | Obscuring memory access patterns |
US7921243B1 (en) * | 2007-01-05 | 2011-04-05 | Marvell International Ltd. | System and method for a DDR SDRAM controller |
US7702841B2 (en) * | 2007-03-08 | 2010-04-20 | Ricoh Company, Limited | Semiconductor integrated circuit and image processing apparatus having the same |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US20090150894A1 (en) * | 2007-12-10 | 2009-06-11 | Ming Huang | Nonvolatile memory (NVM) based solid-state disk (SSD) system for scaling and quality of service (QoS) by parallelizing command execution |
US9110597B2 (en) * | 2007-12-10 | 2015-08-18 | Hewlett-Packard Development Company, L.P. | Data processing method and system |
TWI355588B (en) * | 2008-01-25 | 2012-01-01 | Realtek Semiconductor Corp | Arbitration device and method thereof |
US7730244B1 (en) * | 2008-03-27 | 2010-06-01 | Xilinx, Inc. | Translation of commands in an interconnection of an embedded processor block core in an integrated circuit |
US8281101B2 (en) * | 2008-12-27 | 2012-10-02 | Intel Corporation | Dynamic random access memory with shadow writes |
WO2010144624A1 (en) | 2009-06-09 | 2010-12-16 | Google Inc. | Programming of dimm termination resistance values |
KR101796116B1 (ko) | 2010-10-20 | 2017-11-10 | 삼성전자 주식회사 | 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법 |
US10248330B2 (en) | 2017-05-30 | 2019-04-02 | Seagate Technology Llc | Data storage device with buffer tenure management |
US20210357155A1 (en) * | 2017-09-20 | 2021-11-18 | SK Hynix Inc. | Memory system and operating method thereof |
DE102019131603A1 (de) * | 2019-11-22 | 2021-05-27 | WAGO Verwaltungsgesellschaft mit beschränkter Haftung | Vorrichtung und verfahren zur gepufferten übertragung von daten |
TWI766764B (zh) * | 2021-07-20 | 2022-06-01 | 群聯電子股份有限公司 | 記憶體緩衝區管理方法、記憶體控制電路單元與記憶體儲存裝置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4792926A (en) * | 1985-12-09 | 1988-12-20 | Kabushiki Kaisha Toshiba | High speed memory system for use with a control bus bearing contiguous segmentially intermixed data read and data write request signals |
US5745791A (en) * | 1992-09-16 | 1998-04-28 | Intel Corporation | System for interfacing first and second components having different data path width by generating first and second component address to read data into buffer |
FR2717921B1 (fr) * | 1994-03-24 | 1996-06-21 | Texas Instruments France | Dispositif de gestion de conflit d'accès entre un CPU et des mémoires. |
AU9604698A (en) * | 1997-10-10 | 1999-05-03 | Rambus Incorporated | Method and apparatus for two step memory write operations |
US6622224B1 (en) * | 1997-12-29 | 2003-09-16 | Micron Technology, Inc. | Internal buffered bus for a drum |
DE19951677B4 (de) * | 1998-10-30 | 2006-04-13 | Fujitsu Ltd., Kawasaki | Halbleiterspeichervorrichtung |
US6430649B1 (en) * | 1999-06-07 | 2002-08-06 | Sun Microsystems, Inc. | Method and apparatus for enforcing memory reference dependencies through a load store unit |
US6640292B1 (en) * | 1999-09-10 | 2003-10-28 | Rambus Inc. | System and method for controlling retire buffer operation in a memory system |
US6738880B2 (en) * | 2000-06-12 | 2004-05-18 | Via Technologies, Inc. | Buffer for varying data access speed and system applying the same |
US6530006B1 (en) * | 2000-09-18 | 2003-03-04 | Intel Corporation | System and method for providing reliable transmission in a buffered memory system |
US6622227B2 (en) * | 2000-12-27 | 2003-09-16 | Intel Corporation | Method and apparatus for utilizing write buffers in memory control/interface |
US6877079B2 (en) * | 2001-03-06 | 2005-04-05 | Samsung Electronics Co., Ltd. | Memory system having point-to-point bus configuration |
US6877077B2 (en) * | 2001-12-07 | 2005-04-05 | Sun Microsystems, Inc. | Memory controller and method using read and write queues and an ordering queue for dispatching read and write memory requests out of order to reduce memory latency |
-
2003
- 2003-03-07 DE DE10309919A patent/DE10309919B4/de not_active Expired - Fee Related
-
2004
- 2004-03-03 US US10/792,408 patent/US7447805B2/en not_active Expired - Fee Related
- 2004-03-05 CN CNB2004100080144A patent/CN1289998C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694138A (zh) * | 2017-04-10 | 2018-10-23 | 爱思开海力士有限公司 | 控制器及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
DE10309919B4 (de) | 2008-09-25 |
US20040228166A1 (en) | 2004-11-18 |
CN1289998C (zh) | 2006-12-13 |
US7447805B2 (en) | 2008-11-04 |
DE10309919A1 (de) | 2004-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1289998C (zh) | 缓冲芯片及—或多存储装置之驱动方法 | |
KR101525282B1 (ko) | 스위칭된 인터페이스 적층-다이 메모리 아키텍처 | |
CN1343987A (zh) | 半导体存储器件及采用其的存储模块和系统 | |
US20200394145A1 (en) | Memory module threading with staggered data transfers | |
US20050132140A1 (en) | Non-uniform cache apparatus, systems, and methods | |
CN1244018A (zh) | 同步猝发半导体存储器件 | |
CN1628293A (zh) | 地址空间、总线系统、存储器控制器以及设备系统 | |
CN1758438A (zh) | 半导体存储装置及其封装以及使用该装置的存储卡 | |
CN1725366A (zh) | 堆叠式半导体存储器器件 | |
CN1977336A (zh) | 改善支持多存储器访问延迟的计算机存储器系统的性能的系统和方法 | |
CN1825466A (zh) | 存储器装置,存储器控制器及其操作方法 | |
CN1152780A (zh) | 改进的动态随机存取存储器设备的方法与装置 | |
CN1790541A (zh) | 堆积式体结构的半导体存储器件和驱动该器件字线的方法 | |
CN1815626A (zh) | 存储器存取控制器与存储器存取方法 | |
CN102016809A (zh) | 存储器控制装置、存储器系统、半导体集成电路和存储器控制方法 | |
CN101036197A (zh) | 用于匹配具有不同数量将被同时访问的存储体的存储控制器的非易失性存储装置 | |
CN1618104A (zh) | 数据的顺序半字节突发串排序 | |
CN1892528A (zh) | 产生数字信号处理器和存储器的时钟信号的电路和方法 | |
CN1313934C (zh) | 分配记忆装置地址之方法及电路 | |
CN1106019C (zh) | 半导体存储器 | |
CN1828765A (zh) | 存储器模块的缓冲器组件、存储器模块和存储器系统 | |
CN1758208A (zh) | 对挂接在片外单总线上的多种存储器进行访问的方法 | |
CN1652248A (zh) | 用地址信号设置运行模式的方法和存储系统 | |
CN1932782A (zh) | 设置高速缓存线填充总线存取优先级的微处理器和方法 | |
CN1831799A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061213 |