CN102331974B - 用于处理器主存储器的持久存储器 - Google Patents
用于处理器主存储器的持久存储器 Download PDFInfo
- Publication number
- CN102331974B CN102331974B CN201110159792.3A CN201110159792A CN102331974B CN 102331974 B CN102331974 B CN 102331974B CN 201110159792 A CN201110159792 A CN 201110159792A CN 102331974 B CN102331974 B CN 102331974B
- Authority
- CN
- China
- Prior art keywords
- memory
- cache memory
- multiple processor
- primary
- primary memory
- 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
-
- 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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/314—In storage network, e.g. network attached cache
-
- 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/68—Details of translation look-aside buffer [TLB]
- G06F2212/682—Multiprocessor TLB consistency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本文中所揭示的标的物涉及一种包含持久存储器的具有一个或一个以上处理器的系统。
Description
技术领域
本文中所揭示的标的物涉及一种包含持久存储器的具有一个或一个以上存储器的系统。
背景技术
举例来说,中央处理单元(CPU)可用于许多类型的电子装置中,例如,计算机、蜂窝电话、PDA、数据记录器、游戏及导航设备。在此类电子装置当中,举例来说,一个或一个以上CPU的各种配置可用于(例如)多处理器系统中。CPU可与存储器装置相关联以实施特定功能。举例来说,CPU可与主存储器相关联以维持由所述CPU托管的一个或一个以上应用程序。在另一实例中,CPU可与高速缓冲存储器相关联以提供对各种类型的所存储信息的相对快存取。
附图说明
将参考以下各图描述非限制性及非穷举性实施例,其中除非另有说明,否则在所有各图中相似参考编号指代相似部件。
图1是根据一实施例的存储器配置的示意图。
图2是根据一实施例的多处理器系统的示意图。
图3是根据另一实施例的多处理器系统配置的示意图。
图4是根据一实施例的计算系统及存储器装置的示意性视图。
发明内容
本发明的一个实施例涉及一种存储器装置,其包括:存储器控制器,其适于与由具有高速缓冲存储器的多个处理器共享的主存储器通信,所述多个处理器的至少一个处理器包括局部存储器,所述局部存储器包含由所述多个处理器的至少一个其他处理器共享的持久存储器,所述存储器控制器进一步适于从所述主存储器检索信息以初始化包含于所述多个处理器中的所述高速缓冲存储器,其中所述主存储器的至少一部分包括持久存储器。
本发明的另一个实施例涉及一种操作存储器装置的方法,其包括:从在具有板上高速缓冲存储器的多个处理器当中共享的主存储器检索信息,所述多个处理器的至少一个处理器包括局部存储器,所述局部存储器包含由所述多个处理器的至少一个其他处理器共享的持久存储器;及在启动之后将所述信息加载到所述板上高速缓冲存储器以初始化所述板上高速缓冲存储器,其中所述主存储器的至少一部分包括持久存储器。
本发明的另一个实施例涉及一种计算系统,其包括:多个处理实体,其用以托管一个或一个以上应用程序,所述处理实体中的个别实体包含板上高速缓冲存储器,所述板上高速缓冲存储器包括由所述处理实体的至少一个其他处理实体共享的持久存储器;主存储器,其由所述处理实体的至少一个其他处理实体共享,其具有用以连接到所述多个处理实体的至少一个接口,其中所述主存储器的至少一部分包括持久存储器;及存储器控制器,其用以从所述持久主存储器检索信息以初始化多个处理器中的所述板上高速缓冲存储器。
具体实施方式
此说明书通篇所提及的“一个实施例”或“一实施例”意指结合所述实施例描述的特定特征、结构或特性包含于所主张的标的物的至少一个实施例中。因此,在此说明书通篇中的各个地方出现的短语“在一个实施例中”或“一实施例”未必完全指代同一实施例。此外,可将所述特定特征、结构或特性组合于一个或一个以上实施例中。
在一实施例中,两个或两个以上处理实体(例如,中央处理单元(CPU))的系统可包括持久存储器。举例来说,持久存储器可用于主存储器的至少一部分,所述主存储器可在多个CPU当中共享。举例来说,具有CPU的此系统可包括用以在若干个环境中的任一者中执行应用程序的计算系统,例如,计算机、蜂窝电话、PDA、数据记录器及导航设备,此处仅举几个实例。特定来说,可由多个CPU同时执行多个应用程序。在一实施方案中,一个或一个以上此类CPU可个别地与主存储器及/或高速缓冲存储器相关联。此处,此主存储器或高速缓冲存储器的一部分可包括持久存储器。举例来说,主存储器及/或高速缓冲存储器可包括持久存储器的一部分及其它类型的随机存取存储器(RAM)的一部分。在特定实例中,主存储器可包含相变存储器(PCM)及动态随机存取存储器(DRAM)的至少一部分。在另一特定实例中,高速缓冲存储器可包括PCM及/或DRAM。举例来说,如下文所解释,此类存储器配置可提供例如非易失性、相对高的编程/读取速度及/或延长的PCM寿命等益处。举例来说,包含持久存储器的主存储器可提供另一益处,例如,避免对将来自非易失性存储器的可执行指令及/或其它信息加载到易失性DRAM中的需要。因此,增加的存储器操作速度(例如,读取、写入或擦除操作)及/或减少的存储器装置功率消耗可属于由包含持久存储器的主存储器提供的若干优点中。当然,包含PCM或其它持久存储器作为主存储器的实施例的此类特征及细节仅为实例,且所主张的标的物并不受如此限制。
本文中,持久存储器是指非易失性存储器,例如可具有位可更改能力的PCM。持久存储器的另一特征包含不对称读取/写入速度,其中对于给定存储器单元编程速度可比读取速度慢。举例来说,如下文所解释,在多处理器系统中存在具有此类特征的持久存储器可利用特定高速缓冲存储器相干性协议以允许一个或一个以上处理实体共享主存储器。本文中,主存储器是指由处理实体用以维持可由所述处理实体执行的一个或一个以上应用程序的存储器,但所主张的标的物在此方面并不受限制。
在一实施例中,PCM可用作具有一个或一个以上处理实体的系统的主存储器。在此情况下,举例来说,PCM可涉及适用于DRAM或其它类型的RAM的相同高速缓冲存储器相干性协议中的至少一些协议。然而,PCM可在PCM包括持久存储器的意义上不同于DRAM。举例来说,DRAM可在移除电力的情况下丢失所存储的内容,而PCM可甚至在移除电力的情况下仍维持所存储的内容。在另一实例中,对于DRAM,读取速度及编程速度可相同,而对于PCM,读取速度及编程速度可彼此不同且与DRAM相比为相对慢的。因此,在一实施方案中,如果PCM构成主存储器的至少一部分,那么可将高速缓冲存储器相干性语义添加到高速缓冲存储器相干性管理以支持PCM的非易失性特性。在具有构成主存储器的至少一部分的PCM的另一实施方案中,可将高速缓冲存储器相干性语义添加到高速缓冲存储器相干性管理以支持PCM的相对长的不对称读取/写入速度以适应与读取操作相比编程操作的增加的等待时间。当然,所主张的标的物并不限于DRAM或PCM的此类特定特征。
在一实施例中,存储器装置可包括具有用以经由总线(举例来说)连接到多个处理器的至少一个接口的主存储器。在一个实施方案中,此类处理器可包含板上(例如,嵌入式)高速缓冲存储器。此类处理器可进一步包含下文所描述的寄存器,例如,转换后备缓冲器(TLB)。主存储器的至少一部分可包括持久存储器。此存储器装置可进一步包括存储器控制器以从持久主存储器检索信息以初始化多个处理器中的板上高速缓冲存储器,如下文详细阐述。
在另一实施例中,使用特定存储器装置的方法可包括在多个处理器当中共享主存储器。在一个实施方案中,此类处理器可包含板上高速缓冲存储器,其可包括寄存器,例如TLB。主存储器的至少一部分可包括持久存储器。举例来说,此持久存储器可包括PCM。
使用特定存储器装置的方法可进一步包括将信息存储于此持久主存储器中。举例来说,此存储可发生于将主存储器及/或所述多个处理器中的一者或一者以上断电时,在此之后可发生TLB初始化,如下文所解释。因此,使用特定存储器装置的方法可进一步包括从持久主存储器检索所存储的信息以初始化TLB。
在一实施方案中,举例来说,TLB可包括由存储器管理硬件用以改进虚拟地址转换速度的CPU高速缓冲存储器。TLB可实施为内容可寻址存储器(CAM)。在此情况下,CAM搜索关键字可包括虚拟地址且搜索结果可包括物理地址。举例来说,如果所请求的地址存在于TLB中,那么CAM搜索可相对迅速地产生匹配,从而导致可用于存取存储器的所检索物理地址。然而,举例来说,如果所请求的地址不在TLB中,那么所得过程可包含读取多个存储器位置的内容且使用所述读取内容的至少一部分来确定物理地址。
一般来说,写入或编程过程可用于将信息存储于存储器装置中,而读取过程可用于检索所存储的信息。可从存储器装置的全部或一部分擦除所存储的信息及/或可将新信息写入到存储器装置的全部或一部分中。相对大数目的此类编程-擦除及/或编程-再编程循环可使PCM的物理完整性降级。举例来说,强加于并入有PCM的主存储器的数千个编程-擦除循环可降低所述主存储器的可靠性。如果使用此PCM存储器,那么可有益于限制及/或减少编程-擦除循环的发生数目或PCM主存储器可以其它方式经历的“循环”数目。因此,在一个实施例中,用以管理并入有PCM的主存储器的循环的技术可包括高速缓存写入信息。因此,除在速度及效率方面提供经改进的处理器系统性能的益处以外,高速缓冲存储器还可提供用于减少PCM循环以延长PCM主存储器的寿命的方法。特定来说,存储器装置(例如,DRAM高速缓冲存储器)可用于高速缓存对应于PCM主存储器的特定地址的写入信息。可至少部分地基于包含于主存储器中的PCM的性质来选择此DRAM高速缓冲存储器的存储器大小。举例来说,此类性质可包含并入有PCM主存储器的系统的PCM循环规范、PCM故障率、PCM写入速度、写入使用模型,及/或所使用的PCM写入损耗均衡技术。虽然陈述PCM的特定使用,但管理并入有若干存储器类型中的任一者的主存储器的循环的此技术可类似地包括高速缓存写入信息,如上文所描述。因此,所主张的标的物并不限于此类细节。
图1是根据一实施例的处理系统100的示意性框图。处理系统100可包括CPU110、主存储器120及/或高速缓冲存储器130。特定来说,CPU110可托管维持于主存储器120中的一个或一个以上应用程序。虽然图1中未展示,但处理系统100可包括额外CPU或其它此类处理实体、额外主存储器及/或额外高速缓冲存储器。举例来说,CPU110、主存储器120及/或高速缓冲存储器130可共同地构成用于较大多处理器系统的构建块。在一个实施方案中,处理系统100可使用包含一个或一个以上高速缓冲存储器层级的存储器分级来操作。任一此层级可包括在多个CPU当中共享的持久存储器。举例来说,高速缓冲存储器可包括第一层级高速缓冲存储器及第二层级高速缓冲存储器,其中的任一者的至少一部分可包括持久存储器。当然,处理系统及高速缓冲存储器的此类细节仅为实例,且所主张的标的物并不受如此限制。在一实施例中,主存储器110的至少一部分可包括持久存储器。在特定实施方案中,主存储器110的另一部分可包括其它类型的存储器,例如易失性DRAM。持久存储器的各部分无需相连地布置于(举例来说)可包括一个或一个以上裸片结构的主存储器210中。
图2是根据一实施例的多处理器系统200的示意性框图。此多处理器系统可包含任一数目的处理实体,但图2中仅展示两个此类实体。在特定实例中,此类处理实体可包括与高速缓冲存储器230相关联的第一CPU210及与高速缓冲存储器235相关联的第二CPU215。在一个实施方案中,举例来说,第一CPU210及第二CPU215可各自包含局部存储器(未展示),所述局部存储器包括嵌入式持久存储器。在另一实施方案中,第一CPU210及第二CPU215可共享包含持久存储器的主存储器250。特定来说,持久存储器可包含于包括高速缓冲存储器(例如,各个高速缓冲存储器层级)及主存储器的存储器分级中。举例来说,此主存储器的至少一部分可包括PCM。此存储器分级可用于管理包括高速缓冲存储器及主存储器的分布式存储器。第一CPU210及第二CPU215(及可存在于计算机平台(举例来说)中的其它CPU)可共享此分布式存储器。在此情况下,举例来说,持久存储器可包含于另一(例如,第三)CPU或可在CPU210及第二CPU215当中共享的存储器分级上的单跳局部存储器或多跳分布式及共享存储器中。
在一个实施方案中,多处理器系统200可包括计算平台的一部分,其中主存储器250可用作与分页过程相关联的虚拟存储器。在此实施方案中,高速缓冲存储器230及235两者都可包括TLB,所述高速缓冲存储器230及235可指向特定页表,所述特定页表又可指向一个或一个以上个别页。举例来说,包括TLB的高速缓冲存储器230可指向页表254且页表254又可指向页252及页256。此外,包括TLB的高速缓冲存储器235可指向页表264且页表264又可指向页262、页266及页268。在特定实施方案中,CPU中的此类TLB(例如,高速缓冲存储器230及235)可包括非持久性的寄存器。因此,举例来说,在断电之后,此类TLB可即刻丢失所存储的信息。在此断电之后,TLB可在一过程期间被初始化以启动CPU及/或TLB。在一个实施方案中,TLB可包括包含于处理器中的寄存器。举例来说,此TLB可指向主存储器中的页表的基址。此TLB可经初始化而具有主存储器的指针。所述处理器可使用维持于所述TLB中的信息来进行快速查找。
在其中此TLB包括持久存储器的情况下,举例来说,所述TLB无需在断电后的启动之后即刻被初始化。在其中主存储器的至少一部分包括持久存储器的情况下,可使用存储于主存储器的特定位置中的信息来初始化TLB。同样,可在断电后的启动之后即刻执行此初始化,但所主张的标的物并不受如此限制。举例来说,用以初始化TLB的一个技术可涉及将TLB信息的副本存储于持久主存储器250中的特定位置中。在此情况下,在初始化之后,个别CPU210及/或215可将来自持久主存储器250中的特定位置的相应TLB信息复制到处理器的相关联TLB。举例来说,在初始化之后,CPU210可将来自持久主存储器250中的页270的TLB信息复制到处理器的相关联TLB,例如高速缓冲存储器230。此外,在初始化之后,CPU215可将来自持久主存储器250中的页260的TLB信息复制到处理器的相关联TLB,例如,高速缓冲存储器235。在实施此技术之后,持久主存储器250还可被初始化。此初始化的一个原因可能是因为一旦TLB被初始化,依据定义,持久主存储器便可由于页表基址及/或页表条目可在持久存储器中保持有效且持久的事实而被初始化。当然,多处理器系统200的此类细节仅为实例,且所主张的标的物并不受如此限制。
图3是根据一实施例的多核系统300的示意性框图。举例来说,此系统可包括经由一个或一个以上总线彼此连接的处理器节点302、304、306及308。在一个实施方案中,多核系统300可包括共享的存储器多处理器。个别处理器节点302、304、306及308可分别包含CPU310、312、314及316、高速缓冲存储器330、332、334及336及/或局部存储器320、322、324及326。在特定处理器节点内,此类局部存储器可包括与所述特定处理器节点的处理器相关联的主存储器。举例来说,在处理器节点302中,局部存储器320可包括与处理器310相关联的主存储器。在一实施方案中,局部存储器可由其它处理器节点的CPU共享或存取。一个或一个以上局部存储器320、322、324及326可包括持久存储器的全部或至少一部分。在特定实施方案中,局部存储器的一部分可包括各种类型的存储器,例如易失性DRAM。持久存储器的各部分无需相连地布置于(举例来说)可包括一个或一个以上裸片结构的局部存储器中。举例来说,虽然未展示,但处理器单元可包含与CPU集成于同一裸片上或集成于单独裸片上的存储器控制器。此外,虽然图3展示具有四个节点的系统,但可包含任一数目的节点且所主张的标的物并不限于此特定布置。
高速缓冲存储器330、332、334及336可包括用于存储从局部存储器320、322、324及326中的任一者获得的信息的副本的相对高速存储器。在一个实施方案中,一个或一个以上高速缓冲存储器330、335、334及336的至少一部分可包括持久存储器。举例来说,可使用个别局部存储器的地址的至少一部分来搜索此高速缓冲存储器。存储器地址的用于搜索高速缓冲存储器的此一部分称作高速缓冲存储器索引部分。举例来说,高速缓冲存储器330可包括高速缓冲存储器索引部分及高速缓冲存储器数据部分。举例来说,所述高速缓冲存储器索引部分可包含存储于高速缓冲存储器330中的信息的线地址以及高速缓冲存储器状态信息,如上文所描述。当然,多核系统的此类细节仅为实例,且所主张的标的物并不受如此限制。
图4是图解说明包含存储器装置410的计算系统400的例示性实施例的示意图。计算装置404可表示可为可配置以管理存储器装置410的任一装置、器具或机器。存储器装置410可包含存储器控制器415及存储器422。通过举例而非限制的方式,计算装置404可包含:一个或一个以上计算装置及/或平台,例如,桌上型计算机、膝上型计算机、工作站、服务器装置或类似装置;一个或一个以上个人计算或通信装置或器具,例如,个人数字助理、移动通信装置或类似装置;计算系统及/或相关联服务提供者能力,例如,数据库或数据存储服务提供者/系统;及/或其任一组合。
在一实施例中,计算装置404可包含一个或一个以上处理单元,其可通过总线440及主机或存储器控制器415以操作方式耦合到存储器422。处理单元420表示可配置以执行数据计算程序或过程的至少一部分的一个或一个以上电路。通过举例而非限制的方式,处理单元420可包含一个或一个以上处理器、控制器、微处理器、微控制器、专用集成电路、数字信号处理器、可编程逻辑装置、现场可编程门阵列及类似装置或其任一组合。举例来说,处理单元420可与存储器控制器415通信以处理存储器相关操作,例如读取、写入及/或擦除以及上文所论述的存储器分区过程。处理单元420可包含适于与存储器控制器415通信的操作系统。此操作系统可(举例来说)产生待经由总线440发送到存储器控制器415的命令。举例来说,此类命令可包含读取/写入指令。
存储器422表示任一数据存储机构。存储器422可包含(举例来说)DRAM424及/或持久存储器426。在特定实施例中,存储器422可包括包含持久存储器的至少一部分的主存储器,如上文所描述。存储器422还可包括可同样包含持久存储器的至少一部分的高速缓冲存储器。尽管在此实例中图解说明为与处理单元420分离,但应理解,DRAM424的全部或部分可提供于处理单元420内或以其它方式与处理单元420位于同一地点/耦合。
根据一实施例,存储器422的一个或一个以上部分可存储表示如由存储器422的特定状态所表达的数据及/或信息的信号。举例来说,可通过以下方式将表示数据及/或信息的电子信号“存储”于存储器422的一部分中:影响或改变存储器422的此类部分的状态以将数据及/或信息表示为二进制信息(例如,1及0)。如此,在特定实施方案中,存储器的所述部分的状态的此改变以存储表示数据及/或信息的信号构成存储器422到不同状态或事态的变换。
在一个实施例中,系统400可包括两个或两个以上处理单元420及具有至少一个接口以连接到具有板上高速缓冲存储器的此多个处理器(例如,经由到处理单元420的总线440)的主存储器,其中主存储器的至少一部分可包括持久存储器。系统400可进一步包括存储器控制器以从持久主存储器检索信息以初始化所述板上高速缓冲存储器。举例来说,此持久存储器可包括PCM。
计算装置404可包含(举例来说)输入/输出432。输入/输出432表示可为可配置以接受或以其它方式引入人类及/或机器输入的一个或一个以上装置或特征,及/或可为可配置以递送或以其它方式提供人类及/或机器输出的一个或一个以上装置或特征。通过举例而非限制的方式,输入/输出装置432可包含以操作方式配置的显示器、扬声器、键盘、鼠标、轨迹球、触摸屏、数据端口等。
尽管已图解说明及描述了目前被视为实例性实施例的实施例,但所属领域的技术人员将理解可做出各种其它修改且可用等效物替代,此并不背离所主张的标的物。另外,可在不背离本文中所描述的中心概念的情况下做出许多修改以使特定情形适应所主张的标的物的教示。因此,打算所主张的标的物不限于所揭示的特定实施例,而是此所主张的标的物还可包含归属于所附权利要求书及其等效物的范围内的所有实施例。
Claims (20)
1.一种存储器装置,其包括:
存储器控制器,其适于与由具有高速缓冲存储器的多个处理器共享的主存储器通信,所述多个处理器的至少一个处理器包括局部存储器,所述局部存储器包含由所述多个处理器的至少一个其他处理器共享的持久存储器,所述存储器控制器进一步适于从所述主存储器检索信息以初始化包含于所述多个处理器中的所述高速缓冲存储器,其中所述主存储器的至少一部分包括持久存储器。
2.根据权利要求1所述的存储器装置,其中所述高速缓冲存储器包括转换后备缓冲器TLB。
3.根据权利要求2所述的存储器装置,其中所述信息包括所述TLB的初始值。
4.根据权利要求1所述的存储器装置,其中所述多个处理器个别地包含嵌入式存储器,其中所述多个处理器中的至少一者包含所述主存储器。
5.根据权利要求1所述的存储器装置,其中所述主存储器包括在所述多个处理器当中共享的单个主存储器。
6.根据权利要求1所述的存储器装置,其中所述多个处理器包括多个处理系统。
7.根据权利要求1所述的存储器装置,其进一步包括:
存储器分级,其包含在所述多个处理器当中共享的一个或一个以上高速缓冲存储器层级。
8.根据权利要求7所述的存储器装置,其中所述一个或一个以上高速缓冲存储器层级的至少一部分包括持久存储器。
9.根据权利要求1所述的存储器装置,其中所述持久存储器包括相变存储器(PCM)。
10.根据权利要求1所述的存储器装置,其中所述高速缓冲存储器包括板上高速缓冲存储器。
11.一种操作存储器装置的方法,其包括:
从在具有板上高速缓冲存储器的多个处理器当中共享的主存储器检索信息,所述多个处理器的至少一个处理器包括局部存储器,所述局部存储器包含由所述多个处理器的至少一个其他处理器共享的持久存储器;及
在启动之后将所述信息加载到所述板上高速缓冲存储器以初始化所述板上高速缓冲存储器,其中所述主存储器的至少一部分包括持久存储器。
12.根据权利要求11所述的方法,其中所述板上高速缓冲存储器包括转换后备缓冲器TLB。
13.根据权利要求12所述的方法,其中所述信息包括所述TLB的初始值。
14.根据权利要求11所述的方法,其中所述多个处理器个别地包含嵌入式存储器,其中所述多个处理器中的至少一者包含所述主存储器。
15.根据权利要求11所述的方法,其中所述主存储器包括在所述多个处理器当中共享的单个主存储器。
16.根据权利要求11所述的方法,其进一步包括:
管理包含在所述多个处理器当中共享的一个或一个以上高速缓冲存储器层级的存储器分级中的所述主存储器。
17.根据权利要求11所述的方法,其中所述持久存储器包括相变存储器(PCM)。
18.一种计算系统,其包括:
多个处理实体,其用以托管一个或一个以上应用程序,所述处理实体中的个别实体包含板上高速缓冲存储器,所述板上高速缓冲存储器包括由所述处理实体的至少一个其他处理实体共享的持久存储器;
主存储器,其由所述处理实体的至少一个其他处理实体共享,其具有用以连接到所述多个处理实体的至少一个接口,其中所述主存储器的至少一部分包括持久存储器;及
存储器控制器,其用以从所述持久主存储器检索信息以初始化多个处理器中的所述板上高速缓冲存储器。
19.根据权利要求18所述的系统,其中所述板上高速缓冲存储器包括转换后备缓冲器TLB。
20.根据权利要求19所述的系统,其中所述信息包括所述TLB的初始值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/797,512 | 2010-06-09 | ||
US12/797,512 US8694737B2 (en) | 2010-06-09 | 2010-06-09 | Persistent memory for processor main memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102331974A CN102331974A (zh) | 2012-01-25 |
CN102331974B true CN102331974B (zh) | 2015-01-28 |
Family
ID=45020213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110159792.3A Active CN102331974B (zh) | 2010-06-09 | 2011-06-09 | 用于处理器主存储器的持久存储器 |
Country Status (6)
Country | Link |
---|---|
US (3) | US8694737B2 (zh) |
JP (1) | JP5752989B2 (zh) |
KR (1) | KR101359813B1 (zh) |
CN (1) | CN102331974B (zh) |
DE (1) | DE102011076894B9 (zh) |
TW (1) | TWI506435B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8626997B2 (en) * | 2009-07-16 | 2014-01-07 | Micron Technology, Inc. | Phase change memory in a dual inline memory module |
US8694737B2 (en) | 2010-06-09 | 2014-04-08 | Micron Technology, Inc. | Persistent memory for processor main memory |
US9448938B2 (en) | 2010-06-09 | 2016-09-20 | Micron Technology, Inc. | Cache coherence protocol for persistent memories |
US8613074B2 (en) | 2010-09-30 | 2013-12-17 | Micron Technology, Inc. | Security protection for memory content of processor main memory |
US9507534B2 (en) * | 2011-12-30 | 2016-11-29 | Intel Corporation | Home agent multi-level NVM memory architecture |
CN103838746B (zh) * | 2012-11-21 | 2017-05-31 | 杭州海康威视数字技术股份有限公司 | 多cpu系统共享存储数据的方法及该系统 |
CN103838676B (zh) * | 2012-11-22 | 2017-10-17 | 华为技术有限公司 | 数据存储系统、数据存储方法及pcm桥 |
US20140181427A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Compound Memory Operations in a Logic Layer of a Stacked Memory |
US9195614B2 (en) | 2013-01-08 | 2015-11-24 | International Business Machines Corporation | Instantaneous save/restore of virtual machines with persistent memory |
US9367472B2 (en) * | 2013-06-10 | 2016-06-14 | Oracle International Corporation | Observation of data in persistent memory |
US10452498B2 (en) * | 2013-06-28 | 2019-10-22 | Hewlett Packard Enterprise Development Lp | Fault tolerance for persistent main memory |
KR101635665B1 (ko) * | 2013-10-31 | 2016-07-01 | 주식회사 엘지화학 | 응용 모듈 데이터제어장치 및 그 데이터제어방법 |
CN106104561B (zh) | 2014-03-28 | 2019-10-22 | 惠普发展公司,有限责任合伙企业 | 允许针对bios的安装使用测试密钥的方法和设备 |
US10922228B1 (en) | 2015-03-31 | 2021-02-16 | EMC IP Holding Company LLC | Multiple location index |
US10210087B1 (en) * | 2015-03-31 | 2019-02-19 | EMC IP Holding Company LLC | Reducing index operations in a cache |
US10007435B2 (en) * | 2015-05-21 | 2018-06-26 | Micron Technology, Inc. | Translation lookaside buffer in memory |
US20170123796A1 (en) * | 2015-10-29 | 2017-05-04 | Intel Corporation | Instruction and logic to prefetch information from a persistent memory |
US10248571B2 (en) * | 2016-08-11 | 2019-04-02 | Hewlett Packard Enterprise Development Lp | Saving position of a wear level rotation |
US11216396B2 (en) | 2016-09-29 | 2022-01-04 | Intel Corporation | Persistent memory write semantics on PCIe with existing TLP definition |
CN108334331B (zh) * | 2018-02-08 | 2021-05-25 | 苏州妙益科技股份有限公司 | 一种安全的电动汽车电池管理系统软件升级方法 |
US11544197B2 (en) | 2020-09-18 | 2023-01-03 | Alibaba Group Holding Limited | Random-access performance for persistent memory |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101131624A (zh) * | 2007-08-17 | 2008-02-27 | 杭州华三通信技术有限公司 | 存储控制系统及其处理节点 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0358163A (ja) | 1989-07-26 | 1991-03-13 | Nec Corp | 疎結合型マルチプロセッサシステム |
JPH06150031A (ja) | 1992-10-30 | 1994-05-31 | Nec Corp | Cpuモジュール |
US5442704A (en) | 1994-01-14 | 1995-08-15 | Bull Nh Information Systems Inc. | Secure memory card with programmed controlled security access control |
JPH0816470A (ja) | 1994-07-04 | 1996-01-19 | Hitachi Ltd | 並列計算機 |
JP3320562B2 (ja) | 1994-09-22 | 2002-09-03 | 株式会社東芝 | キャッシュメモリを有する電子計算機 |
JP3210590B2 (ja) | 1996-11-29 | 2001-09-17 | 株式会社日立製作所 | マルチプロセッサシステムおよびキャッシュコヒーレンシ制御方法 |
JPH10171676A (ja) * | 1996-12-10 | 1998-06-26 | Toshiba Corp | マイクロプロセッサのテスト容易化回路 |
US6516384B1 (en) | 1999-12-30 | 2003-02-04 | Intel Corporation | Method and apparatus to perform a round robin and locking cache replacement scheme |
US6452823B1 (en) | 2001-01-31 | 2002-09-17 | Motorola, Inc. | Non-volatile magnetic cache memory and method of use |
US6760819B2 (en) * | 2001-06-29 | 2004-07-06 | International Business Machines Corporation | Symmetric multiprocessor coherence mechanism |
EP1407456A2 (en) | 2001-07-18 | 2004-04-14 | Matsushita Electric Industrial Co., Ltd. | Writing apparatus, semiconductor memory card, writing proguram, and writing method |
US6658539B2 (en) | 2001-10-16 | 2003-12-02 | International Business Machines Corporation | Super-coherent data mechanisms for shared caches in a multiprocessing system |
US6983348B2 (en) * | 2002-01-24 | 2006-01-03 | Intel Corporation | Methods and apparatus for cache intervention |
US6892283B2 (en) | 2002-12-05 | 2005-05-10 | International Business Machines Corporation | High speed memory cloner with extended cache coherency protocols and responses |
US7322042B2 (en) | 2003-02-07 | 2008-01-22 | Broadon Communications Corp. | Secure and backward-compatible processor and secure software execution thereon |
JP4241175B2 (ja) | 2003-05-09 | 2009-03-18 | 株式会社日立製作所 | 半導体装置 |
US20050080999A1 (en) | 2003-10-08 | 2005-04-14 | Fredrik Angsmark | Memory interface for systems with multiple processors and one memory system |
US20050160229A1 (en) * | 2004-01-16 | 2005-07-21 | International Business Machines Corporation | Method and apparatus for preloading translation buffers |
US7644287B2 (en) | 2004-07-29 | 2010-01-05 | Microsoft Corporation | Portion-level in-memory module authentication |
US7240137B2 (en) * | 2004-08-26 | 2007-07-03 | International Business Machines Corporation | System and method for message delivery across a plurality of processors |
US7451166B2 (en) | 2005-01-13 | 2008-11-11 | International Business Machines Corporation | System and method for maintaining checkpoints of a keyed data structure using a sequential log |
CN101180612A (zh) | 2005-03-31 | 2008-05-14 | 日本电气株式会社 | 计算机系统、存储器管理方法及其程序 |
US20060265544A1 (en) | 2005-05-17 | 2006-11-23 | John Rudelic | Internally authenticated flash remediation |
JP2006323739A (ja) | 2005-05-20 | 2006-11-30 | Renesas Technology Corp | メモリモジュール、メモリシステム、及び情報機器 |
US7389402B2 (en) * | 2005-06-07 | 2008-06-17 | Advanced Micro Devices, Inc. | Microprocessor including a configurable translation lookaside buffer |
US20070226795A1 (en) | 2006-02-09 | 2007-09-27 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
WO2007105256A1 (ja) | 2006-02-24 | 2007-09-20 | Fujitsu Limited | マルチプロセッサシステム、プロセッサ、およびキャッシュ制御方法 |
WO2008040028A2 (en) | 2006-09-28 | 2008-04-03 | Virident Systems, Inc. | Systems, methods, and apparatus with programmable memory control for heterogeneous main memory |
US7827360B2 (en) | 2007-08-02 | 2010-11-02 | Freescale Semiconductor, Inc. | Cache locking device and methods thereof |
US8015365B2 (en) | 2008-05-30 | 2011-09-06 | Intel Corporation | Reducing back invalidation transactions from a snoop filter |
US8055847B2 (en) | 2008-07-07 | 2011-11-08 | International Business Machines Corporation | Efficient processing of data requests with the aid of a region cache |
US8250350B2 (en) * | 2008-08-26 | 2012-08-21 | Texas Digital And Multimedia Systems | Computer system with non-volatile write-protected memory based operating system and secure system architecture |
CN101673245B (zh) * | 2008-09-09 | 2016-02-03 | 株式会社东芝 | 包括存储器管理装置的信息处理装置和存储器管理方法 |
TW201017421A (en) | 2008-09-24 | 2010-05-01 | Panasonic Corp | Cache memory, memory system and control method therefor |
US8261019B2 (en) * | 2009-02-13 | 2012-09-04 | Oracle America, Inc. | Conveying critical data in a multiprocessor system |
US8250282B2 (en) * | 2009-05-14 | 2012-08-21 | Micron Technology, Inc. | PCM memories for storage bus interfaces |
US8180981B2 (en) | 2009-05-15 | 2012-05-15 | Oracle America, Inc. | Cache coherent support for flash in a memory hierarchy |
US8291175B2 (en) | 2009-10-16 | 2012-10-16 | Oracle America, Inc. | Processor-bus attached flash main-memory module |
US9448938B2 (en) | 2010-06-09 | 2016-09-20 | Micron Technology, Inc. | Cache coherence protocol for persistent memories |
US8694737B2 (en) | 2010-06-09 | 2014-04-08 | Micron Technology, Inc. | Persistent memory for processor main memory |
-
2010
- 2010-06-09 US US12/797,512 patent/US8694737B2/en active Active
-
2011
- 2011-05-17 JP JP2011110233A patent/JP5752989B2/ja active Active
- 2011-06-01 DE DE102011076894.7A patent/DE102011076894B9/de active Active
- 2011-06-08 KR KR1020110054932A patent/KR101359813B1/ko active IP Right Grant
- 2011-06-09 CN CN201110159792.3A patent/CN102331974B/zh active Active
- 2011-06-09 TW TW100120246A patent/TWI506435B/zh active
-
2014
- 2014-04-04 US US14/245,916 patent/US9075725B2/en active Active
-
2015
- 2015-07-02 US US14/791,030 patent/US9384134B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101131624A (zh) * | 2007-08-17 | 2008-02-27 | 杭州华三通信技术有限公司 | 存储控制系统及其处理节点 |
Also Published As
Publication number | Publication date |
---|---|
DE102011076894B4 (de) | 2018-05-24 |
KR101359813B1 (ko) | 2014-02-07 |
DE102011076894B9 (de) | 2018-12-20 |
CN102331974A (zh) | 2012-01-25 |
US20110307665A1 (en) | 2011-12-15 |
US20140223103A1 (en) | 2014-08-07 |
JP2011258189A (ja) | 2011-12-22 |
US9075725B2 (en) | 2015-07-07 |
TW201227300A (en) | 2012-07-01 |
US8694737B2 (en) | 2014-04-08 |
US9384134B2 (en) | 2016-07-05 |
TWI506435B (zh) | 2015-11-01 |
KR20110134840A (ko) | 2011-12-15 |
DE102011076894A1 (de) | 2011-12-15 |
US20150309931A1 (en) | 2015-10-29 |
JP5752989B2 (ja) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102331974B (zh) | 用于处理器主存储器的持久存储器 | |
JP5348429B2 (ja) | 持続性メモリのためのキャッシュコヒーレンスプロトコル | |
US10389839B2 (en) | Method and apparatus for generating data prefetches specifying various sizes to prefetch data from a remote computing node | |
US11341059B2 (en) | Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations | |
US20120102273A1 (en) | Memory agent to access memory blade as part of the cache coherency domain | |
US11210020B2 (en) | Methods and systems for accessing a memory | |
KR20070069053A (ko) | 멀티-상태 캐시 코히어런스 방식의 장치, 시스템 및 방법 | |
US20180032429A1 (en) | Techniques to allocate regions of a multi-level, multi-technology system memory to appropriate memory access initiators | |
TWI785320B (zh) | 裝置內標記資料移動系統、資訊處置系統及用於提供裝置內標記資料移動之方法 | |
US6363458B1 (en) | Adaptive granularity method for integration of fine and coarse communication in the distributed shared memory system | |
US10318428B2 (en) | Power aware hash function for cache memory mapping | |
CN114238171B (zh) | 电子设备、数据处理方法和装置、计算机系统 | |
CN114756176A (zh) | 一种多控存储系统、数据处理方法、装置及介质 | |
Kavi et al. | Memory organizations for 3D-DRAMs and PCMs in processor memory hierarchy | |
CN114238165B (zh) | 数据处理方法、数据处理装置以及存储介质 | |
CN112988074B (zh) | 一种存储系统管理软件适配方法及装置 | |
CN105700953A (zh) | 一种多处理器缓存一致性处理方法及装置 | |
CN117785737A (zh) | 基于链表结构并支持动态分区粒度访问的末级高速缓存 | |
BR112017017306B1 (pt) | Método para acessar dados em um sistema com múltiplos núcleos, dispositivo de cache de diretório, sistema com múltiplos núcleos, e unidade de armazenagem de diretório | |
BR112017017306A2 (pt) | método para acessar diretório de dados de visitante em um sistema com múltiplos núcleos, dispositivo, sistema com múltiplos núcleos e unidade de armazenagem de diretório |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |