CN1313935C - 用于减少存储器设备等待时间的装置、方法和系统 - Google Patents

用于减少存储器设备等待时间的装置、方法和系统 Download PDF

Info

Publication number
CN1313935C
CN1313935C CNB031649157A CN03164915A CN1313935C CN 1313935 C CN1313935 C CN 1313935C CN B031649157 A CNB031649157 A CN B031649157A CN 03164915 A CN03164915 A CN 03164915A CN 1313935 C CN1313935 C CN 1313935C
Authority
CN
China
Prior art keywords
memory
factor
memory requests
assembly
digital signal
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
Application number
CNB031649157A
Other languages
English (en)
Other versions
CN1497451A (zh
Inventor
S·B·乔哈里
B·文纳科塔
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1497451A publication Critical patent/CN1497451A/zh
Application granted granted Critical
Publication of CN1313935C publication Critical patent/CN1313935C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

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)
  • Multi Processors (AREA)

Abstract

根据本发明的一个实施例,提供了一种方法,按照该方法从第一组件和第二组件接收存储器请求。经由存储器控制器访问一个或多个存储器设备的第一组件和第二组件,发出存储器请求。分别在第一队列中累积从第一组件接收到的存储器请求,在第二队列中累积从第二组件接收到的存储器请求。将第一队列中已累积的存储器请求,发送到存储器控制器以作为存储器请求块来加以处理。将第二队列中已累积的存储器请求,发送到存储器控制器以作为存储器请求块来加以处理。

Description

用于减少存储器设备等待时间的装置、方法和系统
技术领域
本发明实施例涉及存储器控制器技术以及计算机和网络系统中各组件之间的数据传输技术,尤其涉及一种用于减少存储器设备等待时间的装置、方法和系统。
背景技术
随着计算机、网络设备及系统不断地提高且变得更加复杂,计算机和/或网络处理系统当中各组件之间的可用而高效的数据传输已在系统设计与实施中变得越来越关键。特别是,相当多的努力和研究已把目光集中于能减少或隐藏计算机和网络系统中存储器等待时间的各种机制上。在诸如网络处理应用程序等各种处理应用程序当中,除了存储器设备的带宽之外,存储器访问的等待时间也是影响整个系统性能的显著性能限制因素。诸如同步动态随机访问存储器(SDRAM)之类的高密度存储器设备,通常在存储器存取这些存储器设备中的随机位置方面具有很高的等待时间。另外,这些存储器设备具有可变的等待时间,这取决于对各存储器位置的存储器存取顺序。
在如下的系统配置当中,许多系统组件都可以经由存储器控制器来请求对存储器设备(如SDRAM)的存储器访问,由于需要访问存储器设备(如读或写访问)的各种系统组件的需求和各种存储器访问请求被存储器控制器处理或维护的顺序,这些存储器访问的存储器等待时间可能非常高。例如,在典型的系统或应用程序中,存储器控制器可以从几个系统组件或设备(这里也称为主机(master))那里接收要访问存储器的存储器访问请求。每个主机通常访问不同于其它主机的存储器中的一区域。在许多应用程序中,这些主机的每一个,按连续存储器地址来访问存储器。在这种系统或应用程序中,由于存储器控制器将典型地以先进先服务为基础,为来自各种主机的这些各种存储器访问请求提供服务,并且不得不遭受在不同主机所请求的不同存储器访问之间进行切换而带来的多周期损失,因而等待时间可能非常高。例如,称作主机A的组件可以请求访问存储器中的第1行,而称作主机B的组件却可以请求访问存储器中的第50行。随后,主机A可以请求访问存储器中的第2行,而主机B却可以请求访问存储器中的第51行。在本例中,存储器控制器典型地将处理主机A的访问第1行的请求,而后接着转向处理主机B的访问第50行的请求,再转向处理主机A访问第2行的请求,而后接着再转向处理主机B访问第51行的请求。由此,访问存储器中那些不同位置的等待时间很高,并且存储器控制器遭受到在访问存储器中不同行之间进行切换而带来的多周期损失。
发明内容
在本发明的一个方面,提供了一种装置,包括:存储器控制器,与一个或多个存储器设备相连,该存储器控制器用于处理由一个或多个组件所发出的、访问所述一个或多个存储器设备的存储器请求;多个预取缓冲器,多个预取缓冲器中的每个预取缓冲器用来存储由存储器控制器根据第一组件所发出的一个或多个存储器读请求而预取的数据;以及多个队列单元,多个队列单元中的每个队列单元都用于存储由第一组件所发出的存储器请求,其中,在将由第一组件所发出的多个存储器请求发送到存储器控制器以进行处理之前,将所述多个存储器请求累积在与第一组件相关联的多个队列单元的队列单元中。
在本发明的另一个方面,提供了一种系统,包括:多个数字信号处理器;存储器;和连接于所述多个数字信号处理器与存储器的存储器控制器子系统,该存储器控制器子系统包括:存储器控制器,用于处理由多个数字信号处理器发出的、访问存储器的存储器请求,和多个队列单元,所述多个队列单元中的每个队列单元都与多个数字信号处理器的数字信号处理器相关联,每个队列单元都用来对数字信号处理器发出的存储器请求进行累积,其中由第一数字信号处理器发出的多个存储器请求,在将它们发送到存储器控制器以进行处理之前,被累积在与第一数字信号处理器相关联的队列单元当中。
在本发明的又一个方面,提供了一种方法,包括:经由存储器控制器从第一组件和第二组件接收访问一个或多个存储器设备的存储器请求;将从第一组件接收到的存储器请求累积在第一队列单元中,并将从第二组件接收到的存储器请求累积在第二队列单元中;将在第一队列单元当中所累积的存储器请求发送到存储器控制器以进行处理;将在第二队列单元当中所累积的存储器请求发送到存储器控制器以进行处理;根据来自第一和第二组件的存储器读请求,从所述一个或多个存储器设备中预取数据;将为第一组件所预取的数据存储在第一预取缓冲器中,并将为第二组件所预取的数据存储在第二预取缓冲器中;和响应于后续存储器读请求,所述后续读请求与存储于第一和第二预取缓冲器中的数据的地址相匹配,分别将来自第一和第二预取缓冲器的对应数据发送给第一和第二组件。
附图说明
通过参照下列用于举例说明本发明实施例的说明及附图,可以更好地理解本发明,其中:
图1是根据本发明一个实施例的系统方框图。
图2给出了依照本发明一个实施例的存储器控制子系统的方框图。
图3举例说明依照本发明一个实施例的方法流程图。
图4举例说明根据本发明一个实施例的方法流程图。
图5给出了根据本发明一个实施例的系统方框图。
具体实施方式
在下面的详细说明中,阐述了许多具体的细节。然而,可以理解的是,本发明的实施例可以在没有这些具体细节的情况下加以实施。
在如下论述中,根据本发明一个实施例,描述了一种用于减少存储器设备等待时间的方法、装置和系统。在一个实施例中,提供了一种装置,该装置包括与一个或多个存储器设备相连的存储器控制器。该存储器控制器负责处理或维护由一个或多个系统组件(这里也称为主机)所发出的要访问所述一个或多个存储器设备的存储器请求。该装置还包括多个队列,每个队列都用来存储或累积由相应组件所发出的存储器请求。在一个实施例中,在多个存储器请求被发送到对其进行处理的存储器控制器之前,在与特定组件相关的一队列中累积由特定组件所发出的多个存储器请求。在一个实施例中,该装置进一步包括多个预取缓冲器,每个预取缓冲器都用来存储由存储器控制器依据一个或多个存储器读请求为相应组件所预取的数据,所述读请求是由相应组件发出的。响应于由特定组件所发出的后续存储器读请求,该后续存储器读请求命中与特定组件相关联的预取缓冲器,取回存储在预取缓冲器中的已预取数据并发送给该特定组件。
图1是根据本发明一个实施例的系统100的方框图。如图1所示,系统100包括多个组件或设备110A-N(也称为主机),这些组件或设备与存储器控制子系统120相连接以访问存储在存储器设备160(如SDRAM)中的数据。每个主机100都能通过发出适当的存储器请求来对存储器设备160进行读或写,这些存储器请求由包含于存储器控制子系统120中的存储器控制器130来进行处理或维护。在一个实施例中,存储器控制子系统包括用于各个主机110的一独立的队列(这里也称为命令队列)140以及一独立的预取缓冲器(这里也称为预取队列)150。队列140A-N中的每一个都用来存储或累积由各个主机110所发出的存储器请求(也称为存储器命令)。每个预取缓冲器150A-N都用来存储由存储器控制器130依据各个主机110所发出的存储器读请求而为各个主机110所预取的数据。下面将更加详细地描述队列140A-N与预取缓冲器150A-N的使用与操作。
图2示出了依照本发明一个实施例的存储器控制子系统120的更加详细的方框图。如图2所示,存储器控制子系统120包括用于每个主机110的一独立的队列140和一独立的预取缓冲器150。该存储器控制子系统120还包括请求/响应控制逻辑电路210,它控制命令队列140A-N及预取缓冲器150A-N的使用与操作。每个命令队列140A-N都用来存储或累积由相关主机所发出的各种存储器请求。为了解释和举例说明,可将队列140A-N、预取缓冲器150A-N及请求/响应控制逻辑电路210进行逻辑分组,并且称为存储器接口单元或组件205。在一个实施例中,由主机110所发出的多个存储器请求,在将它们经由请求总线220发送给存储器控制器130以进行处理之前,在相关队列140中将它们累积起来。因为,就来自单个主机110的相继存储器请求(命令)而言,访问存储设备160(如SDRAM)中连续存储器位置的概率相对要高,所以存储器控制器130将不会遭受到在访问存储器设备160中不同行或位置之间进行切换而带来的多周期损失。
在一个实施例中,其中诸如请求总线202这样的内部总线为由主机110所产生的顺序访问组(burst)当中的每个请求而发出多个读命令,存储器控制器130在接收所述组中的后续请求之前可读取第一命令所请求的整个组。在一个实施例中,在接收到所述请求之前存储器控制器130所读取的附加数据被存储在用于各个主机的预取缓冲器(也称为读响应队列)中。随着接收在所述组中的后续读请求,从相应预取缓冲器150中取回所请求数据,而不是从存储器设备160中获取上述数据。从相应预取缓冲器150中取回数据,使得等待时间减少。
在一个实施例中,由于来自单个主机的命令将具有空间局部性的概率很高(例如,任何单个主机通常以连续存储器地址来访问存储器设备),因而,在继续转移到下一个主机请求之前,将会更高效地处理主机存储器请求块。因此,当在存储器设备160不同行或位置之间进行切换时,可以实现在开销处理上的相当大的节省。在一个实施例中,对一个主机而言,要作为块而被处理的存储器请求的个数,可以依据各种因素来确定。所述这些因素可包括:第一因素,它对应于存储器带宽利用率;及第二因素,它对应于如下的组件或设备(主机)的个数,该组件或设备发出经由存储器控制器130访问存储器设备160的存储器请求。另外,各种因素可包括:第三因素,它对应于所发出的存储器请求的类型;和第四因素,它对应于各个队列当中挂起的存储器请求的个数。在另一实施例中,可以预先确定作为块被处理的存储器请求的个数。例如,在队列中已累积的每五个(或十个等等)存储器请求,可以作为块来加以处理。本领域普通技术人员应当理解和认识到:作为块被处理的存储器请求的个数,可以随着本发明各种实施和应用而发生变化或者不同地设置。
图3举例说明了依照本发明的一个实施例的方法流程图。在块310,接收来自第一组件(第一主机)和第二组件(第二主机)的存储器请求。如上所述,在一个实施例中,第一和第二组件发出这些存储器请求,以经由存储器控制器来访问存储器设备。在块320中,对从第一队列和第二队列所接收的存储器请求分别累积或存储在第一队列和第二队列中。将第一队列指定成用于存储从第一组件接收到的存储器请求,而将第二队列指定成用于存储从第二组件接收到的存储器请求。换言之,分别将第一队列与第一组件相关联,将第二组件与第二组件相关联。在块340,将在第一队列中累积的存储器请求发送到存储器控制器,以作为存储器请求块而加以处理。在块350,将在第二队列中累积的存储器请求发送到存储器控制器,以作为存储器请求块而加以处理。如上所述,因为就来自单个主机的连续存储器请求(命令)而言,访问存储器设备(如SDRAM)中的连续存储器位置的概率相对地高,所以存储器控制处理由一个主机相继发出的多个存储器请求将会更加有效。因此,存储器控制器将不会遭受到在访问存储器设备中不同行或位置之间进行切换而带来的多周期损失。同样,由于来自单个主机的请求或命令将具有空间局部性的概率很高(例如,任何单个主机通常按连续存储器地址来访问存储器设备),因此,在继续转移到下一个主机请求之前,将会更高效地处理一个主机的存储器请求块。
图4举例说明了根据本发明一个实施例的方法流程图。在块410,存储器控制器依据由第一组件(第一主机)和第二组件(第二主机)所发出的存储器读请求,从一个或多个存储器设备中预取数据。在块420,为第一组件所预取的数据存储在第一预取缓冲器中,而为第二组件所预取的数据存储在第二预取缓冲器中。该第一预取缓冲器是被指定成用于存储为第一组件所预取的数据的缓冲器,而该第二预取缓冲器是被指定成用于存储为第二组件所预取的数据的缓冲器。在块430,响应于从第一和第二组件接收到的后续存储器读请求,从第一和第二预取缓冲器中取回相应已预取的数据,并将这些数据分别发送到第一和第二组件。
图5示出了根据本发明一个实施例的系统500的方框图。系统500包括:多个中央处理单元(CPU)或处理器501a-d、存储器控制子系统(也称为存储器控制单元)511、P64控制单元521、输入/输出(IO)控制单元531、连接于图形子系统551的图形控制器541、以及多个存储器设备561。处理器501a-d可以是通用处理器、专用处理器、数字信号处理器(DPS)、分组处理器等等。在一个实施例中,处理器501a-d是如下的通用微处理器,所述通用微处理器能够执行Inter体系结构指令集。CPU 501a-d、P64控制单元521、IO控制单元531和AGP图形控制单元541,均经由存储器控制单元511来访问系统存储器设备561。在一个实施例中,存储器控制单元511负责维护所有以存储器设备561为目标的存储器事务。存储器控制单元511可以是独立单元、芯片组的集成部分,或是某些控制各种系统组件与系统存储器设备561之间接口的较大的单元的一部分。P64控制单元521提供多个PCI-64插槽525与存储器控制单元511之间的接口控制。IO控制单元531提供存储器单元511和各种IO设备及如下端口之间的接口控制,所述端口包括:PCI插槽与PCI代理533、多个USB端口535、多个IDE端口537以及其它IO设备539。AGP图形控制单元541提供图形子系统551与存储器控制单元511之间的接口控制。
在一个实施例中,存储器控制单元511包括用于每个如下系统组件的一独立队列513和一独立预取缓冲器515,所述系统组件经由存储器控制单元511访问存储器设备561。存储器控制子系统511还包括:请求/响应控制逻辑517,它控制命令队列513和预取缓冲器515的使用与操作。如在上面相对于图1和2所做的描述,每个命令队列513都能用来存储或累积由相关组件(如CPU 501)发出的各种存储器请求。在一个实施例中,由诸如CPU501等系统组件发出的多个存储器请求,在将这些存储器请求发送到存储器控制器519以进行处理之前,在相关队列513中对它们进行累积。
在一个实施例中,存储器控制器519可以依据从各种系统组件接收到的存储器读请求,执行从存储器设备561中预取数据的预取操作。举例来说,当系统组件在连续访问组中发出多个读请求时,存储器控制器519就能在接收所述组中的后续请求之前,读取由第一存储器请求所请求的整个组。存储器控制器519所读取的已预取数据,存储在每个相应系统组件的预取缓冲器515中。随着接收在所述组中的后续读请求,可以从相应预取缓冲器515中取回所请求数据,而不是从存储器设备561中获取这些数据。
在一个实施例中,由于来自一个系统组件(如CPU 501)的命令将具有空间局部性的概率很高,因此,存储器控制器519在处理下一个组件请求之前,将会更高效地处理一个组件的存储器请求块。在一个实施例中,一个系统组件的作为块被处理的存储器请求的个数,可以依据如上所述的各种因素来确定。在另一实施例中,作为块被存储器控制器519处理的存储器请求的个数,可以预先确定。
尽管已经按照几种实施例对本发明作了描述,但是本领域普通技术人员将会认识到:本发明不应限定为所描述实施例,而是能在所附权利要求的实质和范围内,按修改形式和变化形式加以实施。因此应当认为该说明是举例说明性的,而非限定性的。

Claims (15)

1.一种装置,包括:
存储器控制器,与一个或多个存储器设备相连,该存储器控制器用于处理来自多个组件用以访问所述一个或多个存储器设备的存储器请求;
多个预取缓冲器,多个预取缓冲器中的每个预取缓冲器用来存储由存储器控制器根据来自所述多个组件中的第一组件的一个或多个存储器读请求而预取的数据;以及
多个队列单元,多个队列单元中的每个队列单元用于存储来自所述多个组件中的一个组件的存储器请求,
其中,在将来自第一组件的多个存储器请求发送到存储器控制器以进行处理之前,将所述多个存储器请求累积在与第一组件相关联的多个队列单元中的一个队列单元中。
2.如权利要求1所述的装置,其中:所述装置对由第一组件发出的后续存储器读请求做出响应,该后续存储器读请求命中与第一组件相关联的预取缓冲器,将存储在预取缓冲器中所预取的数据发送到第一组件。
3.如权利要求1所述的装置,其中:存储器控制器在处理由所述多个组件中的第二组件发出的请求之前,处理来自第一组件的多个存储器请求。
4.如权利要求3所述的装置,其中:被累积下来作为要由存储器控制器处理的多个存储器请求的存储器请求个数,是根据从包括第一因素、第二因素、第三因素及第四因素的组中选择的一个或多个因素来加以确定的,所述第一因素对应于存储器带宽利用率,所述第二因素对应于产生访问一个或多个存储器设备的存储器请求的组件的个数,所述第三因素对应于所发出的存储器请求的类型,所述第四因素对应于在多个队列单元中的每个队列单元中挂起的存储器请求个数。
5.如权利要求4所述的装置,其中:来自第一组件且要作为一个组加以处理的存储器请求的个数是预先确定的。
6.一种方法,包括:
经由存储器控制器从第一组件和第二组件接收访问一个或多个存储器设备的存储器请求;
将从第一组件接收到的存储器请求累积在第一队列单元中,并将从第二组件接收到的存储器请求累积在第二队列单元中;
将在第一队列单元当中所累积的存储器请求发送到存储器控制器以进行处理;
将在第二队列单元当中所累积的存储器请求发送到存储器控制器以进行处理;
根据来自第一和第二组件的存储器读请求,从所述一个或多个存储器设备中预取数据;
将从第一组件所预取的数据存储在第一预取缓冲器中,并将从第二组件所预取的数据存储在第二预取缓冲器中;和
响应于后续存储器读请求,所述后续读请求与存储于第一和第二预取缓冲器中的数据的地址相匹配,分别将来自第一和第二预取缓冲器的对应数据发送给第一和第二组件。
7.如权利要求6所述的方法,其中:存储器控制器处理在第二队列单元中累积的存储器请求之前,处理在第一队列单元中累积的存储器请求。
8.如权利要求7所述的方法,其中:来自第一组件且要相继地处理的所累积的存储器请求的个数,是依据从包括第一因素、第二因素、第三因素及第四因素的组中选择的一个或多个因素加以确定的,所述第一因素对应于存储器带宽利用率,所述第二因素对应于需访问一个或多个存储器设备的组件的个数,所述第三因素对应于所发出的存储器请求的类型,所述第四因素对应于在第一和第二队列单元当中的每个队列单元中挂起的存储器请求的个数。
9.如权利要求7所述的方法,其中来自第一组件且要作为一个组加以处理的所累积的存储器请求的个数是预先确定的。
10.一种系统,包括:
多个数字信号处理器;
存储器;和
连接于所述多个数字信号处理器和存储器的存储器控制器子系统,该存储器控制器子系统包括:
存储器控制器,用于处理由多个数字信号处理器发出用以访问该存储器的存储器请求,和
多个队列单元,所述多个队列单元中的每个队列单元与由多个数字信号处理器中的一个数字信号处理器所发出的存储器请求相关联,并且累积该所发出的存储器请求,其中由多个数字信号处理器中的第一数字信号处理器发出的多个存储器请求,在被发送到存储器控制器以进行处理之前,被累积在与第一数字信号处理器相关联的队列单元当中。
11.如权利要求10所述的系统,其中:存储器控制器子系统进一步包括:
多个预取缓冲器,它们每一个都与所述多个数字信号处理器中的一个数字信号处理器相关联,第一预取缓冲器用于存储由存储器控制器根据由第一数字信号处理器发出的一个或多个存储器读请求为多个数字信号处理器中的该第一数字信号处理器所预取的数据。
12.如权利要求11所述的系统,其中:所述存储器控制器通过将在第一预取缓冲器中所存储的预取数据发送到第一数字信号处理器,来对由第一数字信号处理器发出的后续存储器读请求做出响应。
13.如权利要求10所述的系统,其中存储器控制器在处理由多个数字信号处理器中的第二数字信号处理器发出的请求之前,处理由第一数字信息处理器发出的所述多个存储器请求。
14.如权利要求10所述的系统,其中被累积下来作为要由存储器控制器处理的多个存储器请求的存储器请求个数,是依据从包括第一因素、第二因素、第三因素及第四因素的组中选择的一个或多个因素来加以确定的,所述第一因素对应于存储器带宽利用率,所述第二因素对应于多个数字信号处理器的个数,所述第三因素对应于所发出的存储器请求的类型,所述第四因素对应于在每个队列单元中挂起的存储器请求的个数。
15.如权利要求13所述的系统,其中由第一数字信号处理器所发出且要加以处理的多个存储器请求是预先确定的。
CNB031649157A 2002-10-03 2003-09-30 用于减少存储器设备等待时间的装置、方法和系统 Expired - Fee Related CN1313935C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/264,115 US6892281B2 (en) 2002-10-03 2002-10-03 Apparatus, method, and system for reducing latency of memory devices
US10/264115 2002-10-03

Publications (2)

Publication Number Publication Date
CN1497451A CN1497451A (zh) 2004-05-19
CN1313935C true CN1313935C (zh) 2007-05-02

Family

ID=32042155

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031649157A Expired - Fee Related CN1313935C (zh) 2002-10-03 2003-09-30 用于减少存储器设备等待时间的装置、方法和系统

Country Status (5)

Country Link
US (1) US6892281B2 (zh)
CN (1) CN1313935C (zh)
AU (1) AU2003272755A1 (zh)
TW (1) TWI281609B (zh)
WO (1) WO2004031959A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139878B2 (en) * 2003-06-20 2006-11-21 Freescale Semiconductor, Inc. Method and apparatus for dynamic prefetch buffer configuration and replacement
US7111153B2 (en) * 2003-09-30 2006-09-19 Intel Corporation Early data return indication mechanism
US7228362B2 (en) * 2004-03-31 2007-06-05 Intel Corporation Out-of-order servicing of read requests with minimal additional storage
US7434009B2 (en) * 2004-09-30 2008-10-07 Freescale Semiconductor, Inc. Apparatus and method for providing information to a cache module using fetch bursts
US20060212658A1 (en) * 2005-03-18 2006-09-21 International Business Machines Corporation. Prefetch performance of index access by look-ahead prefetch
JP5130754B2 (ja) * 2007-03-15 2013-01-30 富士通セミコンダクター株式会社 半導体集積回路及びメモリシステム
CN102196252B (zh) * 2010-03-12 2013-05-08 联咏科技股份有限公司 存储器控制系统及方法
CN102262602A (zh) * 2010-05-26 2011-11-30 比亚迪股份有限公司 一种用于ahb总线的数据读取装置及方法
CN102693195A (zh) * 2011-03-24 2012-09-26 凌阳科技股份有限公司 用以最优化同步存储器的频宽的存储器存取系统及方法
US9342258B2 (en) * 2011-09-01 2016-05-17 Freescale Semiconductor, Inc. Integrated circuit device and method for providing data access control
CN102981773B (zh) * 2011-09-02 2016-07-06 深圳市云帆世纪科技有限公司 存储设备访问方法、访问系统及存储设备访问管理器
US9274971B2 (en) * 2012-11-27 2016-03-01 International Business Machines Corporation Low latency data exchange
CN103150272B (zh) * 2013-03-21 2017-05-24 珠海市杰理科技股份有限公司 Sdram的数据存取电路及sdram的数据存取系统
US20170068480A1 (en) * 2015-09-09 2017-03-09 Mediatek Inc. Power Saving Methodology for Storage Device Equipped with Task Queues
KR102516547B1 (ko) * 2018-03-08 2023-04-03 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US10635610B1 (en) * 2019-03-14 2020-04-28 Toshiba Memory Corporation System and method for serial interface memory using switched architecture
KR20210012439A (ko) * 2019-07-25 2021-02-03 삼성전자주식회사 마스터 지능 소자 및 이의 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1123933A (zh) * 1994-05-19 1996-06-05 国际商业机器公司 集成的二级超高速缓冲存储器和带有多路数据端口的存储器控制器
US6202101B1 (en) * 1998-09-30 2001-03-13 Compaq Computer Corporation System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom
US6260099B1 (en) * 1998-12-22 2001-07-10 Unisys Corporation Multi-level priority control system and method for managing concurrently pending data transfer requests
US6269433B1 (en) * 1998-04-29 2001-07-31 Compaq Computer Corporation Memory controller using queue look-ahead to reduce memory latency

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822772A (en) * 1996-03-22 1998-10-13 Industrial Technology Research Institute Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
US6138213A (en) * 1997-06-27 2000-10-24 Advanced Micro Devices, Inc. Cache including a prefetch way for storing prefetch cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line
US20020056027A1 (en) * 1998-10-29 2002-05-09 Hiroki Kanai Information processing system
US6848029B2 (en) * 2000-01-03 2005-01-25 Dirk Coldewey Method and apparatus for prefetching recursive data structures
US6748496B1 (en) * 2000-04-18 2004-06-08 Ati International Srl Method and apparatus for providing cacheable data to a peripheral device
US6564304B1 (en) * 2000-09-01 2003-05-13 Ati Technologies Inc. Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1123933A (zh) * 1994-05-19 1996-06-05 国际商业机器公司 集成的二级超高速缓冲存储器和带有多路数据端口的存储器控制器
US6269433B1 (en) * 1998-04-29 2001-07-31 Compaq Computer Corporation Memory controller using queue look-ahead to reduce memory latency
US6202101B1 (en) * 1998-09-30 2001-03-13 Compaq Computer Corporation System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom
US6260099B1 (en) * 1998-12-22 2001-07-10 Unisys Corporation Multi-level priority control system and method for managing concurrently pending data transfer requests

Also Published As

Publication number Publication date
WO2004031959A3 (en) 2004-05-06
US6892281B2 (en) 2005-05-10
WO2004031959A2 (en) 2004-04-15
US20040068615A1 (en) 2004-04-08
TWI281609B (en) 2007-05-21
WO2004031959A9 (en) 2004-08-26
TW200424847A (en) 2004-11-16
AU2003272755A1 (en) 2004-04-23
CN1497451A (zh) 2004-05-19
AU2003272755A8 (en) 2004-04-23

Similar Documents

Publication Publication Date Title
CN1313935C (zh) 用于减少存储器设备等待时间的装置、方法和系统
US7500063B2 (en) Method and apparatus for managing a cache memory in a mass-storage system
US5822772A (en) Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
US7107415B2 (en) Posted write buffers and methods of posting write requests in memory modules
US7536530B2 (en) Method and apparatus for determining a dynamic random access memory page management implementation
US6959374B2 (en) System including a memory controller configured to perform pre-fetch operations including dynamic pre-fetch control
EP1110151B1 (en) Buffering system bus for external-memory accesses
US6704817B1 (en) Computer architecture and system for efficient management of bi-directional bus
CN103080907B (zh) 用于模糊步幅预取的方法和装置
US7206902B2 (en) System, apparatus and method for predicting accesses to a memory
CN1675625A (zh) 具有内部高速缓存和/或内存访问预测的内存集线器
CN1688980A (zh) 具有内部行高速缓存的内存集线器及访问方法
US9170753B2 (en) Efficient method for memory accesses in a multi-core processor
CN1382276A (zh) 处理装置的优先总线请求调度机制
US20040103258A1 (en) Dynamic optimization of latency and bandwidth on DRAM interfaces
CN111580749A (zh) 存储节点、混合存储器控制器及控制混合存储器组的方法
US6654837B1 (en) Dynamic priority external transaction system
CN101493795A (zh) 存储系统和存储控制器以及存储系统中的缓存实现方法
US6622212B1 (en) Adaptive prefetch of I/O data blocks
US5732409A (en) Caching disk controller implemented by hardwired logic
EP1449087A1 (en) Bandwidth enhancement for uncached devices
EP1704487B1 (en) Dmac issue mechanism via streaming id method
US10402324B2 (en) Memory access for busy memory by receiving data from cache during said busy period and verifying said data utilizing cache hit bit or cache miss bit
JP2786886B2 (ja) プリフェッチ制御方法およびプリフェッチ制御装置
US20220066672A1 (en) Memory controller partitioning for hybrid memory system

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: 20070502

Termination date: 20100930