CN109308190B - 基于3d堆栈内存架构的共享行缓冲系统及共享行缓冲器 - Google Patents
基于3d堆栈内存架构的共享行缓冲系统及共享行缓冲器 Download PDFInfo
- Publication number
- CN109308190B CN109308190B CN201810745561.2A CN201810745561A CN109308190B CN 109308190 B CN109308190 B CN 109308190B CN 201810745561 A CN201810745561 A CN 201810745561A CN 109308190 B CN109308190 B CN 109308190B
- Authority
- CN
- China
- Prior art keywords
- shared
- bank
- line
- line buffer
- data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了一种基于3D堆栈内存架构的共享行缓冲方法、系统及共享行缓冲器,该共享行缓冲器,所述共享行缓冲器位于每个所述Rank的最底层,且靠近数据和地址总线位置;每个所述Rank分配两个所述共享行缓冲器。本发明的技术方案,节约了制造Row Buffer的原材料,并且明显提高了Row Buffer的命中率,提高了从内存存取数据的效率,同时缓解了“存储墙”问题。
Description
技术领域
本发明基于3D堆栈内存架构,涉及与主存Bank相关的行缓冲设计领域,具体涉及针对Cache未命中的情况下,对主存行处理操作的优化方法和系统。
背景技术
由于受制作工艺的影响,处理器的处理速度远大于内存。且迄今为止的计算机系统架构都是基于冯·诺依曼的“存储程序原理”,即将程序像数据一样存储到计算机内部的存储器中。因而,处理器和内存的处理速度“两极化”严重阻碍了计算机的整体性能,此也被称为“内存墙”问题。
在冯·诺依曼的“存储程序原理”的计算机体系架构下,我们只能最大限度的缓解“内存墙”。而其中内存的性能起到决定性作用,可用“带宽”和“等待时间”来度量内存的性能。3D堆栈内存架构因其特性能缓解“内存墙”问题,其每层由典型的2D工艺制作的Die(晶圆)组成,层与层之间应用Through Silicon Vias(TSVs,贯穿硅通孔)技术进行连接。与传统的2D存储架构不同,该3D堆栈内存将同一个Rank分布到不同的层间,进一步提高了并行性。但相关的3D堆栈内存架构仍采用了传统方式的Row Buffer(行缓冲),即每个Bank分配一个Row Buffer,用于缓冲读出的数据。虽然,这种策略对于2D的平面存储架构非常适用,是由于其将Bank和Row Buffer封装成独立的处理单元,有利于流水线操作。然而,由于3D堆栈内存架构的空间性,传统方式的Row Buffer对3D堆栈内存架构却不再适用。
发明内容
本发明的目的即是解决上述现有技术的3D堆栈内存存储架构中的Row Buffer问题,并针对性地提出了一种新颖的Row Buffer的运行方法及其系统。本发明的总体思路是:在3D堆栈内存中重新设计一种Shared Row Buffer,它以Rank为单位,也即每个Rank共享该Shared Row Buffer。具体的实现方法是在3D-Stacked内存空间的底部增加Shared RowBuffer。每个Shared Row Buffer的行数量为Rank数量的两倍;Shared Row Buffer中的每行为Bank行、Tag(1bit)、Bank号(2byte)、及4byte行号的总和;其中,1bit记录0或1值,表示行缓存里面的旧值或新值;2byte记录位于Rank中的Bank序号;4byte用以记录其在Bank中对应的行号。
在本发明中,设计的基于3D堆栈内存存储架构的Shared Row Buffer可归纳为三大创新点:其一,设计了一种基于Rank共享的、新颖的Shared Row Buffer;该Shared RowBuffer可以充分利用3D堆栈内存存储架构的空间性及每个Rank分布于各层的特性,将原先每个Bank分配一个Row Buffer,减少为现在的每个Rank分配两个Shared Row Buffer。这样可以减少Row Buffer的物理存储空间消耗。其二,Shared Row Buffer中的每行增加了标志位Tag;当Tag为0时,表示该行数据相对较旧,当Tag为1时,表示该行数据相对较新;因此,当遇到Shared Row Buffer未命中的情况时,可根据该标志位Tag来确定将被覆盖的行。所以,由于数据访问的空间局部性原理,我们将保存最新的行数据于Shared Row Buffer中,进而可以大大增加Shared Row Buffer的命中率。其三,Shared Row Buffer中的Bank序号、行号可以快速的将其行缓存数据与处理器请求数据进行比较,提高检索效率。
具体而言,本发明提供的具体技术方案如下:
一方面,本发明提供了一种基于3D堆栈内存架构的共享行缓冲方法,所述3D堆栈内存设置共享行缓冲器(Shared Row Buffer),所述共享行缓冲器位于每个Rank的最底层,所述共享行缓冲器包括一Tag位,所述Tag位用于标识所述行缓冲器数据是否更新;所述方法包括:
步骤1、当第一次从3D堆栈内存中取数据时,同时访问所述共享行缓冲器和Rank,将对应Rank中Bank的行取出至所述共享行缓冲器中,将所述共享缓冲器中的所述行的Tag置1,并记录其他相应数据;
步骤2、当第二次从所述3D堆栈内存中取数据时,若所述共享行缓冲器未命中,则将Rank中Bank行取出至所述共享行缓冲器中Tag为0的行中,将该行Tag置1,并记录其他相应数据;同时将另一行Tag置0;
步骤3、当Cache未命中时,同时对所述共享行缓冲器和Bank进行访问,若发现所述共享行缓冲器中某一行命中,则停止对Bank的访问,并将命中的该行的Tag置1,另一行Tag置0;
步骤4、当处理后的数据存储到Bank中时,若所述共享行缓冲器包含所述处理后的数据的旧值,则对其进行更新;若所述共享行缓冲器中不包含所述处理后的数据的旧值,则执行所述步骤1和或步骤2;
优选地,所述步骤1、步骤2中的所述其他相应数据包括:
Bank Num位、Row Num位和行缓冲器数据;
所述Bank Num位用于记录Rank中Bank的序号;
所述Row Num位用于记录Bank的行号;
所述行缓冲器数据用于记录Bank中的某一行的数据内容。
优选地,所述共享行缓冲器位于每个所述Rank的最底层且靠近数据和地址总线位置。
优选地,每个所述共享行缓冲器的行数量为Rank数量的两倍。
优选地,每个所述共享行缓冲器中的每行,为Bank行、Tag、Bank号及4byte行号的总和。
优选地,所述共享行缓冲器包含两行。
优选地,在实际存储应用中,重复上述步骤1至步骤4,直至指令循环结束。
另一方面,本发明还提供了一种基于3D堆栈内存架构的共享行缓冲系统,在3D堆栈内存中,增加共享行缓冲器(Shared Row Buffer);
所述3D堆栈内存的每层由DRAM单元组成,每个Rank分布在各个层中,通过数据和地址总线进行通信;
所述共享行缓冲器位于每个所述Rank的最底层;每个所述Rank分配两个所述共享行缓冲器。
优选地,所述共享行缓冲器包括:Tag位、Bank Num位、Row Num位和行缓冲器数据;
所述Tag位用于标识所述行缓冲器数据是否更新;
所述Bank Num位用于记录Rank中Bank的序号;
所述Row Num位用于记录Bank的行号;
所述行缓冲器数据用于记录Bank中的某一行的数据内容。
优选地,所述共享行缓冲器位于每个所述Rank的最底层且靠近数据和地址总线位置。
优选地,每个所述共享行缓冲器的行数量为Rank数量的两倍。
优选地,每个所述共享行缓冲器中的每行,为Bank行、Tag、Bank号及4byte行号的总和。
优选地,所述共享行缓冲器包含两行。
又一个方面,本发明还提供了一种基于3D堆栈内存架构的共享行缓冲器(SharedRow Buffer),所述共享行缓冲器位于每个所述Rank的最底层,且靠近数据和地址总线位置;
每个所述Rank分配两个所述共享行缓冲器。
优选地,所述共享行缓冲器包括:Tag位、Bank Num位、Row Num位和行缓冲器数据;
所述Tag位用于标识所述行缓冲器数据是否更新;
所述Bank Num位用于记录Rank中Bank的序号;
所述Row Num位用于记录Bank的行号;
所述行缓冲器数据用于记录Bank中的某一行的数据内容。
优选地,每个所述共享行缓冲器的行数量为Rank数量的两倍。
优选地,每个所述共享行缓冲器中的每行,为Bank行、Tag、Bank号及4byte行号的总和。
优选地,所述共享行缓冲器包含两行。
综上所述,本发明与现有技术相比具有以下优势:
一、节约制造Row Buffer的原材料。因为,一般情况下,每个Rank多达8个Bank,现有技术采用每个Bank配置一个Row Buffer的设计方案,而本发明的Shared Row Buffer相当于每个Rank配置两个Row Buffer,故可以减少其原材料。
二、提高了Row Buffer的命中率,提高了从内存存取数据的效率。由于,SharedRow Buffer可同时存储两个bank的行数据,根据局部性原理,可以在一定程度上提升命中率,进而提高存取效率。
三、缓解“存储墙”问题。由上述分析可知,影响“内存墙”的关键因素在于内存的性能,而本发明可降低内存的访问延迟。因此,“存储墙”问题可在整体上得到适当的缓解。
附图说明
图1为本发明实施例的3D堆栈内存总体结构体;
图2为本发明实施例的Shared Row Buffer的结构体示意图;
图3为本发明实施例的Shared Row Buffer的执行过程图。
具体实施例
下面将结合本发明实施例中的图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
在一个具体的实施例中,该共享行缓冲系统,可以通过如下的方式实现,如图1中所示,在3D堆栈内存中重新设计一种Shared Row Buffer(即共享行缓冲器),它以Rank为单位,也即每个Rank共享该Shared Row Buffer。具体的实现方法是在3D-Stacked内存空间的底部增加Shared Row Buffer。每个Shared Row Buffer的行数量为Rank数量的两倍;Shared Row Buffer中的每行为Bank行、Tag(1bit)、Bank号(2byte)、及4byte行号的总和;其中,1bit记录0或1值,表示行缓存里面的旧值或新值;2byte记录位于Rank中的Bank序号;4byte用以记录其在Bank中对应的行号。
在本发明中,设计的基于3D堆栈内存存储架构的Shared Row Buffer可归纳为三大创新点:其一,设计了一种基于Rank共享的、新颖的Shared Row Buffer;该Shared RowBuffer可以充分利用3D堆栈内存存储架构的空间性及每个Rank分布于各层的特性,将原先每个Bank分配一个Row Buffer,减少为现在的每个Rank分配两个Shared Row Buffer。这样可以减少Row Buffer的物理存储空间消耗。其二,Shared Row Buffer中的每行增加了标志位Tag;当Tag为0时,表示该行数据相对较旧,当Tag为1时,表示该行数据相对较新;因此,当遇到Shared Row Buffer未命中的情况时,可根据该标志位Tag来确定将被覆盖的行。所以,由于数据访问的空间局部性原理,我们将保存最新的行数据于Shared Row Buffer中,进而可以大大增加Shared Row Buffer的命中率。其三,Shared Row Buffer中的Bank序号、行号可以快速的将其行缓存数据与处理器请求数据进行比较,提高检索效率。
该系统的具体结构可以通过以下方式来实现:
在3D堆栈内存中,增加共享行缓冲器(Shared Row Buffer);
所述3D堆栈内存的每层由DRAM单元组成,每个Rank分布在各个层中,通过数据和地址总线进行通信;
所述共享行缓冲器位于每个所述Rank的最底层;每个所述Rank分配两个所述共享行缓冲器。
优选地,所述共享行缓冲器包括:Tag位、Bank Num位、Row Num位和行缓冲器数据;
所述Tag位用于标识所述行缓冲器数据是否更新;
所述Bank Num位用于记录Rank中Bank的序号;
所述Row Num位用于记录Bank的行号;
所述行缓冲器数据用于记录Bank中的某一行的数据内容。
优选地,所述共享行缓冲器位于每个所述Rank的最底层且靠近数据和地址总线位置。
优选地,每个所述共享行缓冲器的行数量为Rank数量的两倍。
优选地,每个所述共享行缓冲器中的每行,为Bank行、Tag、Bank号及4byte行号的总和。
优选地,所述共享行缓冲器包含两行。
需要指出的是,该共享行缓冲系统,可以执行如实施例3、4中所述的方法,也可以包括如实施例2中的共享行缓冲器。
实施例2
图1是在3D堆栈内存基础上添加发明的Shared Row Buffer的总体结构图。该图的每层由DRAM Cells组成;每个Rank分布在各个层中,通过数据和地址总线进行通信,可以大大减少延迟;Shared Row Buffer位于每个Rank的最底层且靠近数据和地址总线位置。图2是对图1中的Shared Row Buffer做进一步的细分。如该图2所示,Shared Row Buffer可分为四个部分。Tag占1bit,其值为0时,表示Data of Row Buffer为旧值;其值为1时,表示Data of Row Buffer为新值。因此,当Shared Row Buffer未命中时,可采用LRU算法把Shared RowBuffer中近期最少使用的行替换出去。即从Rank中的Bank取出的行数据将覆盖旧值所在行,记录其在Bank中的行号,并对该行的Tag置1,对另一行的Tag置0。Bank Num占1byte记录Rank中Bank序号。Row Num表示Bank的行号。Data of Row Buffer则记录着某一Bank中的某行数据内容。
在一个具体的实施方式中,本发明的基于3D堆栈内存架构的共享行缓冲器,可以通过如下方式实现:
所述共享行缓冲器位于每个所述Rank的最底层,且靠近数据和地址总线位置;
每个所述Rank分配两个所述共享行缓冲器。
优选地,所述共享行缓冲器包括:Tag位、Bank Num位、Row Num位和行缓冲器数据;
所述Tag位用于标识所述行缓冲器数据是否更新;
所述Bank Num位用于记录Rank中Bank的序号;
所述Row Num位用于记录Bank的行号;
所述行缓冲器数据用于记录Bank中的某一行的数据内容。
优选地,每个所述共享行缓冲器的行数量为Rank数量的两倍。
优选地,每个所述共享行缓冲器中的每行,为Bank行、Tag、Bank号及4byte行号的总和。
优选地,所述共享行缓冲器包含两行。
实施例3
由于每个Rank对应一个Shared Row Buffer,每次Cache未命中后,根据指令地址会访问对应的Rank和Shared Row Buffer。当同时出现多个Cache未命中情况时,可细分为多个单次Cache未命中情况,因此,它们的工作原理相同。下面以一次Cache未命中情况进行说明。在一个具体的实施例中,本发明的执行原理可用以下步骤来描述:
步骤1Shared Row Buffer未命中
电脑刚开机上电后,所有Shared Row Buffer两行中的Tag均为0,Bank Num、RowNum和Data of Row Buffer都初始化为0。显而易见,至少有两次一定是未命中的。由于Cache未命中,当第一次从3D-Stacked DRAM中取数据时,会同时访问Shared Row Buffer和Rank,因为此时Shared Row Buffer的两行均为空,故需将对应的Rank中Bank的行取出至Shared Row Buffer中(此时可为任意一行),然后,将该行的Tag置1,Bank Num、Row Num和Data of Row Buffer置为相应值。当第二次从3D-Stacked DRAM中取数据时,可分为两种情况。情况一为此时Shared Row Buffer未命中,将会把Rank中Bank的行取出至Shared RowBuffer中Tag为0的行中,将该行的Tag置1,Bank Num、Row Num和Data of Row Buffer置为相应值;同时,将另一行的Tag置0。情况二为此时Shared Row Buffer命中,将直接取该命中行,并将该行的Tag置1;同时,将另一行的Tag置0。
步骤2Shared Row Buffer命中
当Cache未命中,同时对Shared Row Buffer和Bank进行访问,发现Shared RowBuffer中行命中,会停止对Bank的访问,并将该行Tag置1,另一行Tag置0。
步骤3Shared Row Buffer行更新
当处理器将处理后的数据存储到Bank中时,若Shared Row Buffer包含有该数据的旧值,则对其进行实时更新;若Shared Row Buffer不含该数据,则其操作同Shared RowBuffer未命中情况的处理类似。
在整个指令执行的过程中,可以循环执行上述步骤1至步骤3,直至指令执行完成。
实施例4
下面举例详细说明其操作过程。假设计算A[1024]+B[1024],且Bank每行能容纳1024个该类型的数据;但由于Cache的容量限制,从内存读取数据的过程中会出现未命中情况。100表示Shared Row Buffer,101和102均表示Shared Row Buffer的一行数据,103和107表示Tag,104和108表示Bank Num,105和109表示Bank中的Row Num,106和110表示Bank中的某行数据,111表示Bank。下面针对Shared Row Buffer的处理过程进行归纳说明:
步骤1:
刚开始时,101和102均为初始化状态。当取A[0]值时,会同时访问100和111;由于100为空值,故其不会命中;当在111找到A[0]所在行后,将该行缓存到106(或110),并将103、104和105分别置相应的值,此时103中Tag值为1。并将107置0。最后,通过列解码器选择106中的请求数据。
步骤2:
当取B[0]值时,也会同时访问100和111。由假设可知,此时的100仍未命中。由于此时103中Tag为1,107中Tag为0,根据LRU算法,会将111寻找B[0]所在行缓存到110,并将108和109分别置为对应的Bank号和行号,将107中Tag置为1,同时将103中Tag置为0。最后,通过列解码器选择110中的请求数据。
步骤3:
当取A[1]值时,仍会同时访问100和111;但此时,可以在106中找到所需数据,可以绕过111而直接访问106中数据,这样可以大大降低访存延迟。最后,通过列解码器选择106中的请求数据。
步骤4:
当取B[1]值时,仍会同时访问100和111;但此时,可以在110中找到所需数据,可以绕过111而直接访问110中数据,这样可以大大降低访存延迟。最后,通过列解码器选择110中的请求数据。
步骤5:
重复以上步骤,直至程序结束。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (7)
1.一种基于3D堆栈内存架构的共享行缓冲方法,其特征在于,所述3D堆栈内存设置共享行缓冲器,所述共享行缓冲器位于每个Rank的最底层,每个所述Rank分配两个所述共享行缓冲器,所述共享行缓冲器包含两行,所述共享行缓冲器包括一Tag位,所述Tag位用于标识所述行缓冲器数据是否更新;所述方法包括:
步骤1、当第一次从3D堆栈内存中取数据时,同时访问所述共享行缓冲器和Rank,将对应Rank中Bank的行取出至所述共享行缓冲器中,将所述共享行缓冲器中的所述行的Tag位置1,并记录其他相应数据;
步骤2、当第二次从所述3D堆栈内存中取数据时,若所述共享行缓冲器未命中,则将Rank中Bank的行取出至所述共享行缓冲器中Tag位为0的行中,将该行Tag位置1,并记录其他相应数据;同时将另一行Tag位置0;
步骤3、当Cache未命中时,同时对所述共享行缓冲器和Bank进行访问,若发现所述共享行缓冲器中某一行命中,则停止对Bank的访问,并将命中的该行的Tag位置1,另一行Tag位置0;
步骤4、当处理后的数据存储到Bank中时,若所述共享行缓冲器包含所述处理后的数据的旧值,则对其进行更新;若所述共享行缓冲器中不包含所述处理后的数据的旧值,则执行所述步骤1和/或步骤2。
2.根据权利要求1所述的方法,其特征在于,所述步骤1、步骤2中的所述其他相应数据包括:
Bank Num位、Row Num位和行缓冲器数据;
所述Bank Num位用于记录Rank中Bank的序号;
所述Row Num位用于记录Bank的行号;
所述行缓冲器数据用于记录Bank中的某一行的数据内容。
3.根据权利要求1所述的方法,其特征在于,所述共享行缓冲器位于每个所述Rank的最底层且靠近数据和地址总线位置。
4.根据权利要求1所述的方法,其特征在于,每个所述共享行缓冲器的行数量为Rank数量的两倍。
5.根据权利要求2所述的方法,其特征在于,每个所述共享行缓冲器中的每行,为Bank行、Tag、Bank号及4byte行号的总和。
6.根据权利要求1所述的方法,其特征在于,所述共享行缓冲器包含两行。
7.一种基于3D堆栈内存架构的共享行缓冲系统,其特征在于,在3D堆栈内存中,增加共享行缓冲器;
所述3D堆栈内存的每层由DRAM单元组成,每个Rank分布在各个层中,通过数据和地址总线进行通信;
所述共享行缓冲器位于每个所述Rank的最底层;每个所述Rank分配两个所述共享行缓冲器;
所述系统执行如权利要求1-6任一所述的基于3D堆栈内存架构的共享行缓冲方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810745561.2A CN109308190B (zh) | 2018-07-09 | 2018-07-09 | 基于3d堆栈内存架构的共享行缓冲系统及共享行缓冲器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810745561.2A CN109308190B (zh) | 2018-07-09 | 2018-07-09 | 基于3d堆栈内存架构的共享行缓冲系统及共享行缓冲器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109308190A CN109308190A (zh) | 2019-02-05 |
CN109308190B true CN109308190B (zh) | 2023-03-14 |
Family
ID=65225949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810745561.2A Active CN109308190B (zh) | 2018-07-09 | 2018-07-09 | 基于3d堆栈内存架构的共享行缓冲系统及共享行缓冲器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109308190B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521049A (zh) * | 2011-11-18 | 2012-06-27 | 清华大学 | 多核间内存调度方法 |
CN102609312A (zh) * | 2012-01-10 | 2012-07-25 | 中国科学技术大学苏州研究院 | 基于公平性考虑的短作业优先内存请求调度方法 |
CN103136120A (zh) * | 2012-12-31 | 2013-06-05 | 北京北大众志微系统科技有限责任公司 | 行缓冲管理策略确定方法和装置、bank划分方法和装置 |
CN104252425A (zh) * | 2013-06-28 | 2014-12-31 | 华为技术有限公司 | 一种指令缓存的管理方法和处理器 |
CN105027211A (zh) * | 2013-01-31 | 2015-11-04 | 惠普发展公司,有限责任合伙企业 | 自适应粒度行缓冲器高速缓存 |
CN105487988A (zh) * | 2015-12-03 | 2016-04-13 | 武汉烽火网络有限责任公司 | 基于存储空间复用提高sdram总线有效访问速率的方法 |
CN105677576A (zh) * | 2015-12-31 | 2016-06-15 | 上海交通大学 | 一种面向相变存储器的Bank控制器读写控制装置及方法 |
CN106155577A (zh) * | 2015-04-23 | 2016-11-23 | 华为技术有限公司 | 扩展内存的访问方法、设备以及系统 |
CN106909515A (zh) * | 2017-02-11 | 2017-06-30 | 郑州云海信息技术有限公司 | 面向混合主存的多核共享末级缓存管理方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120059983A1 (en) * | 2010-09-03 | 2012-03-08 | David Wilkins Nellans | Predictor-based management of dram row-buffers |
US9535704B2 (en) * | 2014-02-03 | 2017-01-03 | University Of Rochester | System and method to quantify digital data sharing in a multi-threaded execution |
US9910728B2 (en) * | 2015-12-23 | 2018-03-06 | Intel Corporation | Method and apparatus for partial cache line sparing |
KR20180049386A (ko) * | 2016-11-01 | 2018-05-11 | 에스케이하이닉스 주식회사 | 랭크 레벨에서 병렬화를 지원하는 메모리 장치 및 메모리 시스템 |
-
2018
- 2018-07-09 CN CN201810745561.2A patent/CN109308190B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521049A (zh) * | 2011-11-18 | 2012-06-27 | 清华大学 | 多核间内存调度方法 |
CN102609312A (zh) * | 2012-01-10 | 2012-07-25 | 中国科学技术大学苏州研究院 | 基于公平性考虑的短作业优先内存请求调度方法 |
CN103136120A (zh) * | 2012-12-31 | 2013-06-05 | 北京北大众志微系统科技有限责任公司 | 行缓冲管理策略确定方法和装置、bank划分方法和装置 |
CN105027211A (zh) * | 2013-01-31 | 2015-11-04 | 惠普发展公司,有限责任合伙企业 | 自适应粒度行缓冲器高速缓存 |
CN104252425A (zh) * | 2013-06-28 | 2014-12-31 | 华为技术有限公司 | 一种指令缓存的管理方法和处理器 |
CN106155577A (zh) * | 2015-04-23 | 2016-11-23 | 华为技术有限公司 | 扩展内存的访问方法、设备以及系统 |
CN105487988A (zh) * | 2015-12-03 | 2016-04-13 | 武汉烽火网络有限责任公司 | 基于存储空间复用提高sdram总线有效访问速率的方法 |
CN105677576A (zh) * | 2015-12-31 | 2016-06-15 | 上海交通大学 | 一种面向相变存储器的Bank控制器读写控制装置及方法 |
CN106909515A (zh) * | 2017-02-11 | 2017-06-30 | 郑州云海信息技术有限公司 | 面向混合主存的多核共享末级缓存管理方法及装置 |
Non-Patent Citations (1)
Title |
---|
面向多核NUCA共享数据竞争问题的Bank一致性技术;吴俊杰等;《计算机工程与科学》;20091115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109308190A (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102929797B (zh) | 共享高速缓冲存储器控制 | |
US9361236B2 (en) | Handling write requests for a data array | |
TWI536258B (zh) | 用於適應性粒度列緩衝器快取之方法和裝置、及記憶體裝置 | |
JP6764359B2 (ja) | 重複除去dramメモリモジュール及びそのメモリ重複除去方法 | |
US9626400B2 (en) | Compaction of information in tiered data structure | |
CN109582214B (zh) | 数据访问方法以及计算机系统 | |
CN112558889B (zh) | 一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置 | |
US8996818B2 (en) | Bypassing memory requests to a main memory | |
US8583873B2 (en) | Multiport data cache apparatus and method of controlling the same | |
US9626399B2 (en) | Conditional updates for reducing frequency of data modification operations | |
US9390021B2 (en) | Efficient cache utilization in a tiered data structure | |
TW200915179A (en) | Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same | |
CN107589908A (zh) | 一种基于固态盘缓存系统中非对齐更新数据的合并方法 | |
US10877902B2 (en) | Cuckoo caching | |
US11061676B2 (en) | Scatter gather using key-value store | |
US9727476B2 (en) | 2-D gather instruction and a 2-D cache | |
CN109308190B (zh) | 基于3d堆栈内存架构的共享行缓冲系统及共享行缓冲器 | |
CN111124297A (zh) | 一种堆叠dram缓存的性能提升方法 | |
WO2024045586A1 (zh) | 支持simt架构的高速缓冲存储器及相应处理器 | |
CN112711383B (zh) | 用于电力芯片的非易失性存储读取加速方法 | |
US6751707B2 (en) | Methods and apparatus for controlling a cache memory | |
US20220276969A1 (en) | Sedram-based stacked cache system and device and controlling method therefor | |
US20090228659A1 (en) | Processor and computing system | |
CN113721839B (zh) | 用于处理图数据的计算系统和存储分层方法 | |
CN113076267B (zh) | 一种基于热点汇集的地址转换方法和数据存储装置 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100095 room 135, 1st floor, building 15, Chuangke Town, Wenquan Town, Haidian District, Beijing Applicant after: Beijing Zhongke Ruixin Technology Group Co.,Ltd. Address before: 1 wensong Road, Zhongguancun environmental protection park, Beiqing Road, Haidian District, Beijing 100095 Applicant before: SMARTCORE (BEIJING) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |