CN106462501B - 基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 - Google Patents
基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 Download PDFInfo
- Publication number
- CN106462501B CN106462501B CN201580031855.3A CN201580031855A CN106462501B CN 106462501 B CN106462501 B CN 106462501B CN 201580031855 A CN201580031855 A CN 201580031855A CN 106462501 B CN106462501 B CN 106462501B
- Authority
- CN
- China
- Prior art keywords
- memory
- status information
- consistency
- information
- die
- 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
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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/025—Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
- H01L25/04—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
- H01L25/065—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L25/0657—Stacked arrangements of devices
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
- H01L25/10—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices having separate containers
- H01L25/105—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices having separate containers the devices being of a type provided for in group H01L27/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/622—State-only directory, i.e. not recording identity of sharing or owning nodes
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/0001—Technical content checked by a classifier
- H01L2924/0002—Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
一种系统包含多个主机处理器及经配置为用于所述主机处理器的分布式共享存储器的多个混合存储器立方体HMC装置。HMC装置包含:多个集成电路存储器裸片,其包含布置于第二存储器裸片的顶部上的至少第一存储器裸片,且所述存储器裸片的存储器的至少一部分经映射以包含存储器一致性目录的至少一部分;及逻辑库裸片,其包含:至少一个存储器控制器,其经配置以管理至少一个第二装置对所述多个存储器裸片的存储器的三维3D存取;及逻辑电路,其经配置以针对存储于所述多个存储器裸片的所述存储器中的数据而实施存储器一致性协议。
Description
相关申请案
此美国专利申请案主张2014年5月8日提出申请的第61/990,207号美国临时申请案的优先权权益,所述美国临时申请案的内容以全文引用的方式并入。
背景技术
多处理器系统可包含允许一个以上处理器对相同数据执行操作的共享存储器。对共享存储器的存取可为缓慢的且可导致系统等待时间。为改进存储器存取时间,多处理器共享存储器系统可包含相对较小但较快的存取高速缓冲存储器。高速缓冲存储器存储可由处理器频繁存取的数据的副本。为维持经高速缓存数据的正确性,遵循高速缓冲存储器一致性协议。高速缓冲存储器一致性协议对通过处理器对经高速缓存数据的存取施加规则以确保尽管存在数据的多个副本但数据跨越所有处理器均为正确的。然而,高速缓冲存储器一致性协议可消耗先前系统带宽且产生针对数据存取的不均匀等待时间。本发明发明者已认识到需要多处理器共享存储器系统中的经改进数据管理。
附图说明
图1图解说明可用以实践本发明的一些实施例的混合存储器立方体的表示。
图2是图解说明可用以实践本发明的一些实施例的混合存储器立方体的四分之一的框图。
图3展示可用以实践本发明的一些实施例的混合存储器立方体的四个可能装置拓扑的框图。
图4展示可用以实践本发明的一些实施例的一致性目录存储器格式的实例。
图5展示可用以实践本发明的一些实施例的用HMC装置实施的计算机系统的实例的框图。
图6展示操作计算机系统的方法的流程图。
具体实施方式
在本发明的实例性实施例的以下详细说明中,以图式及图解方式而参考本发明的特定实例性实施例。充分详细地描述这些实例以使得所属领域的技术人员能够实践本发明,且所述实例用于图解说明本发明可如何应用于各种目的或实施例。存在本发明的其它实施例且所述实施例在本发明的范围内,且可在不背离本发明的标的或范围的情况下做出逻辑、机械、电及其它改变。本文中所描述的本发明的各种实施例的特征或限制虽然对其中并入所述特征或限制的实例性实施例为必要的,但其并不限制本发明的其它实施例或作为整体的本发明,且对本发明的任何参考(其元件、操作及应用)并不限制作为整体的本发明,而是仅用于定义这些实例性实施例。因此,以下详细说明并不限制本发明的各种实施例的范围,所述范围仅由所附权利要求书界定。
在常规计算机系统中,存储器以二维方式组织成行及列。为改进存储器存取等待时间做出的努力包含开发具有高带宽接口的双数据速率类型三(DDR3)或DDR4。DDR3及DDR4使用传统行/列方法。
图1图解说明混合存储器立方体105(HMC)的表示。HMC通过堆叠集成电路(IC)存储器裸片110且使用实现在IC裸片的顶部及底部两者上的存取的穿硅导通体(TSV)结构(未展示)来使裸片互连而包含第三维度。TSV制造技术实现多个裸片层的互连,以便构造三维裸片。使多个裸片层互连的此能力准许建造具有存储器存储层与一或多个逻辑层的组合的存储器装置。以此方式,所述装置在单个封装中提供物理存储器存储及逻辑存储器事务处理。图1中所展示的布置是用以图解说明概念且未必表示实际裸片布局。
HMC(例如,如混合存储器立方体规范版本1.0中所规定)可提供具有高达每装置320GB/s的可用带宽容量的非常紧凑且功率高效封装。HMC装置经由分层及平行设计方法而能够具有此带宽。装置层次跨越逻辑层而垂直地发生且硬件平行跨越给定裸片层而发生。在HMC内,存储器经组织成存储库。每一存储库120使用穿硅导通体在裸片内垂直地横跨存储器层中的每一者。在图1的经简化实例中,HMC经组织成16个存储库,其中每一存储库具有逻辑库裸片层115或逻辑库。
图2是图解说明HMC 205的四分之一的框图。展示HMC的四个存储库,其中每一存储库220包含多个存储器层。逻辑库层215包含多个组件。举例来说,每一存储库在逻辑库中具有管理用于存储库的所有存储器参考操作的存储器控制器。存储器控制器提供对3D存储层的灵活存取。3D分层方法准许存储器事务不仅跨越目标存储阵列内的存储体,且亦跨越平行存储阵列而平行地存在。逻辑库层215可包含用以实施所描述的功能的一或多个处理器,且HMC可为存储器中处理器(PIM)装置。
逻辑库层215提供对HMC装置的存取的外部链路以及内部路由及事务逻辑两者。外部I/O链路由四个或八个逻辑链路提供。每一链路可包含十六个或八个串行I/O或SERDES双向链路的群组。四个链路装置具有在10Gbps、12.5Gbps及15Gbps下操作的能力。八个链路装置具有在10Gbps下操作的能力。在内部,链路附接到路由逻辑以便引导逻辑装置处的控制每一垂直存储器存储单元的事务。在图2的实例中,路由逻辑包含纵横切换逻辑。
HMC链路结构支持将装置附接到主机(处理器)或其它HMC装置两者的能力。链结(chaining)的此概念准许构造需要比单个装置大的容量而不扰动链路结构及经包化事务协议的存储器子系统。链路可以众多拓扑配置为主机装置链路或直通链路。
图3展示基于基底四链路HMC配置的四个可能装置拓扑的框图。HMC存储器装置305可以传统网络拓扑(例如网状、环面(torus)或纵横)配置。将多个HMC装置链结在一起增加可用于主机的总存储器容量。
返回到图2,针对存储库的逻辑库层类似于针对每一独立存储库的DIMM控制器单元。在图2的实例中,存储库逻辑块225及其相应存储库存储单元220可经组织成四重单元。每一四重单元表示四个存储库单元。每一四重单元与最接近物理链路块松散地相关联。以此方式,主机装置具有以下能力:通过逻辑上将请求包发送到其相关联四重单元物理上最接近于所需存储库的链路而使HMC装置的整个逻辑库层的等待时间最小化。
一旦在目标存储器存储库内,存储器存储区便可分解成传统概念的存储体及动态随机存取存储器(DRAM)。穿过经堆叠存储器层的垂直存取类似于选择适当存储器存储体。下部存储体可配置于下部裸片层中,而垂直上升(vertical ascension)选择后续存储体。一旦在存储体层内,便可使用行及列以传统方式组织DRAM。存储库控制器将DRAM分解成各自寻址16个字节的1兆位(1Mb)块。针对每一列提取,可以32个字节来执行到目标存储体的读取或写入请求。
针对多主机多HMC系统,使用经包化格式来执行主机装置与HMC装置之间的带内通信。此经包化格式可包含三个主要包分类:请求包、响应包及流量控制包。包可经配置为单个16字节流量单元或FLIT的倍数。最大包大小含有9个FLIT或144个字节。最小16字节(一个FLIT)包含有包标头及包尾。用于所有存储器有效负载大小的存储器读取请求包可仅需要包标头、包尾及相应物理存储器地址。因此,读取请求可使用单个FLIT配置。然而,写入请求及原子请求包也含有分别用于写入及读取-修改-写入操作的所需输入数据。因此,这些请求类型具有2个FLIT到9个FLIT的包宽度。
HMC系统实施方案可具有多个包重新排序点。经指定用于辅助装置的到达包可通过等待本地存储库存取的那些辅助装置。本地存储库也可将已排列包重新排序以便最高效地利用去往及来自相应存储库存储体的带宽。然而,给定HMC实施方案中呈现的重新排序点维持包流在存储库内从特定链路到特定存储体的次序。此确保后续接着存储器读取请求的存储器写入请求递送正确及确定性存储器行为。
如先前所解释,HMC提供高带宽装置。然而,本发明系统互连规范通常缺少用以维持系统(其主存储器是基于高带宽装置,例如HMC)中的适当平衡所必需的充分功能性、灵活性及性能。举例来说,系统架构可包含用以维持芯片上系统(SoC)与本地存储器之间的每秒数百吉字节带宽的一或多个HMC,但所述系统架构可提供仅具有此可用带宽的小部分(例如,十分之一)的系统互连。所述结果可为极其不平衡的系统。
此外,如果附接到系统互连的处理器提供高速缓冲存储器一致性机制,那么单独逻辑块可必须添加到所述系统以提供充分带宽及功能性,以维持共享存储器及高速缓冲存储器子系统两者中的并行性及正确性。此产生具有一组复杂外围逻辑块的处理器互连、存储器互连及系统互连以及具有不同程度的等待时间的复杂协议规范。
低效高速缓冲存储器一致性尤其是具有分布于多个SoC装置或套接字当中的多个执行线程(或任务)的应用中的问题。如果核心SoC或处理器支持功能数据高速缓存,那么SoC套接字之间的高速缓冲存储器一致性机制必须支持可比可用于系统互连上的带宽高一个数量级的本地存储器带宽。再次,所述结果为极其不平衡的系统。
用以改进系统层级等待时间的方法是提供具有实质上高带宽存储器装置的带宽的存储器一致性子系统。用以提供此的一种方式是使用一或多个HMC装置来实施系统存储器一致性。由于HMC具有执行原位原子存储器操作的能力,因此HMC可经延伸以提供高带宽及低等待时间存储器一致性机制。
在常规系统中,用于高速缓冲存储器一致性的一种方法是使用基于目录的高速缓冲存储器一致性协议。一致性目录充当筛选器,处理器透过所述筛选器寻求许可以将条目从主存储器加载到其高速缓冲存储器。当条目改变时,所述目录更新具有所述条目的其它高速缓冲存储器或使所述其它高速缓冲存储器失效。基于目录的高速缓冲存储器一致性包含对将状态指派给高速缓存线的“目录”的维持。每一高速缓存线可被指派“主节点(homenode)”作为高速缓存线的状态的最终仲裁器。主节点拥有地址空间且准许修改高速缓存线。目录指派状态且基于目录的协议接着使用主机当中的点对点通信来处理元数据。
处理器通常存储目录的显著量的高速缓存线状态信息且依赖于快速高速缓冲存储器存取来读取高速缓存元数据且确定高速缓存线的状态。高速缓冲存储器控制器记录哪一主机签出高速缓存线。在此配置中,高速缓存目录本身必须经高速缓存(通常完全相关联地),从而形成维持于最后层级高速缓冲存储器或存储器控制器处的复杂且高耗电数据结构。针对大的对称多处理器(SMP)配置,这些数据结构通常不适合于晶片上且必须由DRAM支持。
由于HMC装置的物理存储器存储的分层性质,因此HMC装置相较于传统的存储体式DRAM装置(例如,DDR3或DDR4装置)可具有不同物理寻址及交错模型。HMC装置的物理地址经编码到含有存储库、存储体及地址位的34位字段中。具有四个链路装置的实施方案利用所述字段的下部32个位,且具有八个链路装置的实施方案利用所述字段的下部33个位。
与DDR3或DDR4装置相比来说,HMC装置可廉价地实施抽象存储器存储接口。举例来说针对DDR类型装置,当处理器期望存取地址时,真实或实际物理地址经置于总线上且被存取。在HMC协议中,物理地址可在其到达HMC处时重新映射到不同存储器地址。因此,对于HMC,不存在对所写入的实际存储器位置的保证。另外,不需要HMC在设定时间处产生响应。
可利用HMC的此地址重新映射能力来实施基于目录的存储器一致性。为提供对目录存储器一致性的支持,HMC的基底逻辑层可经配置以将给定存储器块的位置抽象化成相关联存储器字或“高速缓存线”。因此,可将存储器一致性目录存储于HMC存储存储库内。此提供使用相同HMC协议管理传统存储器业务及高速缓冲存储器一致性业务两者的方法;借此提供本地存储器数据存取与系统存储器数据存取的统一性。
图4展示一致性目录存储器格式的实例。可就包含于基底物理地址字段中的物理地址来描述HMC的直接存储器空间。在所展示的实例中,多达34个位的物理地址存储是可用的。基底物理地址用作存储器操作的目标且可包含存储库、存储体及DRAM地址位。地址延伸立方体ID(CUB)字段指示其中支持存储器字的存储器驻存的HMC装置。目录位字段提供存储器一致性位以如同存储器字是高速缓存线一般地维持存储器字的状态信息。如果存储器一致性目录使用MESI一致性协议,那么目录位包含经修改位、专属位、共享位及无效位。通过存取与基底物理地址相关联的存储器字加上CUB偏移而执行将数据字作为高速缓存线而存取。如果数据条目包含八个字节,那么单个8GBHMC装置可支持超过十亿个并行目录条目。
在以此方式组织存储器一致性的情况下,可使用HMC原子存储器操作对存储器执行查找及修改操作。在使用HMC本地的事务协议与目录互动的同时维持目录可变动性。此使得存储器存取的类型较统一。
可使用原子请求执行对目录条目的存取。原子请求涉及:从DRAM读取16个字节的数据(如依请求地址字段存取);通过使用16字节操作数(亦包含于请求包中)而对数据执行操作;及接着将结果写回到DRAM中的相同位置。读取-更新-写入序列以原子方式发生,此意指在完成原子请求的写入之前无其它请求可存取相同存储体。原子请求类似于16字节写入请求,在于所述原子请求在请求包中具有16字节数据有效负载,且可或可不传回写入响应(取决于所请求的是投递(posted)请求还是非投递请求)。由原子操作产生的数据在响应命令中不传回。可使用原子存储器操作(例如(举例来说)HMC协议的ADD即时请求命令)执行对目录条目的修改。也可使用原子存储器操作(例如(举例来说)其中目标即时值为零的ADD即时请求命令)执行对目录条目的查找。
图5展示用HMC装置实施以包含基于HMC的存储器一致性目录的计算机系统500的实例的框图。所述系统包含多个主机处理器。所述处理器可实施为SoC,其中每一处理器由SoC套接字502表示。所述实例展示四个处理器,但所述系统灵活地包含其它数目个处理器。
所述系统还包含经配置为用于主机处理器的分布式共享存储器的多个HMC装置。所述HMC装置中的一些HMC装置用作端点装置且一些HMC装置用作集线器装置。集线器装置可提供直通通信能力以提供系统内通信。
假定存储器是用具有以三维方式布置的存储器裸片的HMC装置实施,那么针对3D存储器存取而配置共享存储器。HMC装置505的存储器裸片的存储器的至少一部分经映射以包含存储器一致性目录的至少一部分。此暗示常规高速缓冲存储器一致性数据或元数据存储于其中存储器字所驻存的存储器中。HMC装置的逻辑库裸片包含管理至少一个第二装置(例如(举例来说)处理器或另一HMC装置)对HMC装置存储器的三维(3D)存取的至少一个存储器控制器。逻辑库裸片还包含针对存储于多个存储器裸片的存储器中的数据而实施存储器一致性协议的逻辑电路。
由于一致性目录存储于HMC装置中,因此HMC装置本身可用作用于其自身数据的主节点。存储器一致性状态信息可与所述数据存储在一起。逻辑库层在不将所述数据存储于单独高速缓冲存储器中的情况下允许存储器一致性状态信息在处理器当中传递。存储于共享存储器中的数据基本上为高速缓存线。另外,假定存储器一致性由HMC装置实施,那么与维持存储器一致性状态信息相关联的处理额外开销从处理器移除。
如先前所解释,针对多主机多HMC系统,使用经包化协议来执行主机装置与HMC装置之间的I/O通信。存储器一致性协议可包含于此I/O协议中。经包化信息可包含存储器一致性状态信息。在一些实例中,存储器一致性状态信息可如同在图4的实例中而与地址信息包含在一起。将存储器一致性协议与I/O协议包含在一起将两种功能组合到统一高效通信系统中。此使本地存储器请求及系统存储器请求两者中的等待时间最小化且消除本地接口与系统接口之间的协议转译。
状态信息确定处理器是否可安全地将数据写入到存储器字、存储器字当前是否保持有效数据且确定可如何将存储器字转变到其中可进行对存储器字的读取或写入的状态中。在一些实例中,HMC装置的逻辑电路实施MSI高速缓冲存储器一致性协议且确定存储器裸片的存储器字的“经修改”状态信息、“共享”状态信息及“无效”状态信息且与存储器裸片的存储器字相关联地存储所述状态信息。在特定变化中,经修改状态信息、共享状态信息及无效状态信息分别包含经修改位、共享位及无效位。在特定实例中,HMC装置的逻辑电路实施确定专属权状态信息的MESI高速缓冲存储器。在特定实例中,HMC装置的逻辑电路实施确定存储器裸片的存储器字的所有权状态信息的MOSI高速缓冲存储器。逻辑电路与共享存储器数据字相关联地存储专属权状态信息及所有权状态中的一者或两者。在一些实例中,集线器HMC装置将路由信息添加到经包化消息。路由信息可用以(例如,通过接收HMC装置)确定存储器一致性状态信息。
根据一些实例,“签出/签入”机制由希望更新特定存储器字的处理器使用。在此情形中,处理器请求对存储器位置X的专属存取。一旦所述存取由其中存储器字所驻存的HMC装置准予,存储器字便可标记为“经签出”(在装置上的小关联表中或作为存储器中的状态的额外位)。当数据由处理器往回签入时,HMC装置推定所述数据被更新。因此,存储器字本身将由处理器写回(或“清空”)且存储器中的空间可经重新使用以存储额外状态信息(例如,指示签出存储器字的装置的状态信息)。对存储器字X的进一步请求可从组合两条信息(例如,高速缓存线由处理器P签出的状态信息)的HMC装置接收响应。基于目录的一致性协议接着通过使用存储器一致性状态更新(例如,可要求处理器P清空存储器内容等)而继续进行。当处理器P将新数据清空回到主节点(存储器字的HMC装置)时,可签入存储器字且清除状态信息。
在一些实例中,HMC装置对于对目标存储器字的特定状态请求作出响应。举例来说,目标HMC装置可从处理器接收对于对存储器字的专属存取的请求(例如,对专属状态的请求)。HMC装置的逻辑电路可起始对存储器字的状态信息的读取。如果状态信息指示第二装置已具有对存储器字的专属存取及所有权,那么逻辑电路可使所述存储器字无效且等待来自拥有的装置的无效确认。当接收到确认时,HMC装置可将专属存取赋予原始请求装置。
图6展示操作计算机系统(例如图5中所展示的实例性系统)的方法600的流程图。在605处,例如(举例来说)通过HMC协议来管理对所述计算机系统的分布式共享存储器的存取。所述共享存储器是针对三维存取而配置,且包含一或多个HMC装置。
在610处,将存储器一致性状态信息存储于分布式共享存储器中作为存储器一致性目录。在一些实例中,存储器一致性目录分布于计算机系统的多个HMC装置上。
在615处,在计算系统的多个处理器与共享存储器之间传递经包化信息,且在620处,将存储器一致性状态信息与所传递经包化信息包含在一起。在一些实例中,在620处,在计算机系统的处理器之间点对点地传递存储器一致性状态信息。
本文中所描述的实例性系统及方法提供优于常规多处理器分布式共享存储器系统的数个优点。由HMC装置提供的高带宽产生高带宽存储器及高带宽系统互连。HMC装置在系统架构中的分布使本地存储器之间以及与HMC装置互连的其它系统层级存储器之间的带宽及系统等待时间特性平衡。将存储器一致性协议并入到系统I/O协议中提供维持本地存储器与系统层级存储器之间的存储器请求的原子性的一个统一协议。所述统一协议通过减少或消除本地存储器存取与系统层级存储器存取之间的协议转译且通过使用用于本地存储器存取及系统层级存储器存取两者的高效HMC包规范而使等待时间最小化。通过卸载存储器一致性目录的维持且通过由SoC简化一致性目录查找而简化SoC设计。
尽管本文中已图解说明且描述了特定实施例,但所属领域的技术人员将了解,实现相同目的、结构或功能的任何布置可替代所展示的特定实施例。本申请案打算涵盖对本文中所描述的本发明的实例性实施例的任何改编或变化形式。本发明打算仅由权利要求书及其等效物的完整范围限制。
Claims (27)
1.一种计算系统,其包括:
多个主机处理器;及
多个堆叠存储器装置,其经配置为用于所述主机处理器的分布式共享存储器,每一堆叠存储器装置包含:
多个集成电路存储器裸片,其包含布置于第二存储器裸片的顶部上的至少第一存储器裸片,其中存储器一致性信息和数据一起存储于所述分布式共享存储器中;及
逻辑库裸片,所述逻辑库裸片包含:至少一个存储器控制器,其经配置以通过使用地址延伸重新映射物理存储器地址来管理至少一个单独装置对所述多个存储器裸片的存储器的存取,所述地址延伸指定所述多个堆叠存储器装置的堆叠存储器装置;及逻辑电路,其经配置以使用输入/输出(I/O)协议管理所述主机处理器和所述共享存储器之间的信息的通信,所述I/O协议包括存储器一致性协议以通过使用所述地址延伸重新映射存储器字地址而访问在所述分布式共享存储器中作为数据存储的高速缓存线,其中所述存储器一致性协议包括签出/签入机制以访问存储器字以及所述逻辑电路根据所述签出/签入机制在所述共享存储器中存储专属权状态信息。
2.根据权利要求1所述的系统,其中所述存储器裸片的存储器经映射为计算系统的共享存储器,且每一堆叠存储器装置的所述逻辑电路经配置以使用原子存储器操作作为所述I/O协议的部分而实施所述存储器一致性协议。
3.根据权利要求1所述的系统,其中每一堆叠存储器装置的所述逻辑电路经配置以作为用以存取所述存储器裸片的I/O协议的部分而传递经包化信息且将存储器一致性状态信息与所述经包化信息包含在一起。
4.根据权利要求1所述的系统,其中每一堆叠存储器装置的所述逻辑电路经配置以作为所述经包化信息的部分而传递地址信息且将存储器一致性状态信息与所述地址信息包含在一起。
5.根据权利要求1所述的系统,其中每一堆叠存储器装置的所述逻辑电路经配置以确定所述存储器裸片的存储器字的经修改状态信息、共享状态信息及无效状态信息且与所述存储器裸片的所述存储器字相关联地存储所述状态信息。
6.根据权利要求1所述的系统,其中每一堆叠存储器装置的所述逻辑电路经配置以确定所述存储器裸片的存储器字的专属权状态信息及所有权状态信息中的至少一者且与共享存储器数据字相关联地存储所述状态信息。
7.根据权利要求1所述的系统,其包含经配置为集线器堆叠存储器装置的至少一个堆叠存储器装置,其中所述集线器堆叠存储器装置的逻辑电路将路由信息添加到经包化消息,且接收堆叠存储器装置的所述逻辑电路使用路由信息来确定存储器一致性状态信息。
8.根据权利要求1所述的系统,其中每一堆叠存储器装置的所述逻辑电路经配置以在接收到对存储器字的专属存取的请求后即刻起始从所述堆叠存储器装置到具有所述存储器字的所有权的处理器的请求包。
9.根据权利要求1所述的系统,其中每一堆叠存储器的所述逻辑库裸片的所述存储器控制器经配置以管理至少一个处理器及另一堆叠存储器装置对所述存储器裸片的存储器的3D存取。
10.根据权利要求1所述的系统,其中每一堆叠存储器装置的所述存储器裸片包含布置为多个存储库的存储器,且所述逻辑库裸片包含用于所述存储器裸片的每一存储库的存储器控制器。
11.根据权利要求1到10中任一权利要求所述的系统,其中所述多个主机处理器的所述处理器为芯片上系统SoC处理器。
12.一种堆叠存储器装置,其包含:
多个集成电路存储器裸片,其包含布置于第二存储器裸片的顶部上的至少第一存储器裸片,其中存储器一致性信息和数据一起存储于所述多个存储器裸片的存储器中;及
逻辑库裸片,所述逻辑库裸片包含:至少一个存储器控制器,其经配置以通过使用地址延伸重新映射物理存储器地址来管理至少一个单独装置对所述多个存储器裸片的存储器的存取,所述地址延伸指定包含分布式共享存储器的多个堆叠存储器装置中的所述堆叠存储器装置;及逻辑电路,其经配置以使用输入/输出(I/O)协议管理所述至少一个单独装置和所述多个存储器裸片中的所述存储器之间的信息的通信,所述I/O协议包括存储器一致性协议以通过使用所述地址延伸重新映射存储器字地址而访问在所述分布式共享存储器中作为数据存储的高速缓存线,其中所述存储器一致性协议包括签出/签入机制以访问存储器字以及所述逻辑电路根据所述签出/签入机制在所述共享存储器中存储专属权状态信息。
13.根据权利要求12所述的堆叠存储器装置,其中所述逻辑库裸片的所述逻辑电路经配置以使用原子存储器操作管理所述信息的所述通信且使用所述原子存储器操作实施所述存储器一致性协议。
14.根据权利要求12所述的堆叠存储器装置,其中所述逻辑库裸片的所述逻辑电路经配置以作为所述I/O协议的部分而传递地址信息且将存储器一致性状态信息与所述地址信息包含在一起。
15.根据权利要求12所述的堆叠存储器装置,其中所述逻辑库裸片的所述逻辑电路经配置以确定所述存储器裸片的存储器字的经修改状态信息、共享状态信息及无效状态信息且与所述存储器裸片的所述存储器字相关联地存储所述状态信息。
16.根据权利要求12所述的堆叠存储器装置,其中所述逻辑库裸片的所述逻辑电路经配置以确定所述存储器裸片的存储器字的专属权状态信息及所有权状态信息中的至少一者且与共享存储器数据字相关联地存储所述状态信息。
17.根据权利要求12所述的堆叠存储器装置,其中所述逻辑库裸片的所述存储器控制器经配置以管理由至少一个处理器及由另一堆叠存储器装置进行的3D存取。
18.根据权利要求12到17中任一权利要求所述的堆叠存储器装置,其中所述存储器裸片包含布置为多个存储库的存储器,且所述逻辑库裸片包含用于所述存储器裸片的每一存储库的存储器控制器。
19.一种操作计算机系统的方法,所述方法包括:
管理对所述计算机系统的分布式共享存储器的存取,其中所述共享存储器是针对三维存取而配置;
将存储器一致性状态信息存储于所述分布式共享存储器中作为存储器一致性目录,其中存储器一致性信息和数据一起存储于所述分布式共享存储器中;
使用输入/输出(I/O)协议在计算系统的多个处理器与共享存储器之间传递经包化信息;及
将存储器一致性状态信息与所述I/O协议中的所述所传递经包化信息包含在一起且使用所述I/O协议访问在所述分布式共享存储器中作为数据的高速缓存线,其中访问所述高速缓存线包括将所述高速缓存线的共享存储器地址重新映射至所述共享存储器的特定的堆叠存储器装置,且其中所述I/O协议包括签出/签入机制以访问存储器字以及所述存储器一致性状态信息包括根据所述签出/签入机制确定的专属权状态信息。
20.根据权利要求19所述的方法,其中将存储器一致性状态信息与所述所传递经包化信息包含在一起包含:将所述存储器一致性状态信息并入到所述经包化信息的地址字段中。
21.根据权利要求19所述的方法,其包含使用所述所传递经包化信息来实施存储器一致性协议,其中所述存储器一致性目录的存储器一致性状态信息是由所述共享存储器使用所述存储器一致性协议来修改。
22.根据权利要求19所述的方法,其中将存储器一致性状态信息存储于所述共享存储器中包含:将所述存储器一致性状态信息与共享存储器数据字存储在一起。
23.根据权利要求19所述的方法,其中将存储器一致性状态信息存储于所述共享存储器中包含:将经修改位、共享位及无效位与所述共享存储器数据字存储在一起。
24.根据权利要求19所述的方法,其中将存储器一致性状态信息存储于所述共享存储器中包含:将专属权信息及所有权信息中的至少一者与所述共享存储器数据字存储在一起。
25.根据权利要求19所述的方法,其包含使用包含用于所述共享存储器的至少一个存储器控制器的逻辑库层来修改所述存储器一致性状态信息。
26.根据权利要求19所述的方法,其包含使用原子存储器操作来修改所述存储器一致性状态信息。
27.根据权利要求19到26中任一权利要求所述的方法,其包含由所述多个处理器中的处理器请求目标堆叠存储器装置的存储器字的特定状态;及起始从所述目标堆叠存储器装置到所述多个处理器中的一或多个处理器的响应。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461990207P | 2014-05-08 | 2014-05-08 | |
US61/990,207 | 2014-05-08 | ||
PCT/US2015/029718 WO2015171914A1 (en) | 2014-05-08 | 2015-05-07 | Hybrid memory cube system interconnect directory-based cache coherence methodology |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106462501A CN106462501A (zh) | 2017-02-22 |
CN106462501B true CN106462501B (zh) | 2019-07-09 |
Family
ID=54367952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580031855.3A Active CN106462501B (zh) | 2014-05-08 | 2015-05-07 | 基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US10838865B2 (zh) |
EP (1) | EP3140743B1 (zh) |
JP (2) | JP6637906B2 (zh) |
KR (1) | KR102068101B1 (zh) |
CN (1) | CN106462501B (zh) |
TW (1) | TWI687810B (zh) |
WO (1) | WO2015171914A1 (zh) |
Families Citing this family (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
JP6637906B2 (ja) | 2014-05-08 | 2020-01-29 | マイクロン テクノロジー,インク. | ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法 |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9847110B2 (en) | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US9836218B2 (en) | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
US10163467B2 (en) | 2014-10-16 | 2018-12-25 | Micron Technology, Inc. | Multiple endianness compatibility |
US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
US9779784B2 (en) | 2014-10-29 | 2017-10-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
WO2016126472A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for scatter and gather |
EP3254287A4 (en) | 2015-02-06 | 2018-08-08 | Micron Technology, INC. | Apparatuses and methods for memory device as a store for program instructions |
WO2016126474A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for parallel writing to multiple memory device locations |
CN107408408B (zh) | 2015-03-10 | 2021-03-05 | 美光科技公司 | 用于移位决定的装置及方法 |
US9741399B2 (en) | 2015-03-11 | 2017-08-22 | Micron Technology, Inc. | Data shift by elements of a vector in memory |
US9898253B2 (en) | 2015-03-11 | 2018-02-20 | Micron Technology, Inc. | Division operations on variable length elements in memory |
CN107430874B (zh) | 2015-03-12 | 2021-02-02 | 美光科技公司 | 用于数据移动的设备及方法 |
US10146537B2 (en) | 2015-03-13 | 2018-12-04 | Micron Technology, Inc. | Vector population count determination in memory |
US10049054B2 (en) | 2015-04-01 | 2018-08-14 | Micron Technology, Inc. | Virtual register file |
US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
US10073786B2 (en) | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US9921777B2 (en) | 2015-06-22 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for data transfer from sensing circuitry to a controller |
US9996479B2 (en) | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
US10984838B2 (en) * | 2015-11-17 | 2021-04-20 | Advanced Micro Devices, Inc. | Interconnect architecture for three-dimensional processing systems |
US9905276B2 (en) | 2015-12-21 | 2018-02-27 | Micron Technology, Inc. | Control of sensing components in association with performing operations |
US9952925B2 (en) | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
US10048888B2 (en) | 2016-02-10 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for partitioned parallel data movement |
US9892767B2 (en) | 2016-02-12 | 2018-02-13 | Micron Technology, Inc. | Data gathering in memory |
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
US9899070B2 (en) | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US9697876B1 (en) | 2016-03-01 | 2017-07-04 | Micron Technology, Inc. | Vertical bit vector shift in memory |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
US10379772B2 (en) | 2016-03-16 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for operations using compressed and decompressed data |
US9910637B2 (en) | 2016-03-17 | 2018-03-06 | Micron Technology, Inc. | Signed division in memory |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
US11074988B2 (en) | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10388393B2 (en) | 2016-03-22 | 2019-08-20 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
KR102469099B1 (ko) * | 2016-03-24 | 2022-11-24 | 에스케이하이닉스 주식회사 | 반도체 시스템 |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10453502B2 (en) | 2016-04-04 | 2019-10-22 | Micron Technology, Inc. | Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions |
US10607665B2 (en) | 2016-04-07 | 2020-03-31 | Micron Technology, Inc. | Span mask generation |
US9818459B2 (en) | 2016-04-19 | 2017-11-14 | Micron Technology, Inc. | Invert operations using sensing circuitry |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10042608B2 (en) | 2016-05-11 | 2018-08-07 | Micron Technology, Inc. | Signed division in memory |
US9659610B1 (en) | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10503641B2 (en) * | 2016-05-31 | 2019-12-10 | Advanced Micro Devices, Inc. | Cache coherence for processing in memory |
US10049707B2 (en) | 2016-06-03 | 2018-08-14 | Micron Technology, Inc. | Shifting data |
US10153251B2 (en) | 2016-06-06 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for scalable memory |
US10387046B2 (en) | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10388360B2 (en) | 2016-07-19 | 2019-08-20 | Micron Technology, Inc. | Utilization of data stored in an edge section of an array |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US9972367B2 (en) | 2016-07-21 | 2018-05-15 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US9767864B1 (en) | 2016-07-21 | 2017-09-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in a sensing circuitry element |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
US10468087B2 (en) | 2016-07-28 | 2019-11-05 | Micron Technology, Inc. | Apparatuses and methods for operations in a self-refresh state |
US9990181B2 (en) | 2016-08-03 | 2018-06-05 | Micron Technology, Inc. | Apparatuses and methods for random number generation |
US11029951B2 (en) | 2016-08-15 | 2021-06-08 | Micron Technology, Inc. | Smallest or largest value element determination |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
US10014034B2 (en) | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10529409B2 (en) | 2016-10-13 | 2020-01-07 | Micron Technology, Inc. | Apparatuses and methods to perform logical operations using sensing circuitry |
US9805772B1 (en) | 2016-10-20 | 2017-10-31 | Micron Technology, Inc. | Apparatuses and methods to selectively perform logical operations |
US10255184B2 (en) * | 2016-11-07 | 2019-04-09 | International Business Machines Corporation | Memory access architecture with coherence |
US10373666B2 (en) | 2016-11-08 | 2019-08-06 | Micron Technology, Inc. | Apparatuses and methods for compute components formed over an array of memory cells |
US10423353B2 (en) | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US9761300B1 (en) | 2016-11-22 | 2017-09-12 | Micron Technology, Inc. | Data shift apparatuses and methods |
KR101853210B1 (ko) | 2016-12-22 | 2018-04-27 | 한양대학교 산학협력단 | 하이브리드 메모리 큐브를 위한 링크 선택 방법 및 장치 |
US11397687B2 (en) * | 2017-01-25 | 2022-07-26 | Samsung Electronics Co., Ltd. | Flash-integrated high bandwidth memory appliance |
US10402340B2 (en) | 2017-02-21 | 2019-09-03 | Micron Technology, Inc. | Memory array page table walk |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
US10942843B2 (en) | 2017-04-25 | 2021-03-09 | Micron Technology, Inc. | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10068664B1 (en) | 2017-05-19 | 2018-09-04 | Micron Technology, Inc. | Column repair in memory |
US10013197B1 (en) | 2017-06-01 | 2018-07-03 | Micron Technology, Inc. | Shift skip |
US10152271B1 (en) | 2017-06-07 | 2018-12-11 | Micron Technology, Inc. | Data replication |
US10262701B2 (en) | 2017-06-07 | 2019-04-16 | Micron Technology, Inc. | Data transfer between subarrays in memory |
US10318168B2 (en) | 2017-06-19 | 2019-06-11 | Micron Technology, Inc. | Apparatuses and methods for simultaneous in data path compute operations |
US10845866B2 (en) * | 2017-06-22 | 2020-11-24 | Micron Technology, Inc. | Non-volatile memory system or sub-system |
US10162005B1 (en) | 2017-08-09 | 2018-12-25 | Micron Technology, Inc. | Scan chain operations |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
KR102395463B1 (ko) * | 2017-09-27 | 2022-05-09 | 삼성전자주식회사 | 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법 |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US20190243787A1 (en) * | 2018-02-05 | 2019-08-08 | Micron Technology, Inc. | Memory Systems having Controllers Embedded in Packages of Integrated Circuit Memory |
US11099789B2 (en) | 2018-02-05 | 2021-08-24 | Micron Technology, Inc. | Remote direct memory access in multi-tier memory systems |
US10782908B2 (en) | 2018-02-05 | 2020-09-22 | Micron Technology, Inc. | Predictive data orchestration in multi-tier memory systems |
US11416395B2 (en) | 2018-02-05 | 2022-08-16 | Micron Technology, Inc. | Memory virtualization for accessing heterogeneous memory components |
KR102504332B1 (ko) * | 2018-02-21 | 2023-02-28 | 삼성전자주식회사 | 서로 이격되어 배치되는 범프 어레이들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치 |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
JP6991446B2 (ja) * | 2018-05-18 | 2022-01-12 | 日本電信電話株式会社 | パケット処理装置及びそのメモリアクセス制御方法 |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US10977198B2 (en) * | 2018-09-12 | 2021-04-13 | Micron Technology, Inc. | Hybrid memory system interface |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US10852949B2 (en) | 2019-04-15 | 2020-12-01 | Micron Technology, Inc. | Predictive data pre-fetching in a data storage device |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
US11360906B2 (en) | 2020-08-14 | 2022-06-14 | Alibaba Group Holding Limited | Inter-device processing system with cache coherency |
KR102477775B1 (ko) * | 2020-09-28 | 2022-12-16 | 서울대학교산학협력단 | 서브 유닛을 갖는 가비지 컬렉션 장치 및 이를 포함하는 메모리 시스템 |
CN114038490B (zh) * | 2021-10-14 | 2023-07-04 | 西安紫光国芯半导体有限公司 | 基于三维异质集成的一致性链路存储芯片 |
US11966590B2 (en) | 2022-02-25 | 2024-04-23 | Samsung Electronics Co., Ltd. | Persistent memory with cache coherent interconnect interface |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415364B1 (en) * | 1997-12-31 | 2002-07-02 | Unisys Corporation | High-speed memory storage unit for a multiprocessor system having integrated directory and data storage subsystems |
US6944719B2 (en) * | 2002-05-15 | 2005-09-13 | Broadcom Corp. | Scalable cache coherent distributed shared memory processing system |
US6792512B2 (en) | 2002-08-06 | 2004-09-14 | International Business Machines Corporation | Method and system for organizing coherence directories in shared memory systems |
US6934814B2 (en) * | 2002-11-05 | 2005-08-23 | Newisys, Inc. | Cache coherence directory eviction mechanisms in multiprocessor systems which maintain transaction ordering |
JP4119380B2 (ja) | 2004-02-19 | 2008-07-16 | 株式会社日立製作所 | マルチプロセッサシステム |
US20060129709A1 (en) * | 2004-12-09 | 2006-06-15 | International Business Machines Corporation | Multipurpose scalable server communication link |
JP4572169B2 (ja) | 2006-01-26 | 2010-10-27 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム及びその動作方法 |
JP5021978B2 (ja) * | 2006-08-11 | 2012-09-12 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム及びその動作方法 |
US7477535B2 (en) * | 2006-10-05 | 2009-01-13 | Nokia Corporation | 3D chip arrangement including memory manager |
JP4967087B2 (ja) * | 2007-11-01 | 2012-07-04 | エヌイーシーコンピュータテクノ株式会社 | ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法 |
US8787060B2 (en) * | 2010-11-03 | 2014-07-22 | Netlist, Inc. | Method and apparatus for optimizing driver load in a memory package |
US7929368B2 (en) * | 2008-12-30 | 2011-04-19 | Micron Technology, Inc. | Variable memory refresh devices and methods |
WO2012077169A1 (ja) * | 2010-12-06 | 2012-06-14 | 富士通株式会社 | 情報処理システムおよび情報送信方法 |
US20130073811A1 (en) | 2011-09-16 | 2013-03-21 | Advanced Micro Devices, Inc. | Region privatization in directory-based cache coherence |
US9269646B2 (en) | 2011-11-14 | 2016-02-23 | Micron Technology, Inc. | Semiconductor die assemblies with enhanced thermal management and semiconductor devices including same |
US9753858B2 (en) * | 2011-11-30 | 2017-09-05 | Advanced Micro Devices, Inc. | DRAM cache with tags and data jointly stored in physical rows |
US9258276B2 (en) * | 2012-05-22 | 2016-02-09 | Xockets, Inc. | Efficient packet handling, redirection, and inspection using offload processors |
US9170948B2 (en) * | 2012-12-23 | 2015-10-27 | Advanced Micro Devices, Inc. | Cache coherency using die-stacked memory device with logic die |
US8856256B1 (en) * | 2013-03-13 | 2014-10-07 | CoralTree Inc. | System and method for file sharing and updating |
US10127154B2 (en) * | 2013-03-20 | 2018-11-13 | Hewlett Packard Enterprise Development Lp | Caching data in a memory system having memory nodes at different hierarchical levels |
EP2992436A4 (en) * | 2013-04-30 | 2018-04-04 | Hewlett-Packard Enterprise Development LP | Memory network to route memory traffic and i/o traffic |
JP6637906B2 (ja) | 2014-05-08 | 2020-01-29 | マイクロン テクノロジー,インク. | ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法 |
-
2015
- 2015-05-07 JP JP2016566636A patent/JP6637906B2/ja active Active
- 2015-05-07 CN CN201580031855.3A patent/CN106462501B/zh active Active
- 2015-05-07 EP EP15789174.8A patent/EP3140743B1/en active Active
- 2015-05-07 KR KR1020167034318A patent/KR102068101B1/ko active IP Right Grant
- 2015-05-07 WO PCT/US2015/029718 patent/WO2015171914A1/en active Application Filing
- 2015-05-07 US US14/706,516 patent/US10838865B2/en active Active
- 2015-05-08 TW TW104114782A patent/TWI687810B/zh active
-
2019
- 2019-09-17 JP JP2019168477A patent/JP6953488B2/ja active Active
-
2020
- 2020-10-08 US US17/066,432 patent/US11741012B2/en active Active
Non-Patent Citations (1)
Title |
---|
Memory-centric System Interconnect Design with Hybrid Memory Cubes;Gwangsun Kim etl,;《Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques》;20130911;145-151页 |
Also Published As
Publication number | Publication date |
---|---|
WO2015171914A1 (en) | 2015-11-12 |
US10838865B2 (en) | 2020-11-17 |
US11741012B2 (en) | 2023-08-29 |
JP6953488B2 (ja) | 2021-10-27 |
EP3140743A4 (en) | 2018-01-10 |
EP3140743A1 (en) | 2017-03-15 |
TW201612755A (en) | 2016-04-01 |
CN106462501A (zh) | 2017-02-22 |
JP2017515239A (ja) | 2017-06-08 |
KR102068101B1 (ko) | 2020-01-20 |
JP6637906B2 (ja) | 2020-01-29 |
US20150324290A1 (en) | 2015-11-12 |
EP3140743B1 (en) | 2021-11-24 |
US20210034524A1 (en) | 2021-02-04 |
JP2020021495A (ja) | 2020-02-06 |
KR20170002586A (ko) | 2017-01-06 |
TWI687810B (zh) | 2020-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106462501B (zh) | 基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 | |
US11908546B2 (en) | In-memory lightweight memory coherence protocol | |
CN105830059B (zh) | 文件访问方法、装置及存储设备 | |
CN106462524B (zh) | 使用混合存储器立方体链路的互连系统及方法 | |
CN103324585B (zh) | 分级缓存的处理器中的协作预取处理 | |
CN108459974A (zh) | 集成闪存的高带宽存储器设备 | |
CN109196829A (zh) | 远程存储器操作 | |
US9424193B2 (en) | Flexible arbitration scheme for multi endpoint atomic accesses in multicore systems | |
CN107844266A (zh) | 使用映射表的缓冲区分配和存储器管理 | |
CN108139882B (zh) | 针对网络装置实施阶层分布式链接列表的系统及方法 | |
CN106462361A (zh) | 用于可重新配置存储器系统的虚拟化物理地址 | |
CN108959113A (zh) | 用于闪存感知堆存储器管理的方法和系统 | |
US20190278676A1 (en) | Technologies for fast recovery of distributed storage systems on disaggregated storage | |
CN106155910A (zh) | 一种实现内存访问的方法、装置和系统 | |
US6775742B2 (en) | Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device | |
Leey et al. | Scalable Container-based Software Platform for Fabric-Attached Memory Pool | |
US20210286727A1 (en) | Dynamic random access memory (dram) with scalable meta data | |
CN117171067A (zh) | 跨操作系统域的全局虚拟地址空间 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |