CN113791822A - 多内存通道的内存存取装置、方法和数据处理设备 - Google Patents

多内存通道的内存存取装置、方法和数据处理设备 Download PDF

Info

Publication number
CN113791822A
CN113791822A CN202111344052.7A CN202111344052A CN113791822A CN 113791822 A CN113791822 A CN 113791822A CN 202111344052 A CN202111344052 A CN 202111344052A CN 113791822 A CN113791822 A CN 113791822A
Authority
CN
China
Prior art keywords
memory
index
physical memory
memory channel
channel
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
CN202111344052.7A
Other languages
English (en)
Other versions
CN113791822B (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.)
Muxi Integrated Circuit Shanghai Co ltd
Original Assignee
Muxi Integrated Circuit Shanghai 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 Muxi Integrated Circuit Shanghai Co ltd filed Critical Muxi Integrated Circuit Shanghai Co ltd
Priority to CN202111344052.7A priority Critical patent/CN113791822B/zh
Publication of CN113791822A publication Critical patent/CN113791822A/zh
Application granted granted Critical
Publication of CN113791822B publication Critical patent/CN113791822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了一种多内存通道的内存存取装置、方法和数据处理设备,涉及计算机内存访问技术领域,该存取装置通过配置寄存器设置虚拟内存通道和物理内存通道的配置信息,配置信息包括虚拟内存通道索引和物理内存通道索引之间的映射关系;内存管理单元基于内存访问请求的物理内存地址和配置信息计算得到目标虚拟内存通道索引,基于目标虚拟内存通道索引和映射关系计算得到目标虚拟内存通道索引映射的目标物理内存通道索引;存储控制器与物理内存通道对应设置,控制对存储器的存取访问;其中,与目标物理内存通道索引对应的物理内存通道所对应设置的存储控制器根据内存访问请求的物理内存地址对目标存储器中的目标数据进行存取访问。

Description

多内存通道的内存存取装置、方法和数据处理设备
技术领域
本申请涉及计算机内存访问技术领域,具体涉及一种多内存通道的内存存取装置、方法和数据处理设备。
背景技术
随着计算能力的提升,诸如中央处理器(Central Processing Unit,简称CPU)、图形处理器(Graphics Processing Unit,简称GPU)、人工智能(Artificial Intelligence,简称AI)视频编解码等芯片的内存通道越来越多,例如第一颗7nm GPU芯片AMD Vega20就包含了32个内存通道,未来出现包含更多内存通道的芯片将是大趋势。
然而,芯片制造在14 nm以下高工艺制程,良品率会急剧下降。当芯片中个别内存通道在制造过程中损坏,也会带来良品率急剧下降,从而大幅度提高芯片成本。此外,多内存通道芯片随着服务年限的增加,其中一个或者多个内存通道也可能损坏,从而导致芯片无法继续使用,降低了计算系统的可靠性。另外,在很多应用场景中,为了降低功耗,芯片需要工作在省电模式,而传统多内存通道芯片无法实现仅使用其中一部分内存通道。这些问题都对多内存通道芯片的应用发展提出了挑战。
发明内容
有鉴于此,本申请提出一种多内存通道的内存存取装置、方法和数据处理设备,用于实现芯片的多内存通道的运行时灵活配置,从而提高多内存通道芯片的制造良品率、物理服务年限和系统可靠性。
第一方面,本申请提出一种多内存通道的内存存取装置,包括:
配置寄存器,用于设置虚拟内存通道和物理内存通道的配置信息,所述配置信息包括虚拟内存通道索引和物理内存通道索引之间的映射关系;
内存管理单元,用于基于内存访问请求的物理内存地址和所述配置信息,计算得到目标虚拟内存通道索引;
所述内存管理单元还用于基于所述目标虚拟内存通道索引和所述映射关系,计算得到所述目标虚拟内存通道索引映射的目标物理内存通道索引;
存储控制器,与所述物理内存通道对应设置,用于控制对存储器的存取访问;
所述存储控制器,还用于根据所述内存访问请求的物理内存地址,经由所述目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问。
作为本申请一个优选的实施方式,所述配置信息还包括虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码,其中,所述虚拟内存通道数不大于所述可用的物理内存通道数,所述内存通道使能掩码用于指示与所述可用的物理内存通道数对应的可读写物理内存通道。
作为本申请一个优选的实施方式,所述配置信息还包括所述目标存储器中的寄存器库的数量和行大小。
作为本申请一个优选的实施方式,所述配置信息还包括虚拟内存通道使能标识,所述虚拟内存通道使能标识用于指示是否启用所述虚拟内存通道。
作为本申请一个优选的实施方式,所述内存管理单元用于将所述物理内存地址除以所述寄存器库的数量与行大小的乘积得到的商与所述虚拟内存通道数求模的结果,作为所述目标虚拟内存通道索引。
作为本申请一个优选的实施方式,所述存储控制器,还用于根据所述内存访问请求的物理内存地址,经由所述目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问包括:
所述存储控制器根据所述物理内存地址,计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移;
所述存储控制器基于所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移,对所述目标数据进行存取访问。
作为本申请一个优选的实施方式,所述存储控制器根据所述物理内存地址,计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移包括:
将所述物理内存地址除以所述寄存器库的行大小的商与寄存器库掩码进行逻辑与运算的结果,作为所述寄存器库索引,其中,所述寄存器库掩码为所述寄存器库的数量减1;
将所述物理内存地址除以所述寄存器库的行大小、寄存器库的数量和虚拟内存通道数三者的乘积的商,作为所述目标数据所在存储区域的行索引;
将所述物理内存地址与所述寄存器库的行大小减1的差进行逻辑与运算的结果,作为所述目标数据所在存储区域的行内地址偏移。
作为本申请一个优选的实施方式,该存取装置还包括:
缓存单元,用于将所述内存访问请求转发至所述存储控制器。
作为本申请一个优选的实施方式,所述缓存单元包括二级缓存和三级缓存中的一者或两者。
作为本申请一个优选的实施方式,所述配置寄存器还用于为一个或多个处理核心设置虚拟内存通道和物理内存通道的多个配置信息,多个所述配置信息包括虚拟内存通道索引和物理内存通道索引之间不同的映射关系。
作为本申请一个优选的实施方式,多个所述配置信息还包括对应一个或多个所述处理核心的多个不同的虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码。
第二方面,本申请提出一种多内存通道的内存存取方法,包括以下步骤:
在配置寄存器中设置虚拟内存通道和物理内存通道的配置信息,所述配置信息包括虚拟内存通道索引和物理内存通道索引之间的映射关系;
基于内存访问请求的物理内存地址和所述配置信息,计算得到目标虚拟内存通道索引;
基于所述目标虚拟内存通道索引和所述映射关系,计算得到所述目标虚拟内存通道索引映射的目标物理内存通道索引;
根据所述内存访问请求的物理内存地址,经由所述目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问。
作为本申请一个优选的实施方式,所述配置信息还包括虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码,其中,所述虚拟内存通道数不大于所述可用的物理内存通道数,所述内存通道使能掩码用于指示与所述可用的物理内存通道数对应的可读写物理内存通道。
作为本申请一个优选的实施方式,所述配置信息还包括所述目标存储器中的寄存器库的数量和行大小。
作为本申请一个优选的实施方式,所述配置信息还包括虚拟内存通道使能标识,所述虚拟内存通道使能标识用于指示是否启用所述虚拟内存通道。
作为本申请一个优选的实施方式,所述基于内存访问请求的物理内存地址和所述配置信息,计算得到目标虚拟内存通道索引包括:
将所述物理内存地址除以所述寄存器库的数量与行大小的乘积的商与所述虚拟内存通道数求模的结果,作为所述目标虚拟内存通道索引。
作为本申请一个优选的实施方式,所述根据所述内存访问请求的物理内存地址,经由所述目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问包括:
根据所述物理内存地址,计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移;
基于所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移,对所述目标数据进行存取访问。
作为本申请一个优选的实施方式,所述根据所述物理内存地址计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移包括:
将所述物理内存地址除以所述寄存器库的行大小的商与寄存器库掩码进行逻辑与运算的结果,作为所述寄存器库索引,其中,所述寄存器库掩码为所述寄存器库的数量减1;
将所述物理内存地址除以所述寄存器库的行大小、寄存器库的数量和虚拟内存通道数三者的乘积的商,作为所述行索引;
将所述物理内存地址与所述寄存器库的行大小减1的差进行逻辑与运算的结果,作为所述目标数据所在存储区域的行内地址偏移。
作为本申请一个优选的实施方式,所述计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移包括:通过所述目标物理内存通道索引对应的物理内存通道所对应设置的存储控制器计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移。
作为本申请一个优选的实施方式,所述基于所述目标虚拟内存通道索引和所述映射关系,计算得到所述目标虚拟内存通道索引映射的目标物理内存通道索引包括:通过内存管理单元计算得到所述目标虚拟内存通道索引映射的目标物理内存通道索引。
作为本申请一个优选的实施方式,所述在配置寄存器中设置虚拟内存通道和物理内存通道的配置信息还包括:为一个或多个处理核心在配置寄存器中设置虚拟内存通道和物理内存通道的多个配置信息,多个所述配置信息包括虚拟内存通道索引和物理内存通道索引之间不同的映射关系。
作为本申请一个优选的实施方式,多个所述配置信息还包括对应一个或多个所述处理核心的多个不同的虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码。
作为本申请一个优选的实施方式,根据所述内存访问请求的物理内存地址,经由所述目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问还包括:经由缓存单元将所述内存访问请求转发至与所述目标物理内存通道索引对应的物理内存通道所对应设置的存储控制器。
第三方面,本申请提出了一种数据处理设备,包括:一个或多个处理单元和第一方面所述的多内存通道的内存存取装置。
作为本申请一个优选的实施方式,所述数据处理设备包括中央处理单元、图形处理单元、数字处理单元、现场可编程门阵列、人工智能芯片、视频编解码芯片中的一者或多者。
相对于现有技术,本申请至少具有如下有益效果:
(1)即使在芯片出现内存通道损坏时,也能通过对剩余可用物理内存通道的灵活配置,确保内存数据读写正常,从而可以提高芯片制造的良品率,并提高芯片物理服务年限和系统可靠性;
(2)可以实现虚拟化系统对资源的灵活分配,实现多用户虚拟机任意划分资源,达到最佳资源分配,还可以实现虚拟机之间的物理隔离,并且还可以无缝切换多内存通道系统的低功耗状态和高功耗状态时的多内存系统配置。
附图说明
结合附图,并通过以下非限制性实施方式的详细描述将更充分地理解本申请的特征、目的和优点,其中:
图1是现有的具有多内存通道的GPU芯片100的一种示例性结构;
图2是多内存通道中一种常见的寄存器库结构示意图;
图3是多内存通道系统中一种32位物理内存地址的示例性结构示意图;
图4是根据本申请一实施例的多内存通道的内存存取装置400的结构示意图;
图5是根据本申请一实施例的多内存通道的内存存取方法的流程示意图;
图6是根据本申请一实施例的多内存通道的内存存取方法的具体步骤的流程示意图;
图7是根据本申请另一实施例的多内存通道的内存存取方法的具体步骤的流程示意图;
图8是根据本申请一实施例的数据处理设备800的结构示意图;
图9-图12是在8内存通道的GPU或CPU芯片中的具体应用示意图。
具体实施方式
下面通过实施例,并结合附图,对本申请的技术方案进行清楚、完整地说明,但是本申请不限于以下所描述的实施例。基于以下实施例,本领域普通技术人员在没有创造性劳动的前提下所获得的所有其它实施例,都属于本申请保护的范围。为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
应理解,本申请中诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件或其组合的存在,并不排除一个或多个其它特征、数字、步骤、行为、部件或其组合存在或被添加的可能性。本申请中“多个”通常可以解释为两个或两个以上的含义。
图1是现有的具有多内存通道的GPU芯片100的一种示例性结构。如图1所示,GPU芯片100通常包含一个或者多个流处理器110,流处理器110还包括调度器111、一个或多个单指令多线程处理器112、一个或多个一级缓存113、内存管理单元114和共享存储115。流处理器110通过交叉开关矩阵或者交叉开关网络116与一个或多个二级缓存117以及PCIE控制器120进行数据的读写。
一个或多个二级缓存117通过对应连接的存储控制器118对连接的存储器119进行读写访问。每个二级缓存117和与之对应连接的存储控制器118、存储器119即构成了4内存通道。除此之外,GPU芯片100还可以包含视频编解码121和/或其他处理核心(图中未示出)。
需要说明的是,图1仅示例性地描述了4个单指令多线程处理器112、4个二级缓存117、4个存储控制器118的GPU芯片结构,实际上,GPU芯片100还可以包括更多数量的单指令多线程处理器112、二级缓存117、存储控制器118,从而可以实现更多内存通道的存储结构。此外,除了图1所描述的GPU芯片,多内存通道芯片还可以包括并不限于CPU、AI、现场可编程门阵列、视频编解码等芯片,这些芯片结构中,涉及多内存通道的存储结构相类似,在此不再赘述。
本申请实施例仅以多内存通道的GPU芯片为例进行实施方式描述,但不表示本申请实施例的技术方案仅适用于图1所述的GPU芯片,上述图1所示GPU结构不能理解为限制本申请的保护范围。
图1中,内存管理单元114通常包含旁路转换缓冲器和地址翻译部件。旁路转换缓冲器,又称为页表缓冲,用于存放虚拟地址到物理内存地址的转换表,地址翻译部件用于基于旁路转换缓冲器将芯片处理核心发送的读写指令对应的虚拟地址翻译为物理内存地址。内存管理单元将虚拟地址翻译为物理内存地址之后,通知对应的存储控制器根据物理内存地址去对应的存储单元读写数据。
多内存通道芯片可以包含1个或多个内存通道,例如不同的计算系统可能根据需求采用1、2、4、8、16、32组等多种内存通道数量。如图2所示,为了提高内存读取的效率,通常将每片内存划分为多个寄存器库(称为BANK),每个BANK内部有多个行(称为ROW),每行的行大小ROW_SIZE通常为64、128或者256字节。每个内存通道对应的存储器可以包括多个BANK。
对于每个BANK的一个行,假如行大小ROW_SIZE 为256字节,寄存器库数量NUM_BANKS为4,内存通道数量NUM_CHANNLES为4,则内存一个页面的空间大小为4KB,即 ROW_SIZE * NUM_BANKS* NUM_CHANNLES= 256 * 4 *4 = 4096字节。
其中,内存的通道数,实际上是一种内存的带宽加速技术,带宽倍增。最常见的是双通道,民用级电脑都支持。服务器还有3通道和4通道。下面以双通道为例,解释一下多通道技术:
双通道,就是在北桥芯片级里设计两个内存控制器,这两个内存控制器可相互独立工作,每个控制器控制一个内存通道。
图3是多内存通道系统中一种32位物理内存地址的示例性结构示意图。如图3所示,这种示例性的物理内存地址通常包括寄存器库索引、行索引、内存通道索引和行内地址偏移。其中,内存通道索引是指读写指令指定的物理内存通道号,寄存器库索引是指读写的目标数据所在的寄存器库编号,行索引是指目标数据位于当前寄存器库中的行地址,行内地址偏移是指目标数据在当前行中的偏移地址。
作为一种示例的地址计算方式,图3中以32位地址中31-12位表示为行索引,11-10位表示寄存器库索引,9-8位表示内存通道索引,7-0表示行内地址偏移。需要说明的是,本申请并不对物理内存地址的具体编码方式进行限定。
如前所述,上述具有多内存通道的芯片一旦部分内存通道发生损坏,并且每个芯片发生损坏的通道可能不同,而传统的多内存通道芯片无法实现仅使用其中一部分内存通道,只能将内存区域平均分配到全部内存通道,因此,这种部分内存通道的损坏会极大提高芯片制造和使用成本,降低计算系统的可靠性。为此,本申请实施例提出一种改进后的多内存通道的存取方式,通过定义虚拟内存通道和对芯片中多内存通道的运行时程序化配置,实现虚拟化系统对资源的灵活分配,从而即便发生个别通道损坏的情形,也能确保正确的内存数据读写。
图4是根据本申请一实施例的多内存通道的内存存取装置400的结构示意图。如图4所示,多内存通道的内存存取装置400包括:
配置寄存器410,用于设置虚拟内存通道和物理内存通道的配置信息,该配置信息包括虚拟内存通道索引和物理内存通道索引之间的映射关系。
内存管理单元420,用于基于内存访问请求的物理内存地址和该配置信息,计算得到目标虚拟内存通道索引。
内存管理单元420,具体用于基于目标虚拟内存通道索引和映射关系计算,得到目标虚拟内存通道索引映射的目标物理内存通道索引。
存储控制器430,与所述物理内存通道对应设置,用于控制对存储器的存取访问。其中,存储控制器430具体用于根据内存访问请求的物理内存地址,经由目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问。
本申请实施例通过配置寄存器定义物理内存通道和虚拟内存通道之间的映射关系,从而将芯片中多个物理内存通道映射到虚拟内存通道,通过对多内存通道的运行时程序化配置,来自处理核心的内存访问请求的物理内存地址仅需指定到虚拟内存通道,而无需指定具体的物理内存通道,这样即使出现内存通道的损坏,也能通过对剩余可用物理内存通道的配置,确保内存数据读写正常,从而可以提高芯片制造的良品率,并提高芯片物理服务年限和系统可靠性。进一步地,本实施例的技术方案还可以实现虚拟化系统对资源的灵活分配,实现多用户虚拟机任意划分资源,达到最佳资源分配,并且实现虚拟机之间的物理隔离,还可以无缝切换多内存通道系统的低功耗状态和高功耗状态时的多内存系统配置。
本实施例中,配置寄存器410可以采用一个或多个通用目的寄存器或者其他专用寄存器实现。配置寄存器410还可以用16位、32位或者64位进行上述配置信息的定义。需要说明的是,图4仅示意性地示出了4个内存通道的示例,实际上本实施例的方案不限于内存通道的数量,可以扩展到更多个内存通道的实施方式。
本实施例中,内存管理单元420可以是在现有的内存管理单元基础上改进软硬件结构,其可以包括现有的内存管理单元通常包含的旁路转换缓冲和地址翻译部件等。在一些实施方式中,内存管理单元420也可以包括一个或多个,可以针对多个处理核心分别实现可配置的内存通道配置管理。
在一些实施方式中,该配置信息还包括虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码,其中,虚拟内存通道数不大于可用的物理内存通道数,内存通道使能掩码用于指示与可用的物理内存通道数对应的可读写物理内存通道。其中,虚拟内存通道数是指当前配置信息中定义的虚拟内存通道数量,可用的物理内存通道数只是当前启用的物理内存通道数量,其与内存通道使能掩码的指示相一致。
在一些实施方式中,该配置信息还包括目标存储器中的寄存器库的数量和行大小。
在一些实施方式中,配置信息还包括虚拟内存通道使能标识,该虚拟内存通道使能标识用于指示是否启用虚拟内存通道。
在一些实施方式中,内存管理单元用于将物理内存地址除以寄存器库的数量与行大小的乘积的商与虚拟内存通道数求模的结果,作为目标虚拟内存通道索引。
在一些实施方式中,存储控制器,还用于根据内存访问请求的物理内存地址,经由目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问包括:
存储控制器根据物理内存地址,计算得到目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移;
存储控制器基于目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移实现对目标数据的存取访问。
在一些实施方式中,存储控制器根据物理内存地址,计算得到目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移包括:
将物理内存地址除以寄存器库的行大小的商与寄存器库掩码进行逻辑与运算的结果,作为寄存器库索引,其中,存器库掩码为寄存器库的数量减1;
将物理内存地址除以寄存器库的行大小、寄存器库的数量和虚拟内存通道数三者的乘积的商,作为目标数据所在存储区域的行索引;
将物理内存地址与寄存器库的行大小减1的差进行逻辑与运算的结果,作为目标数据所在存储区域的行内地址偏移。
在一些实施方式中,该内存存取装置400还可以包括(图4中未示出):缓存单元,用于将内存访问请求转发至与存储控制器430。在一些实施方式中,该缓存单元可以包括处理芯片中的二级缓存和三级缓存的一者或两者。
在一些实施方式中,配置寄存器还用于为一个或多个处理核心设置虚拟内存通道和物理内存通道的多个配置信息,多个配置信息包括虚拟内存通道索引和物理内存通道索引之间不同的映射关系。
在一些实施方式中,多个配置信息还包括对应一个或多个处理核心的多个不同的虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码。
下面结合8内存通道的多内存通道配置寄存器描述本申请实施例的具体实施方式。
内存通道配置寄存器
表1和表2是采用2个32位寄存器实现物理内存通道和虚拟内存通道的配置信息的示例。本示例中,内存通道配置寄存器1配置虚拟内存通道和物理内存通道的基本配置信息,内存通道配置寄存器2配置虚拟内存通道索引和物理内存通道索引的映射关系。
表1(内存通道配置寄存器1)
Figure 161612DEST_PATH_IMAGE001
表2 (内存通道配置寄存器2)
Figure 295921DEST_PATH_IMAGE002
基于上述表1和表2的配置寄存器的定义,如果第一个内存条发生故障(编号从0开始),则计算系统中只有7个内存通道可用,假设即将要访问的目标数据的48bits物理内存地址PYH_ADDR为0x0002 3BAC 829C。
内存通道配置寄存器1的配置信息为:
物理内存通道数NUM_PHY_MC = 0x8;
虚拟内存通道数NUM_VIRTURAL_MC = 0x7;
虚拟内存通道使能标识ENABLE_CONFIG = 0x1;
保留位Reserved = 0x0 (该数据域将被忽略);
内存通道使能掩码MC_ENABLE_MASK = 0xFD,即1111 1101;
寄存器库数量NUM_BANKS = 0x4;
行大小ROW_SIZE = 0(对应256 BYTES)。
内存通道配置寄存器2的配置信息为:
虚拟内存通道0 :VIRTUAL_0_MAP_PHY_MC = 0x0;
虚拟内存通道1 :VIRTUAL_1_MAP_PHY_MC = 0x2;
虚拟内存通道2 :VIRTUAL_2_MAP_PHY_MC = 0x3;
虚拟内存通道3 :VIRTUAL_3_MAP_PHY_MC = 0x4;
虚拟内存通道4 :VIRTUAL_4_MAP_PHY_MC = 0x5;
虚拟内存通道5 :VIRTUAL_5_MAP_PHY_MC = 0x6;
虚拟内存通道6 :VIRTUAL_6_MAP_PHY_MC = 0x7;
虚拟内存通道7 :VIRTUAL_7_MAP_PHY_MC = 0x0 (该数据域将被忽略);保留位Reserved = 0x0(该数据域将被忽略)。
计算目标虚拟内存通道索引
内存管理单元根据物理内存地址的编码方式,对目标虚拟内存通道索引VIRTUAL_MC_INDEX可以采用如下公式计算得到:
VIRTUAL_MC_INDEX=PHY_ADDR / (NUM_BANKS * ROW_SIZE_BYTES) % NUM_VIRTURAL_MC。
以上述物理内存地址0x0002 3BAC 829C为例,根据上述内存通道配置寄存器1中的相关配置信息,寄存器库的数量NUM_BANKS = 0x4,寄存器库的行大小ROW_SIZE = 256字节,虚拟内存通道数NUM_VIRTURAL_MC = 0x7,代入上述公式得到:
VIRTUAL_MC_INDEX = 0x0002 3BAC 829C / (4 * 256)% 7 = 6
即根据该物理内存地址和配置信息所计算得到的目标虚拟内存通道索引为6。
计算目标物理内存通道索引
内存管理单元在计算得到物理内存地址对应的目标虚拟内存通道索引后,根据内存通道配置寄存器2中配置的虚拟内存通道索引和物理内存通道索引的映射关系,可以计算得到该目标虚拟内存通道索引映射的目标物理内存通道索引PHY_MC_INDEX。
以上述物理内存地址0x0002 3BAC 829C为例,上述步骤中计算得到的VIRTUAL_MC_INDEX为6时,物理内存通道索引的对应映射关系为VIRTUAL_6_MAP_PHY_MC=7,因此目标物理内存通道索引PHY_MC_INDEX = 7。
计算寄存器库索引、行索引和行内地址偏移
在计算得到目标物理内存通道索引后,为了实现对目标数据的存取访问,内存管理单元需要将包含物理内存地址和数据的内存访问请求发送到该目标物理内存通道索引对应的物理内存通道。
在一些实施方式中,对于CPU芯片,内存管理单元可以先将请求发送到高速总线;对于GPU芯片,内存管理单元可以先将请求发送到交叉开关矩阵或者交叉开关网络。随后,高速总线或者交叉开关矩阵或者交叉开关网络将请求转发到二级缓存或者三级缓存。二级缓存或者三级缓存将请求发送到该目标物理内存通道索引对应映射的存储控制器。该存储控制器负责计算寄存器库索引、行索引和行内地址偏移。计算过程如下:
首先,定义寄存器库掩码BANK_MASK = 寄存器库数量NUM_BANKS -1。
则寄存器库索引BANK_INDEX可以采用如下公式计算得到:
BANK_INDEX=(PYH_ADDR/ROW_SIZE_BYTES)& BANK_MASK;
行索引ROW_INDEX可以采用如下公式计算得到:
ROW_INDEX = PYH_ADDR/(ROW_SIZE*NUM_BANKS* NUM_VIRTURAL_MC);
行内地址偏移OFFSET_IN_ROW可以采用如下公式计算得到:
OFFSET_IN_ROW = PYH_ADDR & (ROW_SIZE-1)。
继续以上述物理内存地址0x0002 3BAC 829C为例。本示例中,NUM_BANKS = 4,BANK_MASK=3,ROW_SIZE = 256,NUM_VIRTURAL_MC=7,因此可以计算得到:
BANK_INDEX=(0x0002 3BAC 829C /256)&3=2;
ROW_INDEX = 0x0002 3BAC 829C / ( 256 * 4 * 7) = 0x51AAE , 对应10进制即为334510(从0开始计数);
OFFSET_IN_ROW = 0x0002 3BAC 829C &(256-1)= 0x0002 3BAC 829C &(0xFF)=0x9C (从0开始计数)。
获得上述计算结果后,该存储控制器即可根据寄存器库索引、行索引和行内地址偏移实现去对应的存储单元中实现对目标数据的存取访问。
图5是根据本申请一实施例的多内存通道的内存存取方法的流程示意图。如图5所示,该多内存通道的内存存取方法可以包括:
步骤S510,在配置寄存器中设置虚拟内存通道和物理内存通道的配置信息,该配置信息包括虚拟内存通道索引和物理内存通道索引之间的映射关系;
步骤S520,基于内存访问请求的物理内存地址和该配置信息,计算得到目标虚拟内存通道索引;
步骤S530,基于目标虚拟内存通道索引和映射关系,计算得到目标虚拟内存通道索引映射的目标物理内存通道索引;
步骤S540,根据内存访问请求的物理内存地址,经由目标物理内存通道索引对应的物理内存通道对目标存储器中的目标数据进行存取访问。
在一些实施方式中,步骤S510中,该配置信息还包括虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码,其中,虚拟内存通道数不大于可用的物理内存通道数,内存通道使能掩码用于指示与可用的物理内存通道数对应的可读写物理内存通道。
在一些实施方式中,步骤S510中,该配置信息还包括目标存储器中的寄存器的库数量和行大小。
在一些实施方式中,步骤S510中,该配置信息还包括虚拟内存通道使能标识,该虚拟内存通道使能标识用于指示是否启用虚拟内存通道。
在一些实施方式中,步骤S520中,基于内存访问请求的物理内存地址和配置信息,计算得到目标虚拟内存通道索引可以包括:将物理内存地址除以寄存器库的数量与行大小的乘积的商与虚拟内存通道数求模的结果,作为目标虚拟内存通道索引。
在一些实施方式中,如图6所示,步骤S540中,根据内存访问请求的物理内存地址,经由目标物理内存通道索引对应的物理内存通道对目标存储器中的目标数据进行存取访问可以包括:
步骤S610,根据物理内存地址计算得到目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移;
步骤S620,基于寄存器库索引、行索引和行内地址偏移,通过目标物理内存通道索引对应的物理内存通道所对应设置的存储控制器实现对目标数据的存取访问。
在一些实施方式中,如图7所示,步骤S610中,根据物理内存地址计算得到目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移可以包括:
步骤S710,将物理内存地址除以寄存器库的行大小的商与寄存器库掩码进行逻辑与运算的结果,作为寄存器库索引,其中,寄存器库掩码为寄存器库的数量减1;
步骤S720,将物理内存地址除以寄存器库的行大小、寄存器库的数量和虚拟内存通道数三者的乘积的商,作为目标数据所在存储区域的行索引;
步骤S730,将物理内存地址与寄存器库的行大小减1的差进行逻辑与运算的结果,作为目标数据所在存储区域的行内地址偏移。
在一些实施方式中,通过步骤S520和S530计算得到目标虚拟内存通道索引映射的目标物理内存通道索引是通过内存管理单元计算得到。
在一些实施方式中,通过步骤S610计算得到目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移是通过目标物理内存通道索引对应的物理内存通道所对应设置的存储控制器计算得到。
在一些实施方式中,在配置寄存器中设置虚拟内存通道和物理内存通道的配置信息还包括:为一个或多个处理核心在配置寄存器中设置虚拟内存通道和物理内存通道的多个配置信息,多个配置信息包括虚拟内存通道索引和物理内存通道索引之间不同的映射关系。
在一些实施方式中,多个配置信息还包括对应一个或多个处理核心的多个不同的虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码。
从而,在多个处理核心的多内存通道芯片中,可以针对一个或多个处理核心实现多种内存通道的灵活配置,满足虚拟化系统对资源的灵活配置需求。
在一些实施方式中,根据内存访问请求的物理内存地址,经由目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问还可以包括:经由缓存单元将内存访问请求转发至与目标物理内存通道索引对应的物理内存通道所对应设置的存储控制器。缓存单元可以包括二级缓存和三级缓存中的一者或二者。
图8是根据本申请一实施例的数据处理设备800的结构示意图。如图8所示,该数据处理设备800包括:一个或多个处理单元810及如前述任一实施例所述的多内存通道的内存存取装置820。
其中,一个或多个处理单元810可以包括但不限于各类处理芯片中处理器核心,例如单指令多线程处理器。
在一些实施方式中,数据处理设备可以包括中央处理单元、图形处理单元、数字处理单元、现场可编程门阵列、人工智能芯片、视频编解码芯片中的一种或多种。
图9-图12是在8内存通道的GPU或CPU芯片中的具体应用示意图。其中,图9描述了现有技术中的内存通道存取方式,如图9所示,原始GPU或CPU芯片中的8内存通道,所有内存通道0-7都可正常工作,计算核心A和计算核心B可以访问所有内存通道的指定存储单元。
图10-图12描述了采用本申请实施例的可配置内存通道存取方式。如图10所示,采用本申请实施例的灵活的内存通道配置,通过配置寄存器配置虚拟内存通道映射的可用物理内存通道,可以使得计算核心A仅仅能够都读写内存通道0-2,计算核心B 只能读写内存通道3-7,从而实现资源的灵活分配。
如图11所示,假设多内存通道GPU或CPU芯片中内存通道2和7损坏(或者对应的二级缓存2和7损坏),采用本申请实施例的灵活的内存通道配置,通过配置寄存器配置虚拟内存通道映射的可用物理内存通道,可以使得计算核心A仅仅能够都读写内存通道0-1,计算核心B 只能读写内存通道3-6,可以有效解决部分通道损坏导致的芯片良品率低的问题,提高计算系统的物理服务年限和系统可靠性。
如图12所示,假设多内存通道GPU或CPU芯片中内存通道5(或者对应的二级缓存5损坏),采用本申请实施例的灵活的内存通道配置,通过配置寄存器配置虚拟内存通道映射的可用物理内存通道,可以使得计算核心A和B都能够读写内存通道0-4和6-7的指定存储单元,计算核心A和B的数据都不会被分配到内存通道5。
本申请实施例提出的多内存通道的存取装置、方法以及数据处理设备可以通过配置寄存器定义物理内存通道和虚拟内存通道之间的映射关系,从而将芯片中多内存通道映射到虚拟内存通道,实现对多内存通道的运行时程序化配置,使得来自处理核心的内存访问请求的物理内存地址仅需指定到虚拟内存通道,而无需指定具体的物理内存通道。相比现有技术,本申请实施例可以在处理芯片即使出现内存通道的损坏时,也能通过对剩余可用物理内存通道的灵活配置,确保内存数据读写正常,从而可以提高芯片制造良品率,并提高芯片物理服务年限和系统可靠性。
进一步地,本申请实施例还可以实现虚拟化系统对资源的灵活分配,在多核处理芯片中,每个计算核心或者应用进程都可以绑定一个或者多个的内存通道配置,实现多用户虚拟机任意划分资源,达到最佳资源分配,并且实现虚拟机之间的物理隔离,并且还可以无缝切换多内存通道系统的低功耗状态和高功耗状态时的多内存系统配置。
本申请实施例中所涉及到的步骤、单元或模块可以通过软件、硬件或其结合的方式实现。所描述的步骤、单元或模块也可以实现在计算处理设备的处理器中,其中单元或模块的名称并不构成对该单元或模块本身的限定。
本申请的实施方式并不限于上述实施例所述,在不偏离本申请的精神和范围的情况下,本领域普通技术人员可以在形式和细节上对本申请做出各种改变和改进,这些均被认为落入了本申请的保护范围。

Claims (25)

1.一种多内存通道的内存存取装置,其特征在于,包括:
配置寄存器,用于设置虚拟内存通道和物理内存通道的配置信息,所述配置信息包括虚拟内存通道索引和物理内存通道索引之间的映射关系;
内存管理单元,用于基于内存访问请求的物理内存地址和所述配置信息,计算得到目标虚拟内存通道索引;
所述内存管理单元还用于基于所述目标虚拟内存通道索引和所述映射关系,计算得到所述目标虚拟内存通道索引映射的目标物理内存通道索引;
存储控制器,与所述物理内存通道对应设置,用于控制对存储器的存取访问;
所述存储控制器,还用于根据所述内存访问请求的物理内存地址,经由所述目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问。
2.根据权利要求1所述的多内存通道的内存存取装置,其特征在于,所述配置信息还包括虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码,其中,所述虚拟内存通道数不大于所述可用的物理内存通道数,所述内存通道使能掩码用于指示与所述可用的物理内存通道数对应的可读写物理内存通道。
3.根据权利要求2所述的多内存通道的内存存取装置,其特征在于,所述配置信息还包括所述目标存储器中的寄存器库的数量和行大小。
4.根据权利要求3所述的多内存通道的内存存取装置,其特征在于,所述配置信息还包括虚拟内存通道使能标识,所述虚拟内存通道使能标识用于指示是否启用所述虚拟内存通道。
5.根据权利要求3所述的多内存通道的内存存取装置,其特征在于,所述内存管理单元用于将所述物理内存地址除以所述寄存器库的数量与行大小的乘积得到的商与所述虚拟内存通道数求模的结果,作为所述目标虚拟内存通道索引。
6.根据权利要求1所述的多内存通道的内存存取装置,其特征在于,所述存储控制器,还用于根据所述内存访问请求的物理内存地址,经由所述目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问包括:
所述存储控制器根据所述物理内存地址,计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移;
所述存储控制器基于所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移,对所述目标数据进行存取访问。
7.根据权利要求6所述的多内存通道的内存存取装置,其特征在于,所述存储控制器根据所述物理内存地址,计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移包括:
将所述物理内存地址除以所述寄存器库的行大小的商与寄存器库掩码进行逻辑与运算的结果,作为所述寄存器库索引,其中,所述寄存器库掩码为所述寄存器库的数量减1;
将所述物理内存地址除以所述寄存器库的行大小、寄存器库的数量和虚拟内存通道数三者的乘积的商,作为所述目标数据所在存储区域的行索引;
将所述物理内存地址与所述寄存器库的行大小减1的差进行逻辑与运算的结果,作为所述目标数据所在存储区域的行内地址偏移。
8.根据权利要求1所述的多内存通道的内存存取装置,其特征在于,还包括:
缓存单元,用于将所述内存访问请求转发至所述存储控制器。
9.根据权利要求8所述的多内存通道的内存存取装置,其特征在于,所述缓存单元包括二级缓存和三级缓存中的一者或两者。
10.根据权利要求1所述的多内存通道的内存存取装置,其特征在于,所述配置寄存器还用于为一个或多个处理核心设置虚拟内存通道和物理内存通道的多个配置信息,多个所述配置信息包括虚拟内存通道索引和物理内存通道索引之间不同的映射关系。
11.根据权利要求10所述的多内存通道的内存存取装置,其特征在于,多个所述配置信息还包括对应一个或多个所述处理核心的多个不同的虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码。
12.一种多内存通道的内存存取方法,其特征在于,包括以下步骤:
在配置寄存器中设置虚拟内存通道和物理内存通道的配置信息,所述配置信息包括虚拟内存通道索引和物理内存通道索引之间的映射关系;
基于内存访问请求的物理内存地址和所述配置信息,计算得到目标虚拟内存通道索引;
基于所述目标虚拟内存通道索引和所述映射关系,计算得到所述目标虚拟内存通道索引映射的目标物理内存通道索引;
根据所述内存访问请求的物理内存地址,经由所述目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问。
13.根据权利要求12所述的多内存通道的内存存取方法,其特征在于,所述配置信息还包括虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码,其中,所述虚拟内存通道数不大于所述可用的物理内存通道数,所述内存通道使能掩码用于指示与所述可用的物理内存通道数对应的可读写物理内存通道。
14.根据权利要求13所述的多内存通道的内存存取方法,其特征在于,所述配置信息还包括所述目标存储器中的寄存器库的数量和行大小。
15.根据权利要求14所述的多内存通道的内存存取方法,其特征在于,所述配置信息还包括虚拟内存通道使能标识,所述虚拟内存通道使能标识用于指示是否启用所述虚拟内存通道。
16.根据权利要求14所述的多内存通道的内存存取方法,其特征在于,所述基于内存访问请求的物理内存地址和所述配置信息,计算得到目标虚拟内存通道索引包括:
将所述物理内存地址除以所述寄存器库的数量与行大小的乘积的商与所述虚拟内存通道数求模的结果,作为所述目标虚拟内存通道索引。
17.根据权利要求12所述的多内存通道的内存存取方法,其特征在于,所述根据所述内存访问请求的物理内存地址,经由所述目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问包括:
根据所述物理内存地址,计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移;
基于所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移,对所述目标数据进行存取访问。
18.根据权利要求17所述的多内存通道的内存存取方法,其特征在于,所述根据所述物理内存地址计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移包括:
将所述物理内存地址除以所述寄存器库的行大小的商与寄存器库掩码进行逻辑与运算的结果,作为所述寄存器库索引,其中,所述寄存器库掩码为所述寄存器库的数量减1;
将所述物理内存地址除以所述寄存器库的行大小、寄存器库的数量和虚拟内存通道数三者的乘积的商,作为所述行索引;
将所述物理内存地址与所述寄存器库的行大小减1的差进行逻辑与运算的结果,作为所述目标数据所在存储区域的行内地址偏移。
19.根据权利要求18所述的多内存通道的内存存取方法,其特征在于,所述计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移包括:通过所述目标物理内存通道索引对应的物理内存通道所对应设置的存储控制器计算得到所述目标数据所在存储区域的寄存器库索引、行索引和行内地址偏移。
20.根据权利要求16所述的多内存通道的内存存取方法,其特征在于,所述基于所述目标虚拟内存通道索引和所述映射关系,计算得到所述目标虚拟内存通道索引映射的目标物理内存通道索引包括:通过内存管理单元计算得到所述目标虚拟内存通道索引映射的目标物理内存通道索引。
21.根据权利要求12所述的多内存通道的内存存取方法,其特征在于,所述在配置寄存器中设置虚拟内存通道和物理内存通道的配置信息还包括:为一个或多个处理核心在配置寄存器中设置虚拟内存通道和物理内存通道的多个配置信息,多个所述配置信息包括虚拟内存通道索引和物理内存通道索引之间不同的映射关系。
22.根据权利要求21所述的多内存通道的内存存取方法,其特征在于,多个所述配置信息还包括对应一个或多个所述处理核心的多个不同的虚拟内存通道数、可用的物理内存通道数和内存通道使能掩码。
23.根据权利要求19所述的多内存通道的内存存取方法,其特征在于,根据所述内存访问请求的物理内存地址,经由所述目标物理内存通道索引对应的物理内存通道,对目标存储器中的目标数据进行存取访问还包括:经由缓存单元将所述内存访问请求转发至与所述目标物理内存通道索引对应的物理内存通道所对应设置的存储控制器。
24.一种数据处理设备,其特征在于,包括:一个或多个处理单元及如权利要求1-11中任一项所述的多内存通道的内存存取装置。
25.根据权利要求24所述的数据处理设备,其特征在于,所述数据处理设备包括中央处理单元、图形处理单元、数字处理单元、现场可编程门阵列、人工智能芯片、视频编解码芯片中的一者或多者。
CN202111344052.7A 2021-11-15 2021-11-15 多内存通道的内存存取装置、方法和数据处理设备 Active CN113791822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111344052.7A CN113791822B (zh) 2021-11-15 2021-11-15 多内存通道的内存存取装置、方法和数据处理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111344052.7A CN113791822B (zh) 2021-11-15 2021-11-15 多内存通道的内存存取装置、方法和数据处理设备

Publications (2)

Publication Number Publication Date
CN113791822A true CN113791822A (zh) 2021-12-14
CN113791822B CN113791822B (zh) 2022-04-12

Family

ID=78955282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111344052.7A Active CN113791822B (zh) 2021-11-15 2021-11-15 多内存通道的内存存取装置、方法和数据处理设备

Country Status (1)

Country Link
CN (1) CN113791822B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116360859A (zh) * 2023-03-31 2023-06-30 摩尔线程智能科技(北京)有限责任公司 电源域的访问方法、装置、设备及存储介质
WO2023246133A1 (zh) * 2022-06-20 2023-12-28 哲库科技(上海)有限公司 通道分路器、存储控制装置、片上系统及终端

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997834A (zh) * 2009-08-10 2011-03-30 北京多思科技发展有限公司 支持高性能安全协议的装置
US20120297110A1 (en) * 2011-05-18 2012-11-22 University Of North Texas Method and apparatus for improving computer cache performance and for protecting memory systems against some side channel attacks
US20130326151A1 (en) * 2012-05-31 2013-12-05 Semiconductor Energy Laboratory Co., Ltd. Memory management system and program
CN104750557A (zh) * 2013-12-27 2015-07-01 华为技术有限公司 一种内存管理方法和内存管理装置
CN204462995U (zh) * 2015-04-02 2015-07-08 山东超越数控电子有限公司 一种板载内存加固计算机平台
US20160188400A1 (en) * 2007-10-31 2016-06-30 At&T Intellectual Property I, Lp Methods, systems and products for data backup
WO2020024113A1 (zh) * 2018-07-31 2020-02-06 华为技术有限公司 一种内存交织方法及装置
CN111919207A (zh) * 2018-03-31 2020-11-10 美光科技公司 多线程自调度可重新配置计算架构

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160188400A1 (en) * 2007-10-31 2016-06-30 At&T Intellectual Property I, Lp Methods, systems and products for data backup
CN101997834A (zh) * 2009-08-10 2011-03-30 北京多思科技发展有限公司 支持高性能安全协议的装置
US20120297110A1 (en) * 2011-05-18 2012-11-22 University Of North Texas Method and apparatus for improving computer cache performance and for protecting memory systems against some side channel attacks
US20130326151A1 (en) * 2012-05-31 2013-12-05 Semiconductor Energy Laboratory Co., Ltd. Memory management system and program
CN104750557A (zh) * 2013-12-27 2015-07-01 华为技术有限公司 一种内存管理方法和内存管理装置
CN204462995U (zh) * 2015-04-02 2015-07-08 山东超越数控电子有限公司 一种板载内存加固计算机平台
CN111919207A (zh) * 2018-03-31 2020-11-10 美光科技公司 多线程自调度可重新配置计算架构
WO2020024113A1 (zh) * 2018-07-31 2020-02-06 华为技术有限公司 一种内存交织方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
蔡晓乐,张亚棣: "基于区域页级映射的闪存转换层设计", 《微电子学与计算机》 *
谈良,纪凌等: "基于FPGA的多通道数据采集系统设计与实现", 《电子测量技术》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023246133A1 (zh) * 2022-06-20 2023-12-28 哲库科技(上海)有限公司 通道分路器、存储控制装置、片上系统及终端
CN116360859A (zh) * 2023-03-31 2023-06-30 摩尔线程智能科技(北京)有限责任公司 电源域的访问方法、装置、设备及存储介质
CN116360859B (zh) * 2023-03-31 2024-01-26 摩尔线程智能科技(北京)有限责任公司 电源域的访问方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113791822B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN111279322B (zh) 一种处理系统和在3d堆栈存储器中混写的方法
US9652404B2 (en) Multicore, multibank, fully concurrent coherence controller
US9547535B1 (en) Method and system for providing shared memory access to graphics processing unit processes
US20100058016A1 (en) Method, apparatus and software product for multi-channel memory sandbox
US7606995B2 (en) Allocating resources to partitions in a partitionable computer
CN113791822B (zh) 多内存通道的内存存取装置、方法和数据处理设备
US8645959B2 (en) Method and apparatus for communication between two or more processing elements
US20150106560A1 (en) Methods and systems for mapping a peripheral function onto a legacy memory interface
CN108351829B (zh) 用于输入/输出计算资源控制的系统和方法
CN108121672A (zh) 一种基于NandFlash存储器多通道的存储阵列控制方法与装置
US20120221785A1 (en) Polymorphic Stacked DRAM Memory Architecture
CN105183662B (zh) 一种无cache一致性协议的分布式共享片上存储架构
US8395631B1 (en) Method and system for sharing memory between multiple graphics processing units in a computer system
CN1961300A (zh) 使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法
JP6231194B2 (ja) 電子デバイス、メモリコントローラ、装置
CN105474183A (zh) 存储器管理
KR20230094964A (ko) 이종 메모리 타겟의 인터리빙
US10216634B2 (en) Cache directory processing method for multi-core processor system, and directory controller
US6789168B2 (en) Embedded DRAM cache
Chen et al. MIMS: Towards a message interface based memory system
EP4086774A1 (en) Coherent memory system
WO2021139733A1 (zh) 一种对内存进行分配的方法、设备及计算机可读存储介质
US20100058025A1 (en) Method, apparatus and software product for distributed address-channel calculator for multi-channel memory
US10901917B1 (en) Address scrambling for storage class memory
US9081673B2 (en) Microprocessor and memory access method

Legal Events

Date Code Title Description
PB01 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