CN105320608A - 用于控制存储器设备处理访问请求的存储器控制器和方法 - Google Patents

用于控制存储器设备处理访问请求的存储器控制器和方法 Download PDF

Info

Publication number
CN105320608A
CN105320608A CN201510441697.0A CN201510441697A CN105320608A CN 105320608 A CN105320608 A CN 105320608A CN 201510441697 A CN201510441697 A CN 201510441697A CN 105320608 A CN105320608 A CN 105320608A
Authority
CN
China
Prior art keywords
access
request
memory
region
access region
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
Application number
CN201510441697.0A
Other languages
English (en)
Other versions
CN105320608B (zh
Inventor
安德烈亚斯·翰森
阿尼卢哈·纳甘德兰·乌迪比
妮哈·阿加瓦尔
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines Ltd
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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN105320608A publication Critical patent/CN105320608A/zh
Application granted granted Critical
Publication of CN105320608B publication Critical patent/CN105320608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本文提供了用于控制存储器设备处理访问请求的存储器控制器和方法。该访问请求由至少一个主设备发布,该存储器设备具有多个访问区域。存储器控制器具有未决访问请求存储设备,该未决访问请求存储设备在由主设备发布的访问请求被存储器设备处理之前对那些访问请求进行缓冲。然后访问控制电路向多个访问区域发布控制命令,以控制存储器设备对从未决访问请求存储设备中取回的访问请求进行处理。还提供了查询结构,该查询结构被配置为针对每个访问区域,维护关于在未决访问请求存储设备中所缓冲的访问请求的信息,并且访问控制电路在确定要被发布给多个访问区域的控制命令时参照查询结构。

Description

用于控制存储器设备处理访问请求的存储器控制器和方法
技术领域
本发明涉及用于控制存储器设备处理由至少一个主设备发布的访问请求的存储器控制器和存储器控制方法。
背景技术
在数据处理系统中,使用存储器控制器来控制对相关联的存储器设备的访问,以对由系统内的主设备发布的访问请求进行处理,这是熟知的。传统上,存储器控制器将包括一些存储设备,例如,用于在未决的访问请求被相关联的存储器设备进行处理之前对这些访问请求进行缓冲的队列。
当控制存储器设备时,对存储器控制器的队列中所保存的未决访问请求进行检查十分有用,因为这可以被用来影响存储器设备的操作,从而实现性能改善、能量节省等目的。例如,在理解存在哪些未决访问请求的情况下,可以将存储器设备的某些部分置于低功率状态,而不影响那些未决访问请求的性能。如另一示例,考虑到访问存储器设备的特定部分所需的机制,对某些访问请求进行重新排序可能更加有效。例如,许多现代数据处理系统使用具有非均匀访问时序要求的存储器设备,在该要求中,特定行(row)需要在被访问之前被启用,因此,当行被启用时,执行对该同一行的多个访问更加有效,而不是在不同行之间不断地进行切换。
展示了以上属性的一种类型的存储器设备是包括多个组(bank)的存储器设备,每一组包括多个行,并且每一行需要在该行被访问之前被激活。这样的存储器设备的示例是DRAM(动态随机访问存储器)存储器设备。然而,这样的非均匀访问时序特点不限于DRAM设备,并且实际上许多其他类型的存储器设备具有类似的组和行的布置以及相关联的访问时序要求,例如,电阻式RAM(ReRAM)、磁性RAM(MRAM)、相变RAM(PCRAM),等等。
从上面的讨论看出,应当理解,可能存在为什么当控制存储器设备时对存储器控制器的队列中的未决访问请求进行检查是有用的各种原因,无论是为了执行关于存储器设备的功率控制操作、执行未决访问请求的调度操作、还是为了一些其他原因。然而,随着系统变得越来越复杂,可能需要由存储器控制器进行管理的未决访问请求的数目也在增加,从而用于存储那些未决访问请求的相关联的队列结构变得更大。因此,存在涉及对存储器控制器的未决访问请求队列的内容进行检查的大量开销。在高性能解决方案中,可以使用一些并行访问机制来检查未决访问请求队列,以使得多个未决访问请求被并行检查。然而,这样的方法是复杂的,并且导致大量的功率消耗,尤其是随着队列大小的增加。而如果决定使用较低功耗、更连续的访问机制来执行对未决访问请求队列的内容的分析,这将由于大量的未决访问请求要被检查而产生显著的延迟问题。
因而,所期待的将是,提供用于对存储器设备进行控制的改善的机制,同时仍能够考虑等待处理的未决访问请求。
发明内容
从第一方面看,本发明提供了存储器控制器,该存储器控制器包括:未决访问请求存储设备,该未决访问请求存储设备被配置为在由至少一个主设备发布的访问请求被存储器设备处理之前对那些访问请求进行缓冲;访问控制电路,该访问控制电路被配置为向存储器设备中的多个访问区域发布控制命令,以控制存储器设备对从未决访问请求存储设备中取回的访问请求进行处理;查询结构,所述查询结构被配置为针对每个访问区域,维护关于在未决访问请求存储设备中所缓冲的访问请求的信息;并且访问控制电路被配置为当确定要被发布给多个访问区域的控制命令时参照查询结构。
根据本发明,存储器设备被看作是包括多个访问区域。访问区域的形式可以根据实施例而变化,并且具体地考虑基于未决访问请求而预期在存储器设备上执行的访问控制操作的类型。例如,当考虑功率控制操作时,访问区域可以包括可能受制于独立功率控制命令的区域。对于对未决访问请求执行的调度操作,至少一些访问区域可以被定义,以标识可以被更加有效地访问的地址群组,例如,考虑更早提及的许多现代存储器设备的非均匀访问时序特点。
根据本发明,除了对等待被存储器设备处理的实际未决访问请求进行缓冲的未决访问请求存储设备之外,还提供了查询结构,该查询结构被配置为:针对每个访问区域,维护关于在未决访问请求存储设备中所缓冲的访问请求的信息。尽管该信息可以采取各种形式,但当控制存储器设备处理未决访问请求时,该信息可以被用来影响由访问控制电路向存储器设备内的多个访问区域发布的控制命令。因此,访问控制电路被配置为:当确定要被发布的控制命令时参照查询结构。由于查询结构不对未决访问请求自身进行维护,而是仅被配置为维护关于未决访问请求的某些信息,因此,访问控制电路可以获取适当的信息以影响控制命令,与它试图直接对未决访问请求存储设备的内容进行分析的情形相比,它发布控制命令要快得多并且具有低得多的功率消耗。
而且,由于查询结构被配置为维护每个访问区域的信息,因此访问控制电路可以从查询结构获取关于与特定访问区域相关的未决访问请求的信息,从而获取目标信息,当控制存储器设备对未决访问请求进行处理时,该目标信息可以被用来直接确定发送至各种访问区域的适当的控制命令。
因此,本发明提供了用于基于存储器控制器内的未决访问请求来控制存储器设备的较高性能且较低能量消耗的机制。随着主设备的数目增加以及现代系统中所需的带宽增加,需要由存储器控制器进行维护的未决访问请求的数目可能增加,因此,本发明的性能和能量节省的益处将变得越来越显著。
查询结构可以采取各种形式,但在一个实施例中,查询结构包括信息存储设备和维护电路,该信息存储设备被配置为存储每个访问区域的信息,该维护电路被配置为:当每个访问请求被添加到未决访问请求存储设备中或者被从未决访问请求存储设备移除时,修改与一个或多个访问区域相关联的信息。这样的方法使得该信息针对每个访问区域被有效维护。
访问区域可以采用各种形式,但在一个实施例中,每个访问区域包括存储器地址范围,并且对于每个访问区域,在查询结构中所维护的信息指示所缓冲的访问请求是否包括指定了该访问区域的存储器地址范围中的存储器地址的任何访问请求。因此,当考虑向存储器设备的访问区域发布适当的控制命令时,访问控制电路将能够从查询结构取回指示是否存在指向该访问区域内的存储器地址的任何未决访问请求的信息,这使得访问控制电路能够做出控制命令决策,该控制命令决策可以产生显著的性能和/或能量节省。
在一个特定的实施例中,对于每个访问区域,该信息包括计数器值,该计数器值指示所缓冲的访问请求的数目,这些访问请求指定了该访问区域的存储器地址范围内的存储器地址。这样的计数信息有助于访问控制电路做出各种控制命令决策,例如,控制特定访问区域的功率状态、决定未决访问请求向特定访问区域的调度,等等。例如,如果特定区域中的未决访问请求的数目相对较高,则这可能使得访问控制电路开始调度指向该访问区域的未决访问请求,例如以确保不出现可能产生服务质量问题的瓶颈。
查询结构可以采取各种形式,但在一个实施例中,查询结构包括计数器值存储设备和更新电路,其中,计数器值存储设备被配置为存储每个访问区域的计数器值,更新电路被配置为当访问请求被添加到未决访问请求存储设备中时,以第一方向调整与每个访问区域相关联的计数器值,其中,所述每个访问区域的存储器地址范围包括由所添加的访问请求指定的存储器地址。更新电路还被配置为当访问请求被从未决访问请求存储设备中移除时,以与第一方向相反的第二方向调整与每个访问区域相关联的计数器值,其中,所述每个访问区域的存储器地址范围包括由所移除的访问请求指定的存储器地址。
在一个特定的实施例中,当每个访问请求被添加到未决访问请求存储设备中时,如果由所添加的访问请求指定的存储器地址处于相关联的访问区域的存储器地址范围之内,则可以递增计数器值,并且类似地,当这样的访问请求被从未决访问请求存储设备中移除时(例如,当访问请求由存储器控制器内的调度电路发布至存储器设备时),可以递减计数器值。
在一个实施例中,多个访问区域可以包括多个访问区域群组,并且对于至少一个访问区域群组,查询结构被配置为提供信息,该信息在该访问区域群组中的多个访问区域之间被共享。因此,对于上述至少一个访问区域群组,该信息可以不针对该群组内的每个访问区域进行独立维护,而是多个访问区域可以被布置为共享相同的信息。这可能在针对特定访问区域的信息的绝对准确度方面导致一些降低,但可以在群组内存在大量访问区域的场景中实施,例如,可能是如下情形:一个访问区域群组被配置为使得每个独立的访问区域与存储器设备的组内的独立的行相关。
在这样的实施例中,存在许多方式可以维护在多个访问区域之间进行共享的信息。在一个实施例中,对于这样的访问区域群组,查询结构对该信息实现概率更新机制,这样的概率更新机制的示例为布隆(Bloom)过滤器机制。根据布隆过滤器机制,包括某一比特数目的输入值服从哈希(hash)函数,以生成具有比输入少的比特数的索引值。该索引值在该示例中将指向特定的信息部分。通过这样的方法,可以看出,如果哈希函数的输入值标识了特定访问区域,则由哈希函数生成的索引对于每个独立的访问区域而言将不是唯一的,并且实际上,多个访问区域将指向同一条信息,例如,计数器值。
在一个实施例中,多个访问区域群组被布置为多个层次等级,以使得对于一个层次等级处的每个访问区域,在较低的层次等级处存在多个相关联的访问区域。考虑每个访问区域包括存储器地址范围的实施例,其因此可以是如下情形:在较高的层次等级处,每个访问区域覆盖相对较大的地址范围,而在较低的层次等级处,各个访问区域覆盖较小的地址范围。
尽管当采用上面的层次等级方法时,存在多种方式可以维护针对每个访问区域的信息,但在一个实施例中,在查询结构中针对该访问区域所维护的信息是在查询结构中针对较低层次等级处的相关联的访问区域所维护的信息的聚合。因此,例如,在信息采取计数器值的形式的实例中,与一个层次等级处的访问区域相关联的计数器值可以被布置为与在较低层次等级处的多个访问区域中的每个访问区域相关联的计数器值的累积。
在一个实施例中,存储器设备包括多个组,每一组包括多个行。每一组形成一个层次等级处的访问区域群组内的访问区域,并且每行形成较低层次等级处的另一访问区域群组内的访问区域。
而且,在一个实施例中,存储器设备还包括多个区块(rank),每个区块包括来自所述多个组中的若干组。每个区块然后形成比包含每一组的访问区域的所述一个层次等级更高的层次等级处的访问区域群组内的访问区域。因此,在这样的实施例中,存在三个独立的访问区域层次等级,第一层次等级包含针对每一区块的访问区域,下一较低的层次等级包含针对每一区块内的每一组的访问区域,并且在下一较低的层次等级处,每个访问区域与每一组内的行相关联。
尽管通常是特定存储器设备内的区块的数目和组的数目相对较低的情形,因此维护针对每一区块和每一组的独立的信息(例如,计数器值)在较小尺寸的查询结构内是容易实现的,但每一组内的行的数目可能相对较大,并且维护针对每一行的独立的信息可能导致查询结构的尺寸的显著增大,这将降低从这样的查询结构可获得的性能和能力节省的益处。然而,在一个实施例中,对于包含从每一行所形成的访问区域的群组,查询结构被配置为提供在该群组内的多个行之间被共享的信息。具体地,在一个实施例中,先前提及的布隆过滤器机制可以被用来确保所维护的独立的信息的条数显著少于每一组内的行的总数。
具体地,在一个实施例中,与每一组内的行相关联,查询结构维护多个计数器值,计数器值的数目小于每一组中的行的数目,并且查询结构采用哈希函数来根据输入值标识所述多个计数器值中的相应的计数器值,输入值提供行标识符。
尽管在一个实施例中,输入值可以只提供行标识符,但是在行标识符自身之上,其还可以另外被补充有与访问请求相关联的属性信息。具体地,在一个实施例中,属性信息可以包括服务质量(QoS)指示和/或主设备标识符。服务质量信息例如可以被用来标记与特定请求(例如,任意实时请求或具有硬期限的请求)相关联的任意时间紧急性。因此,针对特定行的以实时请求形式的访问请求将被散列为与同样针对同一行但具有较少的关联时间约束的不同的访问请求不同的计数器值。通过将主设备标识符与输入值进行关联,则可能确定来自不同主设备的未决请求的数目,这在具有多个请求者(例如,多个中央处理单元(CPU)、多个图形处理单元(GPU)等)的复杂的片上系统(SoC)中是有益的。除了一般的调度决策,这样的信息尤其可有助于公平和QoS问题。
由访问控制电路发布的控制命令可以采取各种形式。在一个实施例中,访问控制电路被配置为执行调度操作以确定所缓冲的访问请求将由存储器设备处理的顺序,并且由访问控制电路发布的控制命令包括调度控制命令,这些调度控制命令被发布至多个访问区域以使得所缓冲的访问请求按照经确定的顺序进行处理。访问控制电路然后被配置为当执行所述调度操作时参照查询结构。
另外,或替代地,访问控制电路可以被配置为在由存储器设备处理访问请求期间执行功率管理操作来控制访问区域的功率状态,并且由访问控制电路发布的控制命令包括功率控制命令,这些功率控制命令被发布至多个访问区域来控制每个访问区域的功率状态。访问控制电路然后被配置为当执行所述功率管理操作时参照查询结构。
未决访问请求可以是读访问请求或是写访问请求。在一个实施例中,查询结构被配置为针对每个访问区域存储读访问请求的信息和写访问请求的信息。因此,在这样的实施例中,针对读访问请求和写访问请求二者来维护独立的信息。然而,在替代的实施例中,信息可以被组合,以使得相同的信息不依赖于访问请求是读访问请求还是写访问请求而可用。
未决访问请求存储设备可以采用各种形式,但在一个实施例中,其被配置为队列存储结构。
而且,存储器设备自身可以采用各种形式,但在一个实施例中,其为DRAM存储器设备。
从第二方面看,本发明提供了对存储器设备进行控制以处理由至少一个主设备发布的访问请求的方法,该存储器设备具有多个访问区域,并且该方法包括:在由所述至少一个主设备发布的访问请求被存储器设备处理之前,在未决访问请求存储设备内缓冲那些访问请求;采用访问控制电路向多个访问区域发布控制命令,以控制存储器设备对从未决访问请求存储设备中取回的访问请求进行处理;针对每个访问区域,在查询结构内维护关于在未决访问请求存储设备中所缓冲的访问请求的信息;以及当确定要被发布至多个访问区域的控制命令时,使得访问控制电路参照查询结构。
从第三方面看,本发明提供了存储器控制器,该存储器控制器包括:未决访问请求存储装置,该未决访问请求存储装置用于在由至少一个主设备发布的访问请求被存储器设备处理之前缓冲那些访问请求;访问控制装置,该访问控制装置用于向存储器设备中的多个访问区域发布控制命令,以控制存储器设备对从未决访问请求存储装置中取回的访问请求进行处理;查询结构装置,该查询结构装置用于针对每个访问区域,维护关于在未决访问请求存储装置中所缓冲的访问请求的信息;以及访问控制装置,该访问控制装置用于当确定要被发布至多个访问区域的控制命令时参照查询结构装置。
附图说明
将仅通过示例的方式,参照附图中所示出的本发明的实施例,对本发明进行进一步描述,其中:
图1是根据一个实施例,包含存储器控制器的数据处理系统的框图;
图2是根据一个实施例,更加详细地示出了存储器控制器内提供的组件的框图;
图3根据一个实施例,更加详细地示出了图2的查询结构;
图4根据一个实施例,示出了针对访问区域的层级,计数器可以如何被提供于查询结构中;
图5根据一个实施例,示意性地示出了存储器设备的布置;
图6根据一个实施例,示意性地示出了与图5的存储器设备的区块的每一组关联提供的访问电路;
图7根据一个特定的实施例,示意性地示出了查询结构的每访问区域未决访问信息的布置;以及
图8根据一个实施例,示意性地示出了用于针对组内的一系列行维护减少的计数器集的布隆过滤器机制的操作。
具体实施方式
图1是根据一个实施例,包含存储器控制器的数据处理系统的框图。如图所示,各种主设备10、15、20经由互连结构25与存储器控制器30相连接,存储器控制器30被用来访问存储器设备35。互连结构25可以采用各种形式,但都用于使得由主设备10、15、20发布的各个访问请求能够被路由至存储器控制器30,存储器控制器然后控制存储器设备35来处理每个访问请求。对于写访问请求,这将涉及数据被写于存储器设备内的特定存储器地址处,存储器地址被指定为由主设备发布的访问请求的一部分。对于读访问请求,对访问请求的处理使得从存储器设备内的指定存储器地址读数据,被读出的数据然后经由互连结构25被返回至适当的主设备。
主设备10、15、20可以采用各种形式,因而例如,一些主设备可以是中央处理单元(CPU),一个或多个主设备可以是图形处理单元(GPU)并且其他主设备可以采用其他形式,例如,网络设备。最低限度,将存在单个主设备,但应当理解,系统内的主设备的数目增加正变得越来越普遍。在图1中,假设存在“P”个主设备。
存储器设备35包含多个访问区域40、45、50。存储器控制器内的访问控制电路能够向存储器设备35内的各个访问区域发布控制命令,以控制存储器设备对从主设备10、15、20接收的访问请求进行处理。控制命令可以采用各种形式。例如,它们可以包括功率控制命令,以便将特定的访问区域置于全功率状态或一种或多种低功率状态。而且,那些控制命令可以包括调度控制命令,这些调度控制命令指示特定的访问区域执行某些写操作和读操作,以对从主设备接收的访问请求进行处理。
存储器控制器30将包括存储结构,尤其是队列,以用于存储由主设备发布的未决访问请求,而随后当那些未决访问请求被调度并且被发布至存储器设备以供处理时,它们被从队列移除。在现代的数据处理系统内,随着主设备的数目增加、以及带宽增加,未决访问请求的数目可能变得很大,因此,存储器控制器内的(一个或多个)未决访问请求队列可能相对较大。
对于存储器控制器而言,当决定要发布给存储器设备的适当控制命令(例如,先前提及的功率控制命令和调度控制命令)时,了解未决访问请求是十分有用的。然而,随着未决访问请求队列的大小变得更大,由于分析未决访问请求队列的内容所花费的时间和/或作出这些所消耗的能量,这将产生显著的性能和/或能量消耗问题。
图2根据一个实施例示出了存储器控制器,其中,单独的查询结构被用来维护与未决访问请求队列内的未决访问请求有关的某些信息,从而提供足以允许访问控制器关于未决访问请求确定要发布的适当的控制命令的信息,而无需对未决访问请求队列进行分析。
如图2所示,存储器控制器具有地址解码电路105,该地址解码电路105被用来针对每个访问请求执行地址解码操作。具体地,基于指定的地址,该地址可以被映射到存储器设备内的特定物理地址。在一个实施例中,存储器设备被布置为多个区块(rank),每一区块具有多个组,并且每一组具有多个行,并且地址解码操作可以被用来标识被访问的特定区块、组以及行,甚至行内的特定地址。当处理接收到的访问请求时,这因而提供了关于哪个访问区域或者哪些访问区域将被访问的信息。在访问区域互相排斥的扁平结构中,应当理解,只有一个访问区域将被特定访问请求进行访问。然而,在一个实施例中,访问区域被布置于多个层次等级处,并且因此在这样的实施例中,每个访问请求可以使得多个访问区域被访问。例如,考虑先前的区块、组和行的配置,在一个实施例中,每一区块形成一个分层等级处的访问区域,每一组形成较低分层等级处的访问区域,并且每一行形成更低分层等级处的访问区域。因此,在每个层次等级之内,当处理访问请求时,访问区域中的一个将被访问,并且具体地,一个区块、在该区块内的一组、以及在该组内的一行将被访问。
地址解码访问请求被转发至未决访问请求队列110,以用于缓冲同时等待由访问控制器125将该访问请求发布至存储器设备。每个未决访问请求将被标记为读访问请求或写访问请求,并且如图2所示,在一个实施例中,不同的队列115、120被提供以用于读访问请求和写访问请求。在图2所示的实施例中,只示出了为地址提供的队列。应当理解,对于写访问请求,还将有未决写数据队列,以用于对要被写入存储器设备中的写数据进行存储。类似地,对于读访问请求,将存在相关联的读数据队列,在从存储器设备中获取的读数据被提供回至相关的主设备之前,可以被缓冲到该读数据队列中。
如图2所示,提供了查询结构140,该查询结构140接收由地址解码电路105产生的解码地址信息中的某些信息。具体地,其接收足以确定访问区域中的哪个访问区域被特定请求访问的信息。因此,考虑不同的访问区域与每个区块、组和行相关联的先前示例,其将针对每个访问请求接收区块、组和行信息。更新/查询电路145然后将对每个访问区域的查询结构内所维护的某些预定信息进行更新。具体地,每访问区域未决访问信息被维护,在一个实施例中,针对每个访问区域,每访问区域未决访问信息采用计数器的形式,该计数器对具有处于该访问区域的存储器地址范围之内的指定存储器地址的未决访问请求的数目进行标识。尽管每访问区域未决访问信息可以针对读和写二者进行合并,但在一个实施例中,如图2所示,不同的每访问区域未决访问信息150、155分别针对读访问请求和写访问请求而被维护。
当每个读访问请求被添加到未决访问请求读队列115中时,更新电路将对针对由该读访问请求进行访问的每个访问区域所维护的计数器信息(或其他预定信息)进行更新。对于计数器,这传统上将涉及递增每个受影响的访问区域的计数器。类似地,当访问控制器125从读队列115移除访问请求时,由于访问请求被传播至存储器设备以供服务,则更新/查询电路145将再次调整针对每个受影响的访问区域所维护的计数器信息(或其他预定信息)。传统上,这将涉及递减每个受影响的访问区域的计数器。针对从未决访问请求写队列120移除或添加的每个写访问请求,关于每访问区域未决访问信息块155中所保存的信息,更新/查询电路145采用类似的过程。
访问控制器125负责向存储器设备发送各种控制命令,以在处理各种未决访问请求的同时控制存储器设备的操作。这些控制命令可以采用各种形式。然而,在一个实施例中,访问控制器125将包含调度器130,该调度器130用于调度各种未决访问请求被执行的顺序,并且用于向存储器设备发布相应的调度控制命令。此外,其可以包括功率控制器135,以用于通过发布适当的功率控制命令来控制存储器设备内的各个访问区域中的每个访问区域的功率状态。
当执行其各种操作时,调度器130和功率控制器135可以基于对要被执行的未决访问请求的了解来对它们执行的控制进行优化。然而,如先前所讨论的,由于在队列110中可能存在相对较大数目的访问请求,因此当试图从队列110中提取该信息时,产生了相对较大尺寸的队列、显著的能量消耗和/或性能问题。相反地,根据一个实施例,访问控制器125可以经由查询结构140的更新/查询电路145来发布查询,以获得每个访问区域的未决访问信息,并且从而相应地确定它们发布的控制命令。例如,如果功率控制器可以确定某些访问区域不被任何未决访问请求作为目标,则其可以将那些访问区域置于低功率状态,以节省系统内的功率消耗。类似地,如更早所讨论的,通常具有如下情形,即,存储器设备具有非均匀的访问时序特点,并且因此在如下方面可能存在益处:在其他访问区域中继续执行访问请求之前在特定的访问区域内执行多个访问请求。从查询结构140中可获得的每访问区域未决访问信息因此使得调度器130能够针对被那些访问请求所访问的访问区域做出关于如何调度未决访问请求的适当的决策。
图3根据一个实施例,更加详细地示出了图2的查询结构140的更新/查询电路145。出于解释的目的,只示出了单个每访问区域未决访问信息块200,其可以针对读访问请求或写访问请求、或者甚至针对读访问请求和写访问请求二者的组合而被维护。
在该示例中,每访问区域未决访问信息块200包括针对每个访问区域的独立的计数器202、204、206、208。在该示例中,假设存在“X”个访问区域,每个访问区域具有在块200中进行维护的独立的计数器。在更新/查询电路145内,提供了递增电路210,该递增电路210响应于接收每个访问请求被添加到未决访问请求队列110中的指示,以递增适当的一个或多个计数器。具体地,递增电路将针对每个访问请求接收哪个访问区域或哪些访问区域正由该访问请求进行访问的指示,并且将相应地递增适当的计数器。
类似地,提供了递减电路220,该递减电路220响应于每个访问请求从调度器发布从而从队列110移除的指示,以递减适当的计数器。同样,指示哪个访问区域或哪些访问区域将被该访问请求访问的访问区域信息被提供给递减电路,因此使得适当的计数器被递减。
此外,提供了查询电路230,该查询电路230响应于从提供访问区域信息的访问控制器125接收的查询,以查找该访问区域的当前的计数器值,然后将该值返回到访问控制器125。这可以被调度器130和/或功率控制器135用来影响其调度和功率控制操作,从而影响发布给存储器设备的控制命令。
在一个实施例中,访问区域的扁平结构可以被维护,其中,每个访问区域与任何其他访问区域中未找到的地址范围有关。然而,在替代的实施例中,访问区域的层级可以被维护,如图4中所示意性示出的。具体地,图4示出了当访问区域被布置于多个层次等级中时,每访问区域未决访问信息可以如何被维护。在最高的层次等级处,提供第一存储块240以为在该最高层次等级处的每个访问区域维护独立的计数器245。考虑被布置在区块、组和行中的存储设备的先前示例,每一区块可以被认为是在该最高层次等级处的访问区域,针对每一区块维护计数器值。
在该层级中的第二等级处,可以提供另一存储块250以为在该层级的该等级处的每个访问区域维护独立的计数器255。因此,考虑区块、组和行的先前示例,每一组可以形成在层级的该等级处的访问区域,并且被提供有其自己独立的计数器。
在一个特定的实施例中,在该层级的一个等级处所维护的计数器值将是针对该层级的较低等级内的相应访问区域所维护的计数器值的聚合。因此,在该示例中,计数器245的值将是存储块250内所维护的所有计数器值的聚合。存储块240内的每个独立的计数器将在该层级中的下一最低等级处具有独立的相应计数器集,并且将同样表示那些计数器值的聚合。
如图4所示,可以针对层级的第三等级和后续等级来重复该过程。具体地,层级的第三等级被示出为具有用于对与该层级的第三等级处的访问区域相关联的计数器进行维护的存储块260。尽管针对每个访问区域同样可以提供独立的计数器,但不必针对每个访问区域存储独立的计数器,并且在一些实施例中,在该层级中的一个或多个较低的等级处,存储在多个访问区域之间共享的计数器可能更加有益。这是由于如下事实:随着进行通过各个等级的访问区域,与这些访问区域相关联的地址范围减小,因而通常,独立的访问区域的数目增加。例如,考虑区块、组和行的先前示例,尽管存储器设备内的区块的数目将相对较小,并且每一区块内的组的数目将相对较小,但每一组内的行的数目实际上很大,并且为每一组的每一行维护独立的计数器将显著增大查询结构140的大小。
为了避免这种情况,在一个实施例中,概率更新机制被用来基于要对访问区域执行的访问来对在层级中的特定等级处所维护的各个计数器进行更新,但其中,所维护的计数器的数目小于该等级处的独立的访问区域的数目。存在许多机制可以使用,但在一个实施例中,使用布隆过滤器机制,其中,输入值(例如,行标识符)服从哈希(hash)函数,以向存储块260中所维护的一系列计数器生成索引。由于哈希函数的性质,多个不同的行将索引到相同的计数器值,并因此将共享该计数器值。尽管这降低了基于每访问区域的信息的准确度,但仍提供了可以在每访问区域的基础上被解释的信息,同时显著降低了查询结构的尺寸要求的。
存储器设备可以采用各种形式,但在一个实施例中采用如图5所示的形式。在该实施例中,存储器设备300采用DRAM存储器设备的形式,该DRAM存储器设备包括多个区块305、310、315。在该示例中,存在“L”个区块。如图所示,每一区块可以被提供有独立的使能信号,并且相应地,每一区块的功率状态可以由功率控制器135来独立改变。
每一区块通常将包括多个物理芯片(在如图5所示的示例中,假设每区块存在“N”个芯片),并且这些芯片将被布置以提供每区块多个组320、325、330。在所示出的实施例中,每区块存在“K”个组。
每一组实际上将包括多个行,并且实际上每一组内可能存在几千行。
如先前所提及的,DRAM存储器具有非均匀的访问时序要求,这意味着,一旦行被激活以用于访问,则在该行被去激活并且另一行被激活以用于访问之前,对该行执行进一步的未决访问请求是有益的。图6是根据一个实施例,示出了与图5的DRAM存储器300的区块305内的每一组关联提供的访问电路的图解。设想每一区块将与图6所示的区块类似地构建。
如图6所示,对于每一组320、325、330,存在相关联的访问电路350、360、370,访问电路350、360、370响应于来自存储器控制器的调度器130的调度控制命令。每个访问电路350、360、370分别包括行缓冲器355、365、375,以用于存储来自相关联的组的至少一行的数据。为了访问行中的数据值,该行首先必须通过从存储器控制器发布的RAS命令被移入相关联的行缓冲器中,这一RSA命令在本文还被称为激活命令。一旦该行被存储于行缓冲器中,则该行内的独立的存储器地址可以通过从存储器控制器发布的CAS命令而被访问。最后,当对行的访问完成时,或者当新的行需要被访问时,预先充电命令被从存储器控制器发布,以使得在行缓冲器内的该行当前的内容被存储回DRAM内相关联的组中。
因此应当理解,当激活行以使得其内容后续可以被访问时会造成很大的访问时间损失,甚至功率消耗损失,因此,一旦行被激活并且因此其内容已被存储于行缓冲器中,则在该行的内容后续被返回到该组之前执行对该行的存储器地址的多个访问是有益的。通过使用由查询结构140维护的每访问区域信息,调度器130可以试图对未决访问请求进行排序,以针对特定行执行所有未决访问请求,同时该行仍被存储于相关联的访问电路的行缓冲器中,以避免行必须被多次从组移入访问电路中并且被移回该组。
图7是图4的一个版本,具体示出了在如下场景中,查询结构内的层次等级和相关联的存储块400、410、420可以如何被维护,在该场景中,存储器设备的每一区块形成最高层次等级处的访问区域,每一组形成下一层次等级处的访问区域,并且行然后被看作是更低层次等级处的访问区域。在块400内,针对每一区块将存在独立的计数器405,同时在块410内,针对每一区块内的每一组将存在独立的计数器415。
然而,在存储块420内,针对每一行将不存在独立的计数器,而在该实施例中,布隆过滤器机制被用来捕捉每组的行信息,以及可选地,除了行信息,还有额外的访问属性,这将参照图8进行进一步讨论。
如图8所示,行信息被输入到哈希函数455中,该哈希函数针对特定区块Q和特定组R,与查询结构内的存储块450关联提供。图8所示的结构将针对每一区块内的每一组进行复制,并且被用来捕捉与该组内的行有关的计数器信息。输入到哈希函数的行信息可能由于被添加的未决访问请求队列的访问请求指定区块Q和组R内的特定行,因而需要存储块450内的计数器460递增一,或者可能由于这样的访问请求由于其针对存储器设备内的性能被调度而被从未决访问请求队列中移除,在该情形中,相关的计数器将需要被递减。而且,行信息可以作为来自访问控制器试图获得与该行信息相关的当前的计数器值的查询的一部分来输入。
假设行信息包括D个比特,哈希函数将用来将比特数目减少到E个比特,其中,E小于D。由哈希函数输出的E个比特将被用来索引到块450内的特定计数器460中的一个中。对于来自访问控制器的查询,计数器值将仅被读取并且被返回到访问控制器。对于被添加到未决访问请求队列110的未决访问请求,将递增经索引的计数器值,而对于从未决访问请求队列110移除的未决访问请求,将递减经索引的计数器。
输入到哈希函数的行信息在一个实施例中可以只包括行地址数据。从哈希函数的操作中将明显看出,每个计数器将与多个行相关联。
然而,不一定将输入的行信息限制为仅包含行地址数据。具体地,其还可以包括关于访问请求的附加的属性数据。例如,其可以包括某些QoS信息,这些QoS信息标识服务质量要求,例如,访问请求是实时访问请求、还是具有硬期限的请求、还是不具有特定时序约束的请求,等等。如果该信息被包括在输入到哈希函数的行信息之内,则应当理解,针对特定行的访问请求将基于相关联的服务质量信息而索引到不同的计数器。这样的信息对于调度器130可能是有用的,因为然后调度器例如可以查询是否存在与特定的行相关联的、应该被认为是实时访问请求的任何访问请求。基于从查询结构返回的信息,其然后可以做出适当的调度决策。如另一替代,或者附加地,输入到哈希函数的行信息还可以包括用于请求主设备做出访问请求的标识符。这将使得访问控制器能够针对特定主设备在特定行内是否存在未决访问请求进行查询,或者更一般地,使得访问控制器能够发布一系列请求,以获取针对特定主设备的访问请求的数目的指示。除了一般的调度决策之外,这样的信息可以尤其有助于公平和QoS问题。
从上述实施例可以看出这样的实施例提供了当控制存储器设备来执行由一系列未决访问请求所要求的访问时用于通过存储器控制器对访问控制器的活动进行引导的特别有效率和有效果的机制。紧凑型查询结构140可以被维护以基于每访问区域来提供未决访问信息,以引导调度操作和功率控制操作以及由访问控制器执行的其他可能的操作,从而使得能够更加有效的利用存储器设备。此外,所描述的实施例的机制使得能够在无需试图访问和分析未决访问请求队列110内的各个未决访问请求的开销的情况下实现这一级别的控制,从而使得能够在存储器控制器的操作内实现显著的能量消耗节省和性能改善。
尽管本文已经对特定的实施例进行了描述,但应当理解,本发明不限于此,并且可以在本发明的范围内对其作出许多修改和添加。例如,在不背离本发明的范围的情况下,可以将从属权利要求的特征与所附独立权利要求的特征进行各种组合。

Claims (23)

1.一种存储器控制器,包括:
未决访问请求存储设备,该未决访问请求存储设备被配置为在由至少一个主设备发布的访问请求被存储器设备处理之前对所述访问请求进行缓冲;
访问控制电路,该访问控制电路被配置为向所述存储器设备中的多个访问区域发布控制命令,以控制所述存储器设备对从所述未决访问请求存储设备中取回的访问请求进行处理;
查询结构,该查询结构被配置为针对每个访问区域,维护关于在所述未决访问请求存储设备中所缓冲的访问请求的信息;并且
所述访问控制电路被配置为当确定要被发布给所述多个访问区域的控制命令时参照所述查询结构。
2.如权利要求1所述的存储器控制器,其中,所述查询结构包括信息存储设备和维护电路,该信息存储设备被配置为存储每个访问区域的信息,该维护电路被配置为:当每个访问请求被添加到所述未决访问请求存储设备中或者被从所述未决访问请求存储设备移除时,修改与一个或多个访问区域相关联的信息。
3.如权利要求1所述的存储器控制器,其中:
每个访问区域包括存储器地址范围;并且
对于每个访问区域,在所述查询结构中所维护的信息指示所缓冲的访问请求是否包括指定该访问区域的存储器地址范围内的存储器地址的任何访问请求。
4.如权利要求3所述的存储器控制器,其中,对于每个访问区域,所述信息包括计数器值,该计数器值指示所缓冲的访问请求的数目,这些访问请求指定该访问区域的存储器地址范围内的存储器地址。
5.如权利要求4所述的存储器控制器,其中,所述查询结构包括:
计数器值存储设备,该计数器值存储设备被配置为存储每个访问区域的计数器值;以及
更新电路,该更新电路被配置为:当访问请求被添加到所述未决访问请求存储设备中时,以第一方向调整与这样的每个访问区域相关联的计数器值,其中,该每个访问区域的存储器地址范围包括由所添加的访问请求指定的存储器地址;
所述更新电路还被配置为:当访问请求被从所述未决访问请求存储设备中移除时,以与所述第一方向相反的第二方向调整与这样的每个访问区域相关联的计数器值,其中,该每个访问区域的存储器地址范围包括由所移除的访问请求指定的存储器地址。
6.如权利要求1所述的存储器控制器,其中,所述多个访问区域包括多个访问区域群组,并且对于至少一个访问区域群组,所述查询结构被配置为提供在该访问区域群组中的多个访问区域之间共享的信息。
7.如权利要求6所述的存储器控制器,其中,对于所述至少一个访问区域群组,所述查询结构针对在该群组中的多个访问区域之间共享的信息实现概率更新机制。
8.如权利要求7所述的存储器控制器,其中,所述概率更新机制是布隆过滤器机制。
9.如权利要求6所述的存储器控制器,其中,所述多个访问区域群组被布置为多个层次等级,以使得对于一个层次等级处的每个访问区域而言,在较低层次等级处存在多个相关联的访问区域。
10.如权利要求9所述的存储器控制器,其中,对于所述一个层次等级处的每个访问区域而言,在所述查询结构中针对该访问区域所维护的信息是在所述查询结构中针对所述较低层次等级处的相关联的访问区域所维护的信息的聚合。
11.如权利要求9所述的存储器控制器,其中:
所述存储器设备包括多个组,并且每一组包括多个行;
每一组形成一个层次等级处的访问区域群组内的访问区域,并且每一行形成较低层次等级处的另一访问区域群组内的访问区域。
12.如权利要求11所述的存储器控制器,其中:
所述存储器设备还包括多个区块,每个区块包括来自所述多个组中的若干组;并且
每个区块形成比包含每一组的访问区域的所述一个层次等级更高的层次等级处的访问区域群组内的访问区域。
13.如权利要求11所述的存储器控制器,其中,对于包含从每一行所形成的访问区域的群组,所述查询结构被配置为提供在该群组内的多个行之间共享的信息。
14.如权利要求13所述的存储器控制器,其中,与每一组中的行相关联,所述查询结构维护多个计数器值,计数器值的数目小于每一组中的行的数目,并且所述查询结构采用哈希函数来根据输入值标识所述多个计数器值内相应的计数器值,所述输入值提供行标识符。
15.如权利要求14所述的存储器控制器,其中,所述输入值还提供与访问请求相关联的属性。
16.如权利要求15所述的存储器控制器,其中,所述属性包括服务质量指示和主设备标识符中的一个或多个。
17.如权利要求1所述的存储器控制器,其中:
所述访问控制电路被配置为执行调度操作以确定所缓冲的访问请求将由所述存储器设备处理的顺序,并且由所述访问控制电路发布的所述控制命令包括调度控制命令,这些调度控制命令被发布至所述多个访问区域以使得所缓冲的访问请求按照经确定的顺序进行处理;并且
所述访问控制电路被配置为当执行所述调度操作时参照所述查询结构。
18.如权利要求1所述的存储器控制器,其中:
所述访问控制电路被配置为在由所述存储器设备处理所述访问请求期间,执行功率管理操作来控制所述访问区域的功率状态,并且由所述访问控制电路发布的所述控制命令包括功率控制命令,这些功率控制命令被发布至所述多个访问区域以控制每个访问区域的功率状态;并且
所述访问控制电路被配置为当执行所述功率管理操作时参照所述查询结构。
19.如权利要求1所述的存储器控制器,其中,在所述未决访问请求存储设备中缓冲的访问请求包括读访问请求和写访问请求,并且所述查询结构被配置为针对每个访问区域存储所述读访问请求的信息和所述写访问请求的信息。
20.如权利要求1所述的存储器控制器,其中,所述未决访问请求存储设备被配置为队列存储结构。
21.如权利要求1所述的存储器控制器,其中,所述存储器设备是DRAM存储器设备。
22.一种控制存储器设备处理由至少一个主设备发布的访问请求的方法,所述存储器设备具有多个访问区域,并且所述方法包括:
在由所述至少一个主设备发布的访问请求被所述存储器设备处理之前,在未决访问请求存储设备内缓冲所述访问请求;
采用访问控制电路向所述多个访问区域发布控制命令,以控制所述存储器设备对从所述未决访问请求存储设备中取回的访问请求进行处理;
针对每个访问区域,在查询结构内维护关于在所述未决访问请求存储设备中所缓冲的访问请求的信息;以及
当确定要被发布至所述多个访问区域的控制命令时,使得所述访问控制电路参照所述查询结构。
23.一种存储器控制器,包括:
未决访问请求存储装置,该未决访问请求存储装置用于在由至少一个主设备发布的访问请求被存储器设备处理之前缓冲所述访问请求;
访问控制装置,该访问控制装置用于向所述存储器设备中的多个访问区域发布控制命令,以控制所述存储器设备对从所述未决访问请求存储装置中取回的访问请求进行处理;
查询结构装置,该查询结构装置用于针对每个访问区域,维护关于在所述未决访问请求存储装置中所缓冲的访问请求的信息;并且
所述访问控制装置用于当确定要被发布至所述多个访问区域的控制命令时参照所述查询结构装置。
CN201510441697.0A 2014-08-01 2015-07-24 用于控制存储器设备处理访问请求的存储器控制器和方法 Active CN105320608B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/449,689 US11243898B2 (en) 2014-08-01 2014-08-01 Memory controller and method for controlling a memory device to process access requests issued by at least one master device
US14/449,689 2014-08-01

Publications (2)

Publication Number Publication Date
CN105320608A true CN105320608A (zh) 2016-02-10
CN105320608B CN105320608B (zh) 2021-01-29

Family

ID=53784896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510441697.0A Active CN105320608B (zh) 2014-08-01 2015-07-24 用于控制存储器设备处理访问请求的存储器控制器和方法

Country Status (3)

Country Link
US (1) US11243898B2 (zh)
CN (1) CN105320608B (zh)
GB (1) GB2529045B8 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107872511A (zh) * 2016-09-26 2018-04-03 福特全球技术公司 车载的辅助存储装置
CN108628756A (zh) * 2017-03-17 2018-10-09 爱思开海力士有限公司 存储器系统及其操作方法
CN110175140A (zh) * 2018-02-19 2019-08-27 爱思开海力士有限公司 融合式存储器件及其操作方法
CN111213129A (zh) * 2017-10-18 2020-05-29 谷歌有限责任公司 用于第三方流量监控的不引人注意的支持
US11544168B2 (en) 2017-10-30 2023-01-03 SK Hynix Inc. Memory system

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678827B2 (en) * 2014-10-07 2017-06-13 SK Hynix Inc. Access counts for performing data inspection operations in data storage device
US20170068480A1 (en) * 2015-09-09 2017-03-09 Mediatek Inc. Power Saving Methodology for Storage Device Equipped with Task Queues
JP2018163434A (ja) * 2017-03-24 2018-10-18 東芝メモリ株式会社 メモリシステム
US10248574B2 (en) * 2017-05-30 2019-04-02 Intel Corporation Input/output translation lookaside buffer prefetching
US10572168B2 (en) 2017-11-16 2020-02-25 International Business Machines Corporation DRAM bank activation management
EP3926452A1 (en) * 2020-06-19 2021-12-22 NXP USA, Inc. Norflash sharing
US11636893B2 (en) * 2020-10-19 2023-04-25 Micron Technology, Inc. Memory device with multiple row buffers
US11947453B2 (en) 2020-10-19 2024-04-02 Micron Technology, Inc. Memory device with on-die cache
US11657049B1 (en) * 2022-02-17 2023-05-23 InContact Inc. System and method for reducing wait-time in a multichannel contact center

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1920797A (zh) * 2005-08-26 2007-02-28 株式会社东芝 存储器访问控制装置
US20080126641A1 (en) * 2006-08-31 2008-05-29 Irish John D Methods and Apparatus for Combining Commands Prior to Issuing the Commands on a Bus
CN101356487A (zh) * 2006-01-06 2009-01-28 先进微装置公司 动态自行衰变装置架构
US20090249007A1 (en) * 2008-04-01 2009-10-01 Sun Microsystems, Inc. Method and system for accessing data using an asymmetric cache device
CN102006297A (zh) * 2010-11-23 2011-04-06 中国科学院软件研究所 一种基于两级策略决策的访问控制方法及其系统
US20130141450A1 (en) * 2007-06-08 2013-06-06 Apple Inc. Facilitating Caching in an Image-Processing System
US20130151788A1 (en) * 2011-12-12 2013-06-13 International Business Machines Corporation Dynamic prioritization of cache access
US20140101381A1 (en) * 2012-10-04 2014-04-10 Applied Micro Circuits Corporation Managing banks in a memory system
CN103885892A (zh) * 2012-12-20 2014-06-25 株式会社东芝 存储器控制器

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
US4455602A (en) * 1981-05-22 1984-06-19 Data General Corporation Digital data processing system having an I/O means using unique address providing and access priority control techniques
US5325487A (en) * 1990-08-14 1994-06-28 Integrated Device Technology, Inc. Shadow pipeline architecture in FIFO buffer
US5870625A (en) 1995-12-11 1999-02-09 Industrial Technology Research Institute Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
TW561349B (en) 2002-03-01 2003-11-11 Via Tech Inc Scheduling method and device of read/write request in control chip
US7634618B2 (en) * 2006-01-03 2009-12-15 Emc Corporation Methods, systems, and computer program products for optimized copying of logical units (LUNs) in a redundant array of inexpensive disks (RAID) environment using buffers that are smaller than LUN delta map chunks
EP1972163B1 (en) 2006-01-09 2016-12-14 Telefonaktiebolaget LM Ericsson (publ) A node and a method relating to handover within mobile communication
US7836230B1 (en) * 2007-02-14 2010-11-16 Marvell International Ltd. Managing multiple host requests in queued commands that corresponds to receipt of stored acknowledgement commands from the host
US8587598B2 (en) * 2009-10-29 2013-11-19 Mediatek Inc. Memory address mapping method for controlling storage of images in memory device and memory address mapping circuit thereof
US8560796B2 (en) * 2010-03-29 2013-10-15 Freescale Semiconductor, Inc. Scheduling memory access requests using predicted memory timing and state information
US8775754B2 (en) * 2011-06-24 2014-07-08 Arm Limited Memory controller and method of selecting a transaction using a plurality of ordered lists
US8472983B1 (en) * 2011-12-07 2013-06-25 Cisco Technology, Inc. Selective location-aware paging
US9594685B2 (en) * 2012-07-06 2017-03-14 Seagate Technology Llc Criteria for selection of data for a secondary cache
US9218285B2 (en) * 2012-11-26 2015-12-22 Arm Limited Variable mapping of memory accesses to regions within a memory
US9189433B2 (en) 2012-12-18 2015-11-17 International Business Machines Corporation Tracking a relative arrival order of events being stored in multiple queues using a counter
US9201777B2 (en) * 2012-12-23 2015-12-01 Advanced Micro Devices, Inc. Quality of service support using stacked memory device with logic die
US9032152B2 (en) * 2013-03-22 2015-05-12 Applied Micro Circuits Corporation Cache miss detection filter
US9411774B2 (en) * 2013-04-23 2016-08-09 Arm Limited Memory access control
JP2015095226A (ja) * 2013-11-14 2015-05-18 富士通株式会社 情報処理装置、データアクセス方法およびプログラム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1920797A (zh) * 2005-08-26 2007-02-28 株式会社东芝 存储器访问控制装置
CN101356487A (zh) * 2006-01-06 2009-01-28 先进微装置公司 动态自行衰变装置架构
US20080126641A1 (en) * 2006-08-31 2008-05-29 Irish John D Methods and Apparatus for Combining Commands Prior to Issuing the Commands on a Bus
US20130141450A1 (en) * 2007-06-08 2013-06-06 Apple Inc. Facilitating Caching in an Image-Processing System
US20090249007A1 (en) * 2008-04-01 2009-10-01 Sun Microsystems, Inc. Method and system for accessing data using an asymmetric cache device
CN102006297A (zh) * 2010-11-23 2011-04-06 中国科学院软件研究所 一种基于两级策略决策的访问控制方法及其系统
CN102006297B (zh) * 2010-11-23 2013-04-10 中国科学院软件研究所 一种基于两级策略决策的访问控制方法及其系统
US20130151788A1 (en) * 2011-12-12 2013-06-13 International Business Machines Corporation Dynamic prioritization of cache access
US20140101381A1 (en) * 2012-10-04 2014-04-10 Applied Micro Circuits Corporation Managing banks in a memory system
CN103885892A (zh) * 2012-12-20 2014-06-25 株式会社东芝 存储器控制器

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107872511A (zh) * 2016-09-26 2018-04-03 福特全球技术公司 车载的辅助存储装置
CN107872511B (zh) * 2016-09-26 2022-04-22 福特全球技术公司 车载的辅助存储装置
CN108628756A (zh) * 2017-03-17 2018-10-09 爱思开海力士有限公司 存储器系统及其操作方法
CN111213129A (zh) * 2017-10-18 2020-05-29 谷歌有限责任公司 用于第三方流量监控的不引人注意的支持
US11544168B2 (en) 2017-10-30 2023-01-03 SK Hynix Inc. Memory system
CN110175140A (zh) * 2018-02-19 2019-08-27 爱思开海力士有限公司 融合式存储器件及其操作方法

Also Published As

Publication number Publication date
US20160034406A1 (en) 2016-02-04
GB201510661D0 (en) 2015-07-29
GB2529045A (en) 2016-02-10
GB2529045B8 (en) 2017-01-18
US11243898B2 (en) 2022-02-08
GB2529045B (en) 2016-12-28
CN105320608B (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
CN105320608A (zh) 用于控制存储器设备处理访问请求的存储器控制器和方法
US8984085B2 (en) Apparatus and method for controlling distributed memory cluster
CN108009008A (zh) 数据处理方法和系统、电子设备
KR102115129B1 (ko) 메모리 제어 데이터 이동 및 타이밍
CN108369562B (zh) 具有增强型访问调度器的智能编码存储器架构
US9032162B1 (en) Systems and methods for providing memory controllers with memory access request merging capabilities
US10152434B2 (en) Efficient arbitration for memory accesses
CN101470667A (zh) Linux系统平台上指定地址范围分配物理内存的方法
CN114185818B (zh) 基于扩展页表的gpu访存自适应优化方法及装置
CN107818114A (zh) 一种数据处理方法、装置及数据库
US11429636B2 (en) Smart elastic scaling based on application scenarios
CN105912270B (zh) 一种面向pm的访存请求解析装置与方法
CN108139867B (zh) 用于实现对数据元素列表的高读取率的系统及方法
US8108661B2 (en) Data processing apparatus and method of controlling the data processing apparatus
US20160342541A1 (en) Information processing apparatus, memory controller, and memory control method
US10339052B2 (en) Massive access request for out-of-core textures by a parallel processor with limited memory
JP6194875B2 (ja) キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム
JP2017138892A (ja) 情報処理装置、処理装置、及び、データ検索方法
JP2008225686A (ja) 分散型データ処理プラットフォームにおけるデータ配置管理装置と方法、システム及びプログラム
US6643718B1 (en) Method and apparatus for controlling order dependency of items in a multiple FIFO queue structure
CN104094242A (zh) 多排高速缓冲存储器
US20090063589A1 (en) Apparatus and method to decouple large object data processing from main-line data processing in a shared-nothing architecture
WO2015004571A1 (en) Method and system for implementing a bit array in a cache line
US9684602B2 (en) Memory access control device, cache memory and semiconductor device
CN112068948A (zh) 数据散列方法、可读存储介质和电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant