WO2014190700A1 - 一种内存访问的方法、缓冲调度器和内存模块 - Google Patents

一种内存访问的方法、缓冲调度器和内存模块 Download PDF

Info

Publication number
WO2014190700A1
WO2014190700A1 PCT/CN2013/088252 CN2013088252W WO2014190700A1 WO 2014190700 A1 WO2014190700 A1 WO 2014190700A1 CN 2013088252 W CN2013088252 W CN 2013088252W WO 2014190700 A1 WO2014190700 A1 WO 2014190700A1
Authority
WO
WIPO (PCT)
Prior art keywords
access data
memory access
data
memory
mark
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.)
Ceased
Application number
PCT/CN2013/088252
Other languages
English (en)
French (fr)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP13885880.8A priority Critical patent/EP3007067B1/en
Publication of WO2014190700A1 publication Critical patent/WO2014190700A1/zh
Priority to US14/953,320 priority patent/US9785551B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/253Centralized memory
    • G06F2212/2532Centralized memory comprising a plurality of modules

Definitions

  • FIG. 4 is a schematic diagram of interaction of a memory access method according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of a buffer scheduler according to an embodiment of the present invention
  • 6 is a schematic structural diagram of a memory module according to an embodiment of the present invention
  • an application scenario diagram of a memory access method includes a central processing unit, a memory controller, a buffer scheduler, and a memory module.
  • the memory controller receives an operation request message sent by the central processing unit, and the memory controller processes the operation request message into an operation request message having a fixed format, and sends the processed operation request message through a synchronous memory bus protocol or an asynchronous interface.
  • the processed operation request message includes the tag information of the memory access data, the operation information, and the storage address of the memory data.
  • the central processor sends an operation request message for fetching data to the memory controller
  • the memory controller processes the operation request message of the fetched data into an operation request message having a fixed format of the fetch data
  • the memory controller The operation request message with the fixed format of the fetch data is sent to the buffer scheduler.
  • the buffer scheduler may query whether the storage address of the memory access data exists in the memory tag location mapping table, and further determine whether the memory address of the tag of the memory access data is stored in the memory tag location mapping table.
  • the buffer scheduler sends a second message to the memory module, where the second message carries a storage address of the memory access data and operation information of the operation of the memory access data.
  • An embodiment of the present invention provides a buffer scheduler, where the receiving unit receives an operation request message for fetching data, where the operation request message includes tag information of the fetch data, The operation information and the storage address information of the fetched data, the tag information of the fetch data includes a tag type, and the tag type is used to indicate that the tag of the fetch data and/or the fetch data is operated;
  • the operation unit according to the tag information of the memory access data, and the storage address of the memory data and the operation information of the memory data, the memory data stored in the memory module Mark and/or fetch data for operation.
  • the storage address of the tag of the memory access data and the storage address of the memory data are different physical addresses in the memory module.
  • the operating unit 62 is specifically configured to be used
  • the receiver 8 1 is configured to receive, when the central processor sends an operation request message of the memory access data to the buffer scheduler, the first message and/or the second message sent by the buffer scheduler.
  • the embodiment of the present invention provides a memory module, when the central processor sends an operation request message for fetching data to the buffer scheduler, the receiver receives the first sent by the buffer scheduler. a message and/or a second message, the first message carrying a storage address of a tag for fetching data and operation information of a tag operation for fetching data, the second message carrying a storage address of the fetch data and The operation information of the access data operation; the processor operates the mark of the memory access data and/or the memory data according to the first; the second, and/or the second message.

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)
  • Information Transfer Systems (AREA)

Abstract

本发明公开一种内存访问的方法、緩冲调度器和内存模块,能够在不改变内存模块或内存芯片的基础上,支持多种应用场景。该方法包括:接收访存数据的操作请求消息,其中,所述操作请求消息包括所述访存数据的标记信息、操作信息和所述访存数据的存储地址信息,所述访存数据的标记信息包括标记类型,所述标记类型用于指示所述緩冲调度器对所述访存数据和/或访存数据的标记进行操作;根据所述访存数据的标记信息、以及所述访存数据的存储地址和所述访存数据的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记和/或访存数据进行操作。本发明适用于计算机领域。

Description

一种内存访问的方法、 緩冲调度器和内存模块
技术领域 本发明涉及计算机领域, 尤其涉及一种内存访问的方法、緩冲调度器 和内存模块。 背景技术 内存系统作为计算机系统的共享资源, 能被多个应用程序同时访问。 多个应用程序要实现不同场景下的特定功能, 就需要使得内存数据的访 问受到不同的限制。 例如, 要实现设备 A仅能访问设备 A中存储的数据 的场景时, 需要实现的访问控制功能, 使得设备 A存储的内存数据能够 区分并限定访问者。
为了使得内存数据的访问受到不同的限制, 通常通过对内存系统中 的内存数据分配不同的属性来实现。 只有访存请求消息携带的属性与内 存系统中的内存数据的属性相匹配, 才能对内存数据进行处理。 数据属性的分配, 其主要思想是: 为内存数据分配额外的内存空间, 并 将该分配的内存空间作为该内存数据的标记位, 将内存数据对应的属性 存放在该标记位中。 为了对内存系统中每个内存数据增加额外固定的标 记, 该方法需要修改内存模块或是内存芯片的设计, 而现有的内存模块 或内存芯片都采用固定的规格和标准, 修改的成本较高。 同时, 在内存 模块或内存芯片设计过程中, 通常为了保证每个存储单元的存储单位一 致, 增加的标记长度是固定的。 然而利用固定位数的标记能够实现的场 景也是限定的, 具有一定的局限性。
因此, 设计一种不需要修改内存模块或内存芯片, 并支持多种应用 场景下的多种功能的带标记内存的方法很有必要。 发明内容 本发明的实施例提供一种内存访问的方法、緩冲调度器和内存模块, 能够在不改变内存模块或内存芯片的基础上, 支持多种应用场景。
为达到上述目的, 本发明的实施例采用如下技术方案:
第一方面, 提供了一种内存访问的方法, 该方法包括:
接收访存数据的操作请求消息, 其中, 所述操作请求消息包括所述 访存数据的标记信息、 操作信息和所述访存数据的存储地址信息, 所述 访存数据的标记信息包括标记类型, 所述标记类型用于指示所述緩冲调 度器对所述访存数据和 /或访存数据的标记进行操作;
根据所述访存数据的标记信息、 以及所述访存数据的存储地址和所 述访存数据的操作信息中的至少一项, 对存储在内存模块中的所述访存 数据的标记和 /或访存数据进行操作。
根据第一方面, 在第一方面的第一种可能的实现方式中, 所述根据 所述访存数据的标记信息、 以及所述访存数据的存储地址和所述访存数 据的操作信息中的至少一项, 对存储在内存模块中的所述访存数据的标 记和 /或访存数据进行操作具体包括:
根据所述标记类型, 确定是否对所述访存数据的标记进行操作; 若对所述访存数据的标记进行操作, 以所述访存数据的存储地址为 索引, 查询预存储的访存标记位置映射表, 确定所述访存数据的标记的 存储地址, 并根据所述访存数据的标记信息、 所述访存数据的标记的存 储地址、 所述访存数据的存储地址和所述访存数据的操作信息中的至少 一项, 对存储在内存模块中的所述访存数据的标记, 或所述访存数据的 标记和所述访存数据进行操作;
若不对所述访存数据的标记进行操作, 至少根据所述访存数据的存 储地址和所述访存数据的操作信息, 对存储在内存模块中的所述访存数 据进行操作。
根据第一种可能的实现方式, 在第一方面的第二种可能的实现方式 中, 所述访存数据的标记信息中具体包括标记类型、 标记内容;
所述以所述访存数据的存储地址为索引, 查询预存储的访存标记位 置映射表, 确定所述访存数据的标记的存储地址具体包括:
判断所述预存储的访存标记位置映射表中是否存储有所述访存数据 的存储地址和所述访存数据的标记的存储地址的对应关系; 若存储有所述访存数据的存储地址和所述访存数据的标记的存储地 址的对应关系, 根据所述访存数据的存储地址从所述预存储的访存标记 位置映射表中获取所述访存数据的标记的存储地址;
若没有存储, 将所述访存数据的标记信息中的标记内容确定为所述 访存数据的标记, 在所述内存模块中选取大于或等于所述标记的标记粒 度的空间作为所述访存数据的标记的存储地址, 将所述标记写入所述存 储地址中, 并将所述访存数据的存储地址和所述访存数据的标记的存储 地址的对应关系存储在所述预设的访存标记位置映射表中。
第二方面, 提供了一种内存访问的方法, 该方法包括:
当中央处理器向緩冲调度器发送访存数据的操作请求消息时, 接收 所述緩冲调度器发送的第一消息和 /或第二消息, 所述第一消息携带有访 存数据的标记的存储地址和对访存数据的标记操作的操作信息; 所述第 二消息携带有访存数据的存储地址和对访存数据操作的操作信息;
根据所述第一消息和 /或所述第二消息, 对所述访存数据的标记和 / 或所述访存数据进行操作。
根据第二方面, 在第二方面的第一种可能的实现方式中, 所述访存 数据的标记的存储地址和所述访存数据的存储地址是内存模块中不同的 物理地址。
结合第二方面或第一种可能的实现方式, 在第二方面的第二种可能 的实现方式中, 所述根据所述第一消息, 对所述访存数据的标记进行操 作具体包括:
根据所述第一消息携带的访存数据的标记的存储地址, 获得所述访 存数据的标记;
根据所述第一消息携带的对访存数据的标记操作的操作信息, 对所 述获得的访存数据的标记进行操作;
根据所述第二消息, 对所述访存数据进行操作具体包括:
根据所述第二消息携带的访存数据的存储地址, 获得所述访存数据; 根据所述第二消息携带的对访存数据操作的操作信息, 对所述获得 的访存数据进行操作。
第三方面, 提供了一种緩冲调度器, 所述緩冲调度器包括: 接收单 元和操作单元;
所述接收单元, 用于接收访存数据的操作请求消息, 其中, 所述操 作请求消息包括所述访存数据的标记信息、 操作信息和所述访存数据的 存储地址信息, 所述访存数据的标记信息包括标记类型, 所述标记类型 用于指示对所述访存数据和 /或访存数据的标记进行操作;
所述操作单元, 用于根据所述访存数据的标记信息、 以及所述访存 数据的存储地址和所述访存数据的操作信息中的至少一项, 对存储在内 存模块中的所述访存数据的标记和 /或访存数据进行操作。
根据第三方面, 在第三方面的第一种可能的实现方式中, 所述操作 单元, 具体用于
根据所述标记类型, 确定是否对所述访存数据的标记进行操作; 若对所述访存数据的标记进行操作, 以所述访存数据的存储地址为 索引, 查询预存储的访存标记位置映射表, 确定所述访存数据的标记的 存储地址, 并根据所述访存数据的标记信息、 所述访存数据的标记的存 储地址、 所述访存数据的存储地址和所述访存数据的操作信息中的至少 一项, 对存储在内存模块中的所述访存数据的标记, 或所述访存数据的 标记和所述访存数据进行操作;
若不对所述访存数据的标记进行操作, 根据所述访存数据的存储地 址和所述访存数据的操作信息, 对存储在内存模块中的所述访存数据进 行操作。
根据第一种可能的实现方式, 在第三方面的第二种可能的实现方式 中, 所述访存数据的标记信息中具体包括标记类型、 标记内容;
所述操作单元, 具体用于
判断所述预存储的访存标记位置映射表中是否存储有所述访存数据 的存储地址和所述访存数据的标记的存储地址的对应关系;
若存储有所述访存数据的存储地址和所述访存数据的标记的存储地 址的对应关系, 根据所述访存数据的存储地址从所述预存储的访存标记 位置映射表中获取所述访存数据的标记的存储地址;
若没有存储, 将所述访存数据的标记信息中的标记内容确定为所述 访存数据的标记, 在所述内存模块中选取大于或等于所述标记的标记粒 度的空间作为所述访存数据的标记的存储地址, 将所述标记写入所述存 储地址中, 并将所述访存数据的存储地址和所述访存数据的标记的存储 地址的对应关系存储在所述预设的访存标记位置映射表中。
第四方面, 提供了一种内存模块, 所述内存模块包括: 接收单元和 操作单元;
所述接收单元, 用于当中央处理器向緩冲调度器发送访存数据的操 作请求消息时, 接收所述緩冲调度器发送的第一消息和 /或第二消息, 所 述第一消息携带有访存数据的标记的存储地址和对访存数据的标记操作 的操作信息; 所述第二消息携带有访存数据的存储地址和对访存数据操 作的操作信息;
所述操作单元, 用于根据所述第一消息和 /或所述第二消息, 对所述 访存数据的标记和 /或所述访存数据进行操作。
根据第四方面, 在第四方面的第一种可能的实现方式中, 所述访存 数据的标记的存储地址和所述访存数据的存储地址是内存模块中不同的 物理地址。
结合第四方面或第一种可能的实现方式, 在第四方面的第二种可能 的实现方式中, 所述操作单元, 具体用于
根据所述第一消息携带的访存数据的标记的存储地址, 获得所述访 存数据的标记;
根据所述第一消息携带的对访存数据的标记操作的操作信息, 对所 述获得的访存数据的标记进行操作;
所述操作单元, 具体还用于
根据所述第二消息携带的访存数据的存储地址, 获得所述访存数据; 根据所述第二消息携带的对访存数据操作的操作信息, 对所述获得 的访存数据进行操作。
本发明实施例提供一种内存访问的方法、 緩冲调度器和内存模块, 在緩冲调度器中预存储包括访存数据的地址和访存数据的标记的地址的 对应关系的访存标记位置映射表, 进而使得访存数据和访存数据的标记 可以存储在内存模块中的任意位置, 同时内存模块中可以存储各种粒度 的访存数据的标记; 在中央处理器根据应用场景请求对内存模块中存储 的访存数据和 /或访存数据的标记进行操作时, 在操作请求消息中包括访 存数据的标记信息、 操作信息和所述访存数据的存储地址信息, 其中, 所述标记信息中包括指示应用场景的标记类型, 使得緩冲调度器可以确 定需要对访存数据和 /或访存数据的标记执行的操作, 进而, 能够在不改 变内存模块或内存芯片的基础上, 支持多种场景。 附图说明 图 1为本发明实施例提供的一种内存访问的方法的场景示意图; 图 2为本发明实施例提供的一种内存访问的方法的流程示意图; 图 3为本发明实施例提供的另一种内存访问的方法的流程示意图; 图 4为本发明实施例提供的一种内存访问的方法的交互示意图; 图 5为本发明实施例提供的一种緩冲调度器的结构示意图; 图 6为本发明实施例提供的一种内存模块的结构示意图;
图 7为本发明实施例提供的另一种緩冲调度器的结构示意图; 图 8为本发明实施例提供的另一种内存模块的结构示意图。 具体实施方式 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进 行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没 有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的 范围。
实施例一、
如图 1 所示, 为本发明实施例提供的一种内存访问的方法的应用场 景图, 该场景包括中央处理器、 内存控制器、 緩冲调度器和内存模块。 其中, 内存控制器接收中央处理器发送的操作请求消息, 内存控制器将 该操作请求消息处理为具有固定格式的操作请求消息, 并将处理后的操 作请求消息通过同步内存总线协议或异步接口发送给緩冲调度器。 该处 理后的操作请求消息中包括访存数据的标记信息、 操作信息和访存数据 的存储地址。 緩冲调度器接收到该处理后的操作请求消息后, 根据该操 作请求消息携带的访存数据的标记信息、 操作信息和访存数据的存储地 址对内存模块中存储的访存数据和该访存数据对应的标记进行处理, 从 而, 可以在不改变内存模块或内存芯片的条件下, 实现对内存数据的访 问。
本发明实施例提供一种内存访问的方法, 如图 2所示, 该方法包括:
2 01、 接收访存数据的操作请求消息。
其中, 所述操作请求消息包括所述访存数据的标记信息、 操作信息 和所述访存数据的存储地址信息。
具体的, 所述緩冲调度器可以接收内存控制器通过同步内存总线协 议或异步接口发送的访存数据的操作请求消息。
所述访存数据的标记信息包括标记类型, 所述标记类型用于指示所 述緩冲调度器对所述访存数据和 /或访存数据的标记进行操作。
具体的, 所述标记信息中可以仅包括所述标记类型, 举例来说, 所 述标记类型可以为同步、 访问控制、 目录、 内存溢出等。
当然 , 所述标记信息中还可以包括标记内容, 或标记内容和标记特 性。 其中, 所述标记内容对不同的应用场景, 有不同的作用。 举例来说, 当所述标记类型为访问控制时, 所述标记内容可以用于指示对所述访存 数据的存储地址的数据进行访问的进程号; 当所述标记类型为对内存中 的数据加 N时, 所述标记内容可以为 N , 用于指示对所述访存数据的存储 地址的数据加 N。 所述标记特性用于表示所述标记内容对应的属性的信 息, 包括标记粒度等, 其中, 标记粒度表示标记占用内存空间的大小。
所述操作信息包括: 操作码、 访存粒度中的至少一种。 其中, 操作 码表示对访存存储地址对应的访存数据进行的操作, 该操作包括读操作 或写操作; 访存粒度表示访存数据的大小。
2 02、 根据所述访存数据的标记信息、 以及所述访存数据的存储地址 和所述访存数据的操作信息中的至少一项, 对存储在内存模块中的所述 访存数据的标记和 /或访存数据进行操作。
所述緩冲调度器可以根据所述访存数据的标记信息、 以及所述访存 数据的存储地址和所述访存数据的操作信息中的至少一项, 确定对存储 在内存模块中的所述访存数据的标记、 所述访存数据、 或所述访存数据 的标记和所述访存数据进行操作。
当确定需要对所述访存数据进行操作时, 当所述操作信息中包括指 示緩冲调度器对访存数据进行读操作的信息时, 所述緩冲调度器从内存 模块中读取该访存数据。 当所述操作信息中包括指示緩冲调度器对访存 数据进行写操作的信息时, 所述緩冲调度器向内存模块中写入操作信息 中携带的数据。
本发明实施例提供一种内存访问的方法, 接收访存数据的操作请求 消息, 其中, 所述操作请求消息包括所述访存数据的标记信息、 操作信 息和所述访存数据的存储地址信息, 所述访存数据的标记信息包括标记 类型, 所述标记类型用于指示所述緩冲调度器对所述访存数据和 /或访存 数据的标记进行操作; 根据所述访存数据的标记信息、 以及所述访存数 据的存储地址和所述访存数据的操作信息中的至少一项, 对存储在内存 模块中的所述访存数据的标记和 /或访存数据进行操作。
通过该方法, 在緩冲调度器中预存储包括访存数据的地址和访存数 据的标记的地址的对应关系的访存标记位置映射表, 进而使得访存数据 和访存数据的标记可以存储在内存模块中的任意位置, 同时内存模块中 可以存储各种粒度的访存数据的标记; 在中央处理器根据应用场景请求 对内存模块中存储的访存数据和 /或访存数据的标记进行操作时, 在操作 请求消息中包括访存数据的标记信息、 操作信息和所述访存数据的存储 地址信息, 其中, 所述标记信息中包括指示应用场景的标记类型, 使得 緩冲调度器可以确定需要对访存数据和 /或访存数据的标记执行的操作, 进而, 能够在不改变内存模块或内存芯片的基础上, 支持多种场景。
实施例二、
本发明实施例提供一种内存访问的方法, 该方法的执行主体是内存 模块, 所述内存模块中存储有访存数据和访存数据的标记, 所述访存数 据和访存数据的标记存储在内存模块中的任意位置、 任意粒度的物理单 元中。 当然, 也可以为访存数据和访存数据的标记分别划分区域, 使得 访存数据只能够存储在内存模块的数据区域对应的物理位置中, 访存数 据的标记只能够存储在内存模块的标记区域对应的物理位置中。 如图 3 所示, 该方法包括:
301、 当中央处理器向緩冲调度器发送访存数据的操作请求消息时, 接收所述緩冲调度器发送的第一消息和 /或第二消息, 所述第一消息携带 有访存数据的标记的存储地址和对访存数据的标记操作的操作信息; 所 述第二消息携带有访存数据的存储地址和对访存数据操作的操作信息。 其中, 所述访存数据的标记的存储地址和所述访存数据的存储地址 是内存模块中不同的物理地址。
当中央处理器向内存控制器发送访存数据的操作请求消息之后, 内 存控制器对该访存数据的操作请求消息处理为具有固定格式的访存数据 的操作请求消息之后, 所述内存控制器向所述緩冲调度器发送所述具有 固定格式的访存数据的操作请求消息。
所述緩冲调度器接收所述访存数据的操作请求消息之后, 对所述访 存数据的标记和 /或所述访存数据进行处理, 当所述緩冲调度器对所述访 存数据的标记进行处理时, 向所述内存模块发送第一消息, 所述第一消 息携带有访存数据的标记的存储地址和对访存数据的标记操作的操作信 息; 当所述緩冲调度器对所述访存数据进行处理时, 向所述内存模块发 送第二消息, 所述第二消息携带有访存数据的存储地址和对访存数据操 作的操作信息。
302、 根据所述第一消息和 /或所述第二消息, 对所述访存数据的标 记和 /或所述访存数据进行操作。
具体的, 当所述内存模块根据所述第一消息, 对所述访存数据的标 记进行操作时, 所述内存模块根据所述第一消息携带的访存数据的标记 的存储地址, 获得所述访存数据的标记; 根据所述第一消息携带的对访 存数据的标记操作的操作信息, 对所述获得的访存数据的标记进行操作。 该操作可以是读操作或写操作。
具体的, 当所述内存模块根据所述第二消息, 对所述访存数据进行 操作时, 所述内存模块根据所述第二消息携带的访存数据的存储地址, 获得所述访存数据; 根据所述第二消息携带的对访存数据操作的操作信 息, 对所述获得的访存数据进行操作。 该操作具体可以是读操作或写操 作。
本发明实施例提供一种内存访问的方法, 当中央处理器向緩冲调度 器发送访存数据的操作请求消息时, 接收所述緩冲调度器发送的第一消 息和 /或第二消息, 所述第一消息携带有访存数据的标记的存储地址和对 访存数据的标记操作的操作信息; 所述第二消息携带有访存数据的存储 地址和对访存数据操作的操作信息; 根据所述第一消息和 /或所述第二消 息, 对所述访存数据的标记和 /或所述访存数据进行操作。 通过该方法, 在緩冲调度器中预存储包括访存数据的地址和访存数 据的标记的地址的对应关系的访存标记位置映射表, 进而使得访存数据 和访存数据的标记可以存储在内存模块中的任意位置, 同时内存模块中 可以存储各种粒度的访存数据的标记; 在中央处理器根据应用场景请求 对内存模块中存储的访存数据和 /或访存数据的标记进行操作时, 在操作 请求消息中包括访存数据的标记信息、 操作信息和所述访存数据的存储 地址信息, 其中, 所述标记信息中包括指示应用场景的标记类型, 使得 緩冲调度器可以确定需要对访存数据和 /或访存数据的标记执行的操作, 进而, 能够在不改变内存模块或内存芯片的基础上, 支持多种场景。
实施例三、
本发明实施例提供一种内存访问的方法, 如图 4所示, 该方法包括:
4 01、 内存控制器向緩冲调度器发送操作请求消息。
当中央处理器向内存控制器发送访存数据的操作请求消息之后, 内 存控制器对该访存数据的操作请求消息处理为具有固定格式的访存数据 的操作请求消息之后, 所述内存控制器向所述緩冲调度器发送所述具有 固定格式的访存数据的操作请求消息。
其中, 所述操作请求消息包括所述访存数据的标记信息、 操作信息 和所述访存数据的存储地址信息。
具体的, 所述緩冲调度器可以接收内存控制器通过同步内存总线协 议或异步接口发送的访存数据的操作请求消息。
所述访存数据的标记信息包括标记类型, 所述标记类型用于指示所 述緩冲调度器对所述访存数据和 /或访存数据的标记进行操作。
具体的, 所述标记信息中可以仅包括所述标记类型, 举例来说, 所 述标记类型可以为同步、 访问控制、 目录、 内存溢出等。
当然, 所述标记信息中还可以包括标记内容, 或标记内容和标记特 性。 其中, 所述标记内容对不同的应用场景, 有不同的作用。 举例来说, 当所述标记类型为访问控制时, 所述标记内容可以用于指示对所述访存 数据的存储地址的数据进行访问的进程号; 当所述标记类型为对内存中 的数据加 N时, 所述标记内容可以为 N , 用于指示对所述访存数据的存储 地址的数据加 N。 所述标记特性用于表示所述标记内容对应的属性的信 息, 包括标记粒度等, 其中, 标记粒度表示标记占用内存空间的大小。 所述操作信息包括: 操作码、 访存粒度中的至少一种。 其中, 操作 码表示对访存存储地址对应的访存数据进行的操作, 该操作包括读操作 或写操作; 访存粒度表示访存数据的大小。
4 02、 所述緩冲调度器根据所述标记类型, 确定是否对所述访存数据 的标记进行操作。
不同的应用场景, 对应有不同的标记类型, 因此, 根据所述标记类 型, 可以确定应用场景, 进而确定是否需要对所述访存数据的标记进行 操作。
举例来说, 假设标记类型为 0 时, 应用场景为访存控制。 访存控制 是仅允许特定的访问者对内存模块中存储的特定数据进行访问的一种应 用场景。 该数据的特定访问者为该数据的标记, 因此, 所述緩冲调度器 需要判断所述操作请求消息中携带的访问者是否与所述访存数据的特定 访问者相同, 进而, 所述緩冲调度器需要对所述访存数据的标记进行操 作。
若对所述访存数据的标记进行操作,执行步骤 4 03 ; 若不对所述访存 数据的标记进行操作, 执行步骤 4 04。
4 03、 若对所述访存数据的标记进行操作, 以所述访存数据的存储地 址为索引, 查询预存储的访存标记位置映射表, 确定所述访存数据的标 记的存储地址, 并根据所述访存数据的标记信息、 所述访存数据的标记 的存储地址、 所述访存数据的存储地址和所述访存数据的操作信息中的 至少一项, 对存储在内存模块中的所述访存数据的标记, 或所述访存数 据的标记和所述访存数据进行操作。
具体的, 所述访存数据的标记信息中具体包括标记类型、 标记内容。 所述緩冲调度器中预存储有访存标记位置映射表, 所述访存标记位 置映射表中包括所述访存数据的存储地址和所述访存数据的标记的存储 地址的对应关系。
现有技术中, 访存数据和访存数据的标记存储在内存模块的同一物 理单元中, 所述緩冲调度器获得访存数据的地址之后, 可以获取所述访 存数据和访存数据的标记。 本发明中, 访存数据和访存数据的标记存储 在内存模块中的任意位置、 任意粒度的物理单元中, 因此, 所述緩冲调 度器中存储有包括所述访存数据的地址和访存数据的标记的地址的对应 关系的访存标记位置映射表。
当所述緩冲调度器以所述访存数据的存储地址为索引, 查询预存储 的访存标记位置映射表, 确定所述访存数据的标记的存储地址时, 所述 緩冲调度器具体可以: 判断所述预存储的访存标记位置映射表中是否存 储有所述访存数据的存储地址和所述访存数据的标记的存储地址的对应 关系; 若存储有所述访存数据的存储地址和所述访存数据的标记的存储 地址的对应关系, 根据所述访存数据的存储地址从所述预存储的访存标 记位置映射表中获取所述访存数据的标记的存储地址; 若没有存储, 将 所述访存数据的标记信息中的标记内容确定为所述访存数据的标记, 在 所述内存模块中选取大于或等于所述标记的标记粒度的空间作为所述访 存数据的标记的存储地址, 将所述标记写入所述存储地址中, 并将所述 访存数据的存储地址和所述访存数据的标记的存储地址的对应关系存储 在所述预设的访存标记位置映射表中。
其中, 当所述緩冲调度器判断所述预存储的访存标记位置映射表中 是否存储有所述访存数据的存储地址和所述访存数据的标记的存储地址 的对应关系时, 所述緩冲调度器可以在访存标记位置映射表中查询是否 存在所述访存数据的存储地址, 进而判断该访存标记位置映射表中是否 存储有该访存数据的标记的存储地址。
可选的, 为了使得緩冲调度器在接收到访存数据的操作请求消息后, 能够快速的判断所述访存标记位置映射表中是否存储有该访存数据的存 储地址和该访存数据的标记的存储地址的对应关系, 所述緩冲调度器中 存储的标记位置映射表存储的访存数据的存储地址与访存数据的标记的 存储地址的对应信息, 可以是按照标记粒度来分类存储的。
举例来说, 将标记的标记粒度为 4 的访存数据与访存数据的标记的 存储地址对应信息存储为一张表, 将标记的标记粒度为 8 的访存数据与 访存数据的标记的存储地址对应信息存储为一张表。 这样, 在所述緩冲 调度器根据访存标记位置映射表和所述访存数据的存储地址判断所述访 存数据是否有对应的标记时, 可以根据所述访存数据的标记信息中的标 记粒度在存储的对应的标记粒度的表中查询是否存在所述访存数据的存 储地址, 判断该访存标记位置映射表中是否存储有该访存数据的标记的 存储地址。 当所述緩冲调度器对所述访存数据的标记进行操作时, 所述緩冲调 度器根据所述访存数据的标记的存储地址, 获得存储在内存模块中的访 存数据的标记; 根据所述访存数据的标记信息和存储在内存模块中的访 存数据的标记, 确定对存储在内存模块中的所述访存数据的标记进行操 作。
具体的, 所述緩冲调度器根据所述访存数据的标记的存储地址, 获 得存储在内存模块中的访存数据的标记; 根据所述访存数据的标记信息 中的标记类型, 确定对所述访存数据的标记的操作; 根据所述确定的操 作和存储在内存模块中的访存数据的标记, 对存储在内存模块中的所述 访存数据的标记进行操作。
其中, 不同的标记类型对应有不用的操作, 例如, 标记类型代表访 存控制时, 对应的操作为对比操作。 标记类型代表访存数据需要同步或 是原子操作时, 对应的操作为加减算术操作。
举例来说, 访存类型为同步操作, 则对应的操作为加减运算操作。 所述緩冲调度器对内存模块中存储的所述访存数据的标记进行加减运算 操作, 以使得当所述访存数据被一个线程访问时, 不能被其它线程访问。 例如, 当所述标记为 0时表示可以访问, 当标记为 1时表示不可以访问。 当一个线程对访存数据访问时, 首先, 所述緩冲调度器根据所述访存数 据的标记的存储地址, 获得存储在内存模块中的访存数据的标记; 当访 存数据的标记为 0 时, 该线程对该访存数据进行访问, 同时, 该线程对 将该标记加 1 , 使得其它线程不能访问该访存数据, 然后, 所述緩冲调度 器根据所述访存数据的存储地址和所述访存数据的操作信息, 对存储在 内存模块中的所述访存数据进行操作, 该线程对该数据访问完成后, 该 线程将标记减 1 ,使得其它线程可以访问该访存数据; 当访存数据对应的 标记为 1 时, 该线程不能对该访存数据进行访问, 所述緩冲调度器向内 存控制器返回访问失败的消息。
进一步, 在所述緩冲调度器对所述访存数据和所述访存数据的标记 进行操作时, 为了保证内存模块中数据的安全性, 在所述緩冲调度器根 据所述访存数据的标记信 , 和所述访存数据的标记的存储地址, 对存储 在内存模块中的所述访存数据的标记进行操作之后, 还包括: 获得对所 述访存数据的标记进行操作的结果信息; 根据所述结果信息, 确定是否 对存储在内存模块中的所述访存数据进行操作; 当所述结果信息表示对 所述访存数据的标记操作成功时, 根据所述访存数据的操作信息, 对存 储在内存模块中的所述访存数据进行操作, 当所述结果信息表示对所述 访存数据的标记操作失败时, 向内存控制器返回访问失败的消息。
举例来说, 访存类型为访问控制, 则对应的操作为对比操作。 所述 緩冲调度器根据所述访存数据的标记的存储地址, 获得存储在内存模块 中的访存数据的标记; 所述緩冲调度器将接收到的访存数据的标记信 , 中的标记内容, 与所述访存数据的标记进行比较, 判断两者是否相同。 若所述标记内容与标记相同, 则对标记信息进行操作的结果信息为标记 操作成功的消息, 并根据所述访存数据的存储地址和所述访存数据的操 作信息, 对存储在内存模块中的所述访存数据进行操作; 若所述标记内 容与标记不同, 则对标记信息进行操作的结果信息为标记操作失败的消 息, 所述緩冲调度器向内存控制器返回访问失败的消息。
4 04、 若不对所述访存数据的标记进行操作, 至少根据所述访存数据 的存储地址和所述访存数据的操作信息, 对存储在内存模块中的所述访 存数据进行操作。
可以理解的是, 对存储在内存模块中的访存数据进行操作时, 至少 需要所述访存数据的存储地址和所述访存数据的操作信息。
具体的, 当所述操作信息中包括指示緩冲调度器对访存数据进行读 操作的信息时, 所述緩冲调度器从内存模块中的读取该访存数据。 当所 述操作信息中包括指示緩冲调度器对访存数据进行写操作的信息时, 所 述緩冲调度器向内存模块中写入操作信息中携带的数据。
若所述緩冲调度器对所述访存数据进行操作, 则执行步骤 4 07 -4 08 ; 若所述緩冲调度器对所述访存数据的标记进行操作, 则执行步骤 4 05-4 06 ; 若所述緩冲调度器对所述访存数据和所述访存数据的标记进行 操作, 则执行步骤 4 05 -4 08。
4 05、 所述緩冲调度器向所述内存模块发送第一消息, 所述第一消息 携带有访存数据的标记的存储地址和对访存数据的标记操作的操作信 息。
4 06、 所述内存模块根据所述第一消息, 对所述访存数据的标记进行 操作。
具体的, 所述内存模块根据所述第一消息携带的访存数据的标记的 存储地址, 获得所述访存数据的标记; 根据所述第一消息携带的对访存 数据的标记操作的操作信息, 对所述获得的访存数据的标记进行操作。
4 07、 所述緩冲调度器向所述内存模块发送第二消息, 所述第二消息 携带有访存数据的存储地址和对访存数据操作的操作信息。
4 08、 所述内存模块根据所述第二消息, 对所述访存数据进行操作。 具体的, 所述内存模块根据所述第二消息携带的访存数据的存储地 址, 获得所述访存数据; 根据所述第二消息携带的对访存数据操作的操 作信息, 对所述获得的访存数据进行操作。
本发明技术领域人员理解的是, 所述内存模块根据所述第一消息和 / 或第二消息, 对所述访存数据的标记和 /或数据进行操作后, 会向所述緩 本发明实施例提供一种内存访问的方法, 接收访存数据的操作请求 消息, 其中, 所述操作请求消息包括所述访存数据的标记信息、 操作信 息和所述访存数据的存储地址信息, 所述访存数据的标记信息包括标记 类型, 所述标记类型用于指示所述緩冲调度器对所述访存数据和 /或访存 数据的标记进行操作; 根据所述访存数据的标记信息、 以及所述访存数 据的存储地址和所述访存数据的操作信息中的至少一项, 对存储在内存 模块中的所述访存数据的标记和 /或访存数据进行操作。
通过该方法, 在緩冲调度器中预存储包括访存数据的地址和访存数 据的标记的地址的对应关系的访存标记位置映射表, 进而使得访存数据 和访存数据的标记可以存储在内存模块中的任意位置, 同时内存模块中 可以存储各种粒度的访存数据的标记; 在中央处理器根据应用场景请求 对内存模块中存储的访存数据和 /或访存数据的标记进行操作时, 在操作 请求消息中包括访存数据的标记信息、 操作信息和所述访存数据的存储 地址信息, 其中, 所述标记信息中包括指示应用场景的标记类型, 使得 緩冲调度器可以确定需要对访存数据和 /或访存数据的标记执行的操作, 进而, 能够在不改变内存模块或内存芯片的基础上, 支持多种场景。
实施例四、
本发明实施例提供一种緩冲调度器, 如图 5 所示, 所述緩冲调度器 5 0包括: 接收单元 5 1和操作单元 52。
所述接收单元 5 1 , 用于接收访存数据的操作请求消息, 其中, 所述 操作请求消息包括所述访存数据的标记信息、 操作信息和所述访存数据 的存储地址信息, 所述访存数据的标记信息包括标记类型, 所述标记类 型用于指示对所述访存数据和 /或访存数据的标记进行操作。
所述操作单元 52 , 用于根据所述访存数据的标记信息、 以及所述访 存数据的存储地址和所述访存数据的操作信息中的至少一项, 对存储在 内存模块中的所述访存数据的标记和 /或访存数据进行操作。
进一步的, 所述操作单元 52 , 具体用于
根据所述标记类型, 确定是否对所述访存数据的标记进行操作; 若对所述访存数据的标记进行操作, 以所述访存数据的存储地址为 索引, 查询预存储的访存标记位置映射表, 确定所述访存数据的标记的 存储地址, 并根据所述访存数据的标记信息、 所述访存数据的标记的存 储地址、 所述访存数据的存储地址和所述访存数据的操作信息中的至少 一项, 对存储在内存模块中的所述访存数据的标记, 或所述访存数据的 标记和所述访存数据进行操作;
若不对所述访存数据的标记进行操作, 根据所述访存数据的存储地 址和所述访存数据的操作信息, 对存储在内存模块中的所述访存数据进 行操作。
进一步的, 当所述访存数据的标记中具体包括标记类型和标记内容 时, 所述操作单元 52 , 具体用于
判断所述预存储的访存标记位置映射表中是否存储有所述访存数据 的存储地址和所述访存数据的标记的存储地址的对应关系;
若存储有所述访存数据的存储地址和所述访存数据的标记的存储地 址的对应关系, 根据所述访存数据的存储地址从所述预存储的访存标记 位置映射表中获取所述访存数据的标记的存储地址;
若没有存储, 将所述访存数据的标记信息中的标记内容确定为所述 访存数据的标记, 在所述内存模块中选取大于或等于所述标记的标记粒 度的空间作为所述访存数据的标记的存储地址, 将所述标记写入所述存 储地址中, 并将所述访存数据的存储地址和所述访存数据的标记的存储 地址的对应关系存储在所述预设的访存标记位置映射表中。
本发明实施例提供一种緩冲调度器, 所述接收单元接收访存数据的 操作请求消息, 其中, 所述操作请求消息包括所述访存数据的标记信息、 操作信息和所述访存数据的存储地址信息, 所述访存数据的标记信息包 括标记类型, 所述标记类型用于指示对所述访存数据和 /或访存数据的标 记进行操作; 所述操作单元根据所述访存数据的标记信息、 以及所述访 存数据的存储地址和所述访存数据的操作信息中的至少一项, 对存储在 内存模块中的所述访存数据的标记和 /或访存数据进行操作。
通过该方法, 在緩冲调度器中预存储包括访存数据的地址和访存数 据的标记的地址的对应关系的访存标记位置映射表, 进而使得访存数据 和访存数据的标记可以存储在内存模块中的任意位置, 同时内存模块中 可以存储各种粒度的访存数据的标记; 在中央处理器根据应用场景请求 对内存模块中存储的访存数据和 /或访存数据的标记进行操作时, 在操作 请求消息中包括访存数据的标记信息、 操作信息和所述访存数据的存储 地址信息, 其中, 所述标记信息中包括指示应用场景的标记类型, 使得 緩冲调度器可以确定需要对访存数据和 /或访存数据的标记执行的操作, 进而, 能够在不改变内存模块或内存芯片的基础上, 支持多种场景。
实施例五、
本发明实施例提供一种内存模块, 如图 6所示, 所述内存模块 6 0包 括: 接收单元 6 1和操作单元 62。
所述接收单元 6 1 , 用于当中央处理器向緩冲调度器发送访存数据的 操作请求消息时, 接收所述緩冲调度器发送的第一消息和 /或第二消息。
其中, 所述第一消息携带有访存数据的标记的存储地址和对访存数 据的标记操作的操作信息; 所述第二消息携带有访存数据的存储地址和 对访存数据操作的操作信息。
所述操作单元 6 2 , 用于根据所述第一消息和 /或所述第二消息,对所 述访存数据的标记和 /或所述访存数据进行操作。
进一步的, 所述访存数据的标记的存储地址和所述访存数据的存储 地址是内存模块中不同的物理地址。
进一步的, 所述操作单元 62 , 具体用于
根据所述第一消息携带的访存数据的标记的存储地址, 获得所述访 存数据的标记;
根据所述第一消息携带的对访存数据的标记操作的操作信息, 对所 述获得的访存数据的标记进行操作; 所述操作单元, 具体还用于
根据所述第二消息携带的访存数据的存储地址, 获得所述访存数据; 根据所述第二消息携带的对访存数据操作的操作信息, 对所述获得 的访存数据进行操作。
本发明实施例提供一种内存模块, 当中央处理器向緩冲调度器发送 访存数据的操作请求消息时, 所述接收单元接收所述緩冲调度器发送的 第一消息和 /或第二消息, 所述第一消息携带有访存数据的标记的存储地 址和对访存数据的标记操作的操作信息, 所述第二消息携带有访存数据 的存储地址和对访存数据操作的操作信息; 所述操作单元根据所述第一 消息和 /或所述第二消息, 对所述访存数据的标记和 /或所述访存数据进 行操作。
通过该方法, 在緩冲调度器中预存储包括访存数据的地址和访存数 据的标记的地址的对应关系的访存标记位置映射表, 进而使得访存数据 和访存数据的标记可以存储在内存模块中的任意位置, 同时内存模块中 可以存储各种粒度的访存数据的标记; 在中央处理器根据应用场景请求 对内存模块中存储的访存数据和 /或访存数据的标记进行操作时, 在操作 请求消息中包括访存数据的标记信息、 操作信息和所述访存数据的存储 地址信息, 其中, 所述标记信息中包括指示应用场景的标记类型, 使得 緩冲调度器可以确定需要对访存数据和 /或访存数据的标记执行的操作, 进而, 能够在不改变内存模块或内存芯片的基础上, 支持多种场景。
实施例六、
本发明实施例提供一种緩冲调度器, 如图 7 所示, 所述緩冲调度器 7 0包括: 接收器 7 1和处理器 72。
所述接收器 7 1 , 用于接收访存数据的操作请求消息, 其中, 所述操 作请求消息包括所述访存数据的标记信息、 操作信息和所述访存数据的 存储地址信息, 所述访存数据的标记信息包括标记类型, 所述标记类型 用于指示对所述访存数据和 /或访存数据的标记进行操作。
所述处理器 72 , 用于根据所述访存数据的标记信息、 以及所述访存 数据的存储地址和所述访存数据的操作信息中的至少一项, 对存储在内 存模块中的所述访存数据的标记和 /或访存数据进行操作。
进一步的, 所述处理器 7 2 , 具体用于 根据所述标记类型, 确定是否对所述访存数据的标记进行操作; 若对所述访存数据的标记进行操作, 以所述访存数据的存储地址为 索引, 查询预存储的访存标记位置映射表, 确定所述访存数据的标记的 存储地址, 并根据所述访存数据的标记信息、 所述访存数据的标记的存 储地址、 所述访存数据的存储地址和所述访存数据的操作信息中的至少 一项, 对存储在内存模块中的所述访存数据的标记, 或所述访存数据的 标记和所述访存数据进行操作;
若不对所述访存数据的标记进行操作, 根据所述访存数据的存储地 址和所述访存数据的操作信息, 对存储在内存模块中的所述访存数据进 行操作。
进一步的, 当所述访存数据的标记中具体包括标记类型和标记内容 时, 所述处理器 72 , 具体用于
判断所述预存储的访存标记位置映射表中是否存储有所述访存数据 的存储地址和所述访存数据的标记的存储地址的对应关系;
若存储有所述访存数据的存储地址和所述访存数据的标记的存储地 址的对应关系, 根据所述访存数据的存储地址从所述预存储的访存标记 位置映射表中获取所述访存数据的标记的存储地址;
若没有存储, 将所述访存数据的标记信息中的标记内容确定为所述 访存数据的标记, 在所述内存模块中选取大于或等于所述标记的标记粒 度的空间作为所述访存数据的标记的存储地址, 将所述标记写入所述存 储地址中, 并将所述访存数据的存储地址和所述访存数据的标记的存储 地址的对应关系存储在所述预设的访存标记位置映射表中。
本发明实施例提供一种緩冲调度器, 所述接收器接收访存数据的操 作请求消息, 其中, 所述操作请求消息包括所述访存数据的标记信息、 操作信息和所述访存数据的存储地址信息, 所述访存数据的标记信息包 括标记类型, 所述标记类型用于指示对所述访存数据和 /或访存数据的标 记进行操作; 所述处理器根据所述访存数据的标记信息、 以及所述访存 数据的存储地址和所述访存数据的操作信息中的至少一项, 对存储在内 存模块中的所述访存数据的标记和 /或访存数据进行操作。
通过该方法, 在緩冲调度器中预存储包括访存数据的地址和访存数 据的标记的地址的对应关系的访存标记位置映射表, 进而使得访存数据 和访存数据的标记可以存储在内存模块中的任意位置, 同时内存模块中 可以存储各种粒度的访存数据的标记; 在中央处理器根据应用场景请求 对内存模块中存储的访存数据和 /或访存数据的标记进行操作时, 在操作 请求消息中包括访存数据的标记信息、 操作信息和所述访存数据的存储 地址信息, 其中, 所述标记信息中包括指示应用场景的标记类型, 使得 緩冲调度器可以确定需要对访存数据和 /或访存数据的标记执行的操作, 进而, 能够在不改变内存模块或内存芯片的基础上, 支持多种场景。
实施例七、
本发明实施例提供一种内存模块, 如图 8所示, 所述内存模块 8 0包 括: 接收器 8 1和处理器 82。
所述接收器 8 1 , 用于当中央处理器向緩冲调度器发送访存数据的操 作请求消息时, 接收所述緩冲调度器发送的第一消息和 /或第二消息。
其中, 所述第一消息携带有访存数据的标记的存储地址和对访存数 据的标记操作的操作信息; 所述第二消息携带有访存数据的存储地址和 对访存数据操作的操作信息。
所述处理器 82 , 用于根据所述第一消息和 /或所述第二消息,对所述 访存数据的标记和 /或所述访存数据进行操作。
进一步的, 所述访存数据的标记的存储地址和所述访存数据的存储 地址是内存模块中不同的物理地址。
进一步的, 所述处理器 8 2 , 具体用于
根据所述第一消息携带的访存数据的标记的存储地址, 获得所述访 存数据的标记;
根据所述第一消息携带的对访存数据的标记操作的操作信息, 对所 述获得的访存数据的标记进行操作;
所述操作单元, 具体还用于
根据所述第二消息携带的访存数据的存储地址, 获得所述访存数据; 根据所述第二消息携带的对访存数据操作的操作信息, 对所述获得 的访存数据进行操作。
本发明实施例提供一种内存模块, 当中央处理器向緩冲调度器发送 访存数据的操作请求消息时, 所述接收器接收所述緩冲调度器发送的第 一消息和 /或第二消息, 所述第一消息携带有访存数据的标记的存储地址 和对访存数据的标记操作的操作信息, 所述第二消息携带有访存数据的 存储地址和对访存数据操作的操作信息; 所述处理器根据所述第一;肖 , 和 /或所述第二消息, 对所述访存数据的标记和 /或所述访存数据进行操 作。
通过该方法, 在緩冲调度器中预存储包括访存数据的地址和访存数 据的标记的地址的对应关系的访存标记位置映射表, 进而使得访存数据 和访存数据的标记可以存储在内存模块中的任意位置, 同时内存模块中 可以存储各种粒度的访存数据的标记; 在中央处理器根据应用场景请求 对内存模块中存储的访存数据和 /或访存数据的标记进行操作时, 在操作 请求消息中包括访存数据的标记信息、 操作信息和所述访存数据的存储 地址信息, 其中, 所述标记信息中包括指示应用场景的标记类型, 使得 緩冲调度器可以确定需要对访存数据和 /或访存数据的标记执行的操作, 进而, 能够在不改变内存模块或内存芯片的基础上, 支持多种场景。
所属领域的技术人员可以清楚地了解到, 为描述的方便和简洁, 仅 以上述各功能模块的划分进行举例说明, 实际应用中, 可以根据需要而 将上述功能分配由不同的功能模块完成, 即将装置的内部结构划分成不 同的功能模块, 以完成以上描述的全部或者部分功能。 上述描述的系统, 装置和单元的具体工作过程, 可以参考前述方法实施例中的对应过程, 在此不再赞述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统, 装 置和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例 仅仅是示意性的, 例如, 所述模块或单元的划分, 仅仅为一种逻辑功能 划分, 实际实现时可以有另外的划分方式, 例如多个单元或组件可以结 合或者可以集成到另一个系统, 或一些特征可以忽略, 或不执行。 另一 点, 所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过 一些接口, 装置或单元的间接耦合或通信连接, 可以是电性, 机械或其 它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开 的, 作为单元显示的部件可以是或者也可以不是物理单元, 即可以位于 一个地方, 或者也可以分布到多个网络单元上。 可以根据实际的需要选 择其中的部分或者全部单元来实现本实施例方案的目的。 另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单 元中, 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集 成在一个单元中。 上述集成的单元既可以采用硬件的形式实现, 也可以 采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品 销售或使用时, 可以存储在一个计算机可读取存储介质中。 基于这样的 理解, 本发明的技术方案本质上或者说对现有技术做出贡献的部分或者 该技术方案的全部或部分可以以软件产品的形式体现出来, 该计算机软 件产品存储在一个存储介质中, 包括若干指令用以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网络设备等)或处理器( proce s s or ) 执行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质 包括: U盘、 移动硬盘、 只读存储器 (ROM , Read-On l y Memo ry ) 、 随机 存取存储器 ( RAM , Random Acce s s Memory ) 、 磁碟或者光盘等各种可以 存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不 局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本 发明的保护范围应以所述权利要求的保护范围为准。

Claims

权 利 要 求
1、 一种内存访问的方法, 应用于緩冲调度器, 其特征在于, 所述 方法包括:
接收访存数据的操作请求消息, 其中, 所述操作请求消息包括所述 访存数据的标记信息、 操作信息和所述访存数据的存储地址信息, 所述 访存数据的标记信息包括标记类型, 所述标记类型用于指示所述緩冲调 度器对所述访存数据和 /或访存数据的标记进行操作;
根据所述访存数据的标记信息、 以及所述访存数据的存储地址和所 述访存数据的操作信息中的至少一项, 对存储在内存模块中的所述访存 数据的标记和 /或访存数据进行操作。
2、 根据权利要求 1 所述的方法, 其特征在于, 所述根据所述访存 数据的标记信息、 以及所述访存数据的存储地址和所述访存数据的操作 信息中的至少一项, 对存储在内存模块中的所述访存数据的标记和 /或 访存数据进行操作具体包括:
根据所述标记类型, 确定是否对所述访存数据的标记进行操作; 若对所述访存数据的标记进行操作, 以所述访存数据的存储地址为 索引, 查询预存储的访存标记位置映射表, 确定所述访存数据的标记的 存储地址, 并根据所述访存数据的标记信息、 所述访存数据的标记的存 储地址、 所述访存数据的存储地址和所述访存数据的操作信息中的至少 一项, 对存储在内存模块中的所述访存数据的标记, 或所述访存数据的 标记和所述访存数据进行操作;
若不对所述访存数据的标记进行操作, 至少根据所述访存数据的存 储地址和所述访存数据的操作信息, 对存储在内存模块中的所述访存数 据进行操作。
3、 根据权利要求 2 所述的方法, 其特征在于, 所述访存数据的标 记信息中具体包括标记类型、 标记内容;
所述以所述访存数据的存储地址为索引, 查询预存储的访存标记位 置映射表, 确定所述访存数据的标记的存储地址具体包括:
判断所述预存储的访存标记位置映射表中是否存储有所述访存数 据的存储地址和所述访存数据的标记的存储地址的对应关系;
若存储有所述访存数据的存储地址和所述访存数据的标记的存储 地址的对应关系, 根据所述访存数据的存储地址从所述预存储的访存标 记位置映射表中获取所述访存数据的标记的存储地址;
若没有存储, 将所述访存数据的标记信息中的标记内容确定为所述 访存数据的标记, 在所述内存模块中选取大于或等于所述标记的标记粒 度的空间作为所述访存数据的标记的存储地址, 将所述标记写入所述存 储地址中, 并将所述访存数据的存储地址和所述访存数据的标记的存储 地址的对应关系存储在所述预设的访存标记位置映射表中。
4、 一种内存访问的方法, 其特征在于, 所述方法包括:
当中央处理器向緩冲调度器发送访存数据的操作请求消息时, 接收 所述緩冲调度器发送的第一消息和 /或第二消息, 所述第一消息携带有 访存数据的标记的存储地址和对访存数据的标记操作的操作信息, 所述 第二消息携带有访存数据的存储地址和对访存数据操作的操作信息; 根据所述第一消息和 /或所述第二消息, 对所述访存数据的标记和 / 或所述访存数据进行操作。
5、 根据权利要求 4 所述的方法, 其特征在于, 所述访存数据的标 记的存储地址和所述访存数据的存储地址是内存模块中不同的物理地 址。
6、 根据权利要求 4或 5 所述的方法, 其特征在于, 所述根据所述 第一消息, 对所述访存数据的标记进行操作具体包括:
根据所述第一消息携带的访存数据的标记的存储地址, 获得所述访 存数据的标记;
根据所述第一消息携带的对访存数据的标记操作的操作信息, 对所 述获得的访存数据的标记进行操作;
根据所述第二消息, 对所述访存数据进行操作具体包括:
根据所述第二消息携带的访存数据的存储地址, 获得所述访存数 据;
根据所述第二消息携带的对访存数据操作的操作信息, 对所述获得 的访存数据进行操作。
7、 一种緩冲调度器, 其特征在于, 所述緩冲调度器包括: 接收单 元和操作单元;
所述接收单元, 用于接收访存数据的操作请求消息, 其中, 所述操 作请求消息包括所述访存数据的标记信息、 操作信息和所述访存数据的 存储地址信息, 所述访存数据的标记信息包括标记类型, 所述标记类型 用于指示对所述访存数据和 /或访存数据的标记进行操作; 所述操作单元, 用于根据所述访存数据的标记信息、 以及所述访存 数据的存储地址和所述访存数据的操作信息中的至少一项, 对存储在内 存模块中的所述访存数据的标记和 /或访存数据进行操作。
8、 根据权利要求 7 所述的緩冲调度器, 其特征在于, 所述操作单 元, 具体用于
根据所述标记类型, 确定是否对所述访存数据的标记进行操作; 若对所述访存数据的标记进行操作, 以所述访存数据的存储地址为 索引, 查询预存储的访存标记位置映射表, 确定所述访存数据的标记的 存储地址, 并根据所述访存数据的标记信息、 所述访存数据的标记的存 储地址、 所述访存数据的存储地址和所述访存数据的操作信息中的至少 一项, 对存储在内存模块中的所述访存数据的标记, 或所述访存数据的 标记和所述访存数据进行操作;
若不对所述访存数据的标记进行操作, 根据所述访存数据的存储地 址和所述访存数据的操作信息, 对存储在内存模块中的所述访存数据进 行操作。
9、 根据权利要求 8 所述的緩冲调度器, 其特征在于, 所述访存数 据的标记信息中具体包括标记类型、 标记内容;
所述操作单元, 具体用于
判断所述预存储的访存标记位置映射表中是否存储有所述访存数 据的存储地址和所述访存数据的标记的存储地址的对应关系;
若存储有所述访存数据的存储地址和所述访存数据的标记的存储 地址的对应关系, 根据所述访存数据的存储地址从所述预存储的访存标 记位置映射表中获取所述访存数据的标记的存储地址;
若没有存储, 将所述访存数据的标记信息中的标记内容确定为所述 访存数据的标记, 在所述内存模块中选取大于或等于所述标记的标记粒 度的空间作为所述访存数据的标记的存储地址, 将所述标记写入所述存 储地址中, 并将所述访存数据的存储地址和所述访存数据的标记的存储 地址的对应关系存储在所述预设的访存标记位置映射表中。
1 0、 一种内存模块, 其特征在于, 所述内存模块包括: 接收单元和 操作单元;
所述接收单元, 用于当中央处理器向緩冲调度器发送访存数据的操 作请求消息时, 接收所述緩冲调度器发送的第一消息和 /或第二消息, 所述第一消息携带有访存数据的标记的存储地址和对访存数据的标记 操作的操作信息, 所述第二消息携带有访存数据的存储地址和对访存数 据操作的操作信息;
所述操作单元, 用于根据所述第一消息和 /或所述第二消息, 对所 述访存数据的标记和 /或所述访存数据进行操作。
1 1、 根据权利要求 10 所述的内存模块, 其特征在于, 所述访存数 据的标记的存储地址和所述访存数据的存储地址是内存模块中不同的 物理地址。
12、 根据权利要求 1 0或 11所述的内存模块, 其特征在于, 所述操 作单元, 具体用于
根据所述第一消息携带的访存数据的标记的存储地址, 获得所述访 存数据的标记;
根据所述第一消息携带的对访存数据的标记操作的操作信息, 对所 述获得的访存数据的标记进行操作;
所述操作单元, 具体还用于
根据所述第二消息携带的访存数据的存储地址, 获得所述访存数 据;
根据所述第二消息携带的对访存数据操作的操作信息, 对所述获得 的访存数据进行操作。
PCT/CN2013/088252 2013-05-30 2013-11-30 一种内存访问的方法、缓冲调度器和内存模块 Ceased WO2014190700A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP13885880.8A EP3007067B1 (en) 2013-05-30 2013-11-30 Method of memory access, buffer scheduler and memory module
US14/953,320 US9785551B2 (en) 2013-05-30 2015-11-28 Memory access method, buffer scheduler and memory module

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310209787.8A CN104216834B (zh) 2013-05-30 2013-05-30 一种内存访问的方法、缓冲调度器和内存模块
CN201310209787.8 2013-05-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/953,320 Continuation US9785551B2 (en) 2013-05-30 2015-11-28 Memory access method, buffer scheduler and memory module

Publications (1)

Publication Number Publication Date
WO2014190700A1 true WO2014190700A1 (zh) 2014-12-04

Family

ID=51987937

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/088252 Ceased WO2014190700A1 (zh) 2013-05-30 2013-11-30 一种内存访问的方法、缓冲调度器和内存模块

Country Status (4)

Country Link
US (1) US9785551B2 (zh)
EP (1) EP3007067B1 (zh)
CN (1) CN104216834B (zh)
WO (1) WO2014190700A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126126B (zh) * 2016-06-30 2021-01-15 联想(北京)有限公司 内存设备、电子设备及数据处理方法
US10193248B2 (en) 2016-08-31 2019-01-29 Crystal Group, Inc. System and method for retaining memory modules
US10734756B2 (en) 2018-08-10 2020-08-04 Crystal Group Inc. DIMM/expansion card retention method for highly kinematic environments
CN109739806A (zh) * 2018-12-28 2019-05-10 安谋科技(中国)有限公司 内存访问方法、内存访问控制器和片上系统
CN111292488A (zh) * 2020-02-13 2020-06-16 展讯通信(上海)有限公司 图像数据的处理方法、装置及存储介质
US12197938B1 (en) * 2021-12-10 2025-01-14 Amazon Technologies, Inc. Data migration with metadata
US12511234B2 (en) * 2023-11-09 2025-12-30 Nvidia Corporation Managing a programmable cache control mapping table in a system level cache

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042678A (zh) * 2006-03-23 2007-09-26 国际商业机器公司 数据处理的单元、系统和方法
CN101526925A (zh) * 2009-04-15 2009-09-09 成都市华为赛门铁克科技有限公司 一种缓存数据的处理方法及数据存储系统
CN102567415A (zh) * 2010-12-31 2012-07-11 百度在线网络技术(北京)有限公司 一种数据库的控制方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678803B2 (en) * 1999-11-03 2004-01-13 Micron Technology, Inc. Method and device to use memory access request tags
US7580914B2 (en) * 2003-12-24 2009-08-25 Intel Corporation Method and apparatus to improve execution of a stored program
US7251710B1 (en) * 2004-01-12 2007-07-31 Advanced Micro Devices, Inc. Cache memory subsystem including a fixed latency R/W pipeline
US7308523B1 (en) * 2006-04-10 2007-12-11 Pericom Semiconductor Corp. Flow-splitting and buffering PCI express switch to reduce head-of-line blocking
US20110296106A1 (en) * 2010-06-01 2011-12-01 Hsieh-Huan Yen System for realizing multi-port storage media based on a uasp protocol of a usb specification version 3.0 and method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042678A (zh) * 2006-03-23 2007-09-26 国际商业机器公司 数据处理的单元、系统和方法
CN101526925A (zh) * 2009-04-15 2009-09-09 成都市华为赛门铁克科技有限公司 一种缓存数据的处理方法及数据存储系统
CN102567415A (zh) * 2010-12-31 2012-07-11 百度在线网络技术(北京)有限公司 一种数据库的控制方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3007067A4 *

Also Published As

Publication number Publication date
CN104216834B (zh) 2017-10-10
US9785551B2 (en) 2017-10-10
EP3007067B1 (en) 2019-09-18
EP3007067A4 (en) 2016-07-06
US20160085670A1 (en) 2016-03-24
CN104216834A (zh) 2014-12-17
EP3007067A1 (en) 2016-04-13

Similar Documents

Publication Publication Date Title
CN105933376B (zh) 一种数据操作方法,服务器及存储系统
KR101994021B1 (ko) 파일 조작 방법 및 장치
TWI549060B (zh) Access methods and devices for virtual machine data
WO2014190700A1 (zh) 一种内存访问的方法、缓冲调度器和内存模块
CN104166628B (zh) 管理内存的方法、装置和系统
CN104657224B (zh) 一种进程间通信的方法和装置
US20190347167A1 (en) Primary Node-Standby Node Data Transmission Method, Control Node, and Database System
EP3608790B1 (en) Modifying nvme physical region page list pointers and data pointers to facilitate routing of pcie memory requests
WO2017114206A1 (zh) 短链接处理方法、装置及短链接服务器
CN116644006B (zh) 一种内存页面管理方法、系统、装置、设备及计算机介质
US9483523B2 (en) Information processing apparatus, distributed processing system, and distributed processing method
CN103970678B (zh) 目录设计方法及装置
US10073809B2 (en) Technologies for scalable remotely accessible memory segments
CN110837499A (zh) 数据访问处理方法、装置、电子设备和存储介质
TW201502972A (zh) 共享記憶體系統
WO2022206170A1 (zh) 一种数据处理方法、服务端及系统
CN118779280B (zh) 降低总线负载的方法、cxl模组、处理系统和处理器芯片
CN116340200A (zh) 地址映射获取方法、装置、电子设备及可读存储介质
CN118760627B (zh) 地址更新装置及方法、处理器和芯片
CN105765542B (zh) 访问文件的方法、分布式存储系统和存储节点
CN112395220A (zh) 共享存储控制器的处理方法、装置、系统及存储控制器
CN121411708B (zh) 一种数据写入方法、读取方法、装置及电子设备
CN111865794A (zh) 一种逻辑端口的关联方法、系统、设备及数据传输系统
CN104216758B (zh) 一种读写操作性能优化方法以及装置
CN117609367A (zh) 数据同步方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13885880

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2013885880

Country of ref document: EP