CN101030170A - 多状态高速缓存一致性方案的设备、系统和方法 - Google Patents
多状态高速缓存一致性方案的设备、系统和方法 Download PDFInfo
- Publication number
- CN101030170A CN101030170A CNA2006100644451A CN200610064445A CN101030170A CN 101030170 A CN101030170 A CN 101030170A CN A2006100644451 A CNA2006100644451 A CN A2006100644451A CN 200610064445 A CN200610064445 A CN 200610064445A CN 101030170 A CN101030170 A CN 101030170A
- Authority
- CN
- China
- Prior art keywords
- cache
- memory
- cache coherence
- parts
- coherence state
- 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.)
- Pending
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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- 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/46—Multiprogramming arrangements
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明的一些实施例提供了高速缓存一致性的设备、系统和方法。例如,根据本发明的实施例的装置包括存储器,用以存储存储器线;以及高速缓存控制器逻辑,用以向与第一部件相关的存储器线分配第一高速缓存一致性状态,以及向与第二不同的部件相关的存储器线分配第二不同的高速缓存一致性状态。
Description
技术领域
本发明涉及高速缓存一致性的设备、系统和方法。
背景技术
计算平台可以包括一个或多个处理器内核,它们可以与一个或多个存储器单元(例如一级高速缓存存储器和二级高速缓存存储器)相连。例如,第一处理器内核可以连接到第一专用一级高速缓存存储器上;第二处理器内核可以连接到第二专用一级高速缓存存储器上;以及第一和第二一级高速缓存存储器可以连接到共享的二二级高速缓存存储器上。
在特定的时间点,存储器单元的存储器线在多种可能的高速缓存一致性状态中可以具有单个高速缓存一致性状态,例如修改(“M”)状态、拥有(“O”)状态、排他(“E”)状态、共享(“S”)状态或无效(“I”)状态。例如,存储器线可以具有共享状态,表示该存储器线可以在处理单元的子单元内进行内部共享,也可以与计算平台的其它部件进行外部共享。
发明内容
根据本发明的实施例的装置包括用于存储存储器线的存储器;和高速缓存控制器逻辑,其用于给与第一部件相关的存储器线分配第一高速缓存一致性状态,和给与第二不同的部件相关的存储器线分配第二不同的高速缓存一致性状态。
根据本发明的另一实施例的系统包括用以存储多个存储器线的存储器单元;以及高速缓存控制器逻辑,用以将高速缓存一致性状态标识符与所述多个存储器线中的至少一个存储器线相关联,以设置该标识符使该至少一个存储器线与和所述系统的第一部件相关的第一高速缓存一致性状态相关联,并设置该标识符使该至少一个存储器线与和所述系统的第二不同的部件相关的第二不同的高速缓存一致性状态相关联。
根据本发明的另一实施例的方法包括使存储器的存储器线与和第一部件相关的第一高速缓存一致性状态以及与和第二不同的部件相关的第二不同的高速缓存一致性状态相关联。
附图说明
在说明书的结尾部分特别指出并清楚地要求了本发明所涉及的主题。然而,当与附图一起阅读时,通过参考下面详细的描述,可以最好地理解本发明的组织结构和操作方法以及其特征和优点,其中:
图1为示出根据本发明的实施例的采用多状态高速缓存一致性方案的计算平台的示意方框图;以及
图2为根据本发明的实施例的管理多个高速缓存一致性状态的方法的示意流程图。
应当理解的是,为了描述的简化和清楚,图中所示的元件不一定是按比例绘制的。例如,为了清楚起见,这些元件的尺寸可相对于其它元件被放大。此外,在适当考虑的情况下,在图中可以重复参考数字以表示相应的或类似的元件。
具体实施方式
在下面的详细描述中,为了提供本发明的完整理解,阐述了许多特定的细节。然而,本领域普通技术人员应该理解的是,本发明可以在没有这些特定细节的情况下实施。在其它的情况下,为了不使本发明变得模糊,没有详细描述公知的方法、过程、部件、单元和/或电路。
可将本发明的实施例用于不同的应用。尽管本发明的实施例在这方面并不受限制,但本发明的实施例可以与许多装置结合使用,例如计算机、计算平台、个人计算机、台式计算机、移动计算机、膝上型计算机、笔记本计算机、个人数字助理(PDA)设备、平板式计算机(tablet computer)、服务器计算机、网络、无线设备、无线基站、无线通讯设备等。本发明的实施例可以用在多种其它装置、设备、系统和/或网络中。
尽管本发明的实施例在这方面并不受限制,但利用例如“处理”、“计算”、“运算”、“确定”、“建立”、“分析”、“检查”等术语的讨论也可以指计算机、计算平台、计算系统或其它电子计算设备的操作和/或处理,其将表示为计算机寄存器和/或存储器中的物理(例如,电子的)量的数据操作和/或转换成类似地表示为计算机寄存器和/或存储器或其它可以存储用于执行操作和/或处理的指令的信息存储介质中的物理量的其它数据。
尽管本发明的实施例在这方面并不受限制,但这里使用的术语“多数”和/或“多个”可以包括例如“若干”或者“两个或更多”。这里可以使用术语“多数”和/或“多个”来描述两个或更多的部件、设备、元件、参数等。例如,“多个处理器”可以包括两个或更多的处理器。
尽管本发明的实施例在这方面并不受限制,但这里使用的术语“存储器块”可以包括例如一个或多个存储器线、一个或多个存储器地址、一个或多个存储器部分、一个或多个存储体、一个或多个存储器子单元、一个或多个存储器记录或字段等。
尽管为了说明的目的,这里讨论的部分可以涉及存储器单元,例如高速缓存存储器、一级高速缓存和/或二级高速缓存,但本发明的实施例并不限于此,并且可以与多种其它的存储器单元或存储单元结合使用,例如非高速缓存存储器、可位于处理器或处理器单元外部或内部的存储器单元或存储单元、可位于主板或计算平台外部或内部的存储器单元或存储单元、内部存储器、外部存储器、图形存储器、板上存储器、扩展存储器、包含在图形处理卡或图形绘制卡中或与之相关的存储器、包含在三维(3D)图形处理卡或图形绘制卡中或与之相关的存储器、视频存储器、临时存储器、缓冲器、寄存器、累加器、易失性存储器、非易失性存储器、专用高速缓存或存储器、非专用高速缓存或存储器、共享高速缓存、短期存储器、长期存储器、参考存储器、中间存储器、数据高速缓存或存储器、指令高速缓存或存储器、数据/指令高速缓存或存储器、具有一个或多个线或线块的存储器或高速缓存、具有一个或多个部分或库(bank)的存储器或高速缓存,等等。
尽管为了说明的目的,这里讨论的部分可以涉及具有两级高速缓存例如一级高速缓存和二级高速缓存的处理单元,但本发明的实施例并不限于此,并且可以与采用其它数量的高速缓存级,例如两个以上的高速缓存级的处理单元和/或计算平台结合使用。
尽管本发明的实施例在这方面并不受限制,但可以与本发明的实施例结合使用的一些高速缓存存储器和/或存储器单元可以包括例如下列中的一个或多个或者其组合:随机存取存储器(RAM)、主RAM、静态RAM(SRAM)、动态RAM(DRAM)、突发静态RAM(BS-RAM)、同步突发RAM(BS-RAM)、快速页模式DRAM(FPM-DRAM)、增强DRAM(EDRAM)和扩展数据输出RAM(EDO-RAM)、EDO-DRAM、突发扩展数据输出DRAM(BEDO-DRAM)、非易失性RAM(NV-RAM)、同步DRAM(SD-RAM)、联合电子装置工程协会SD-RAM(JEDEC SD-RAM)、PC100 SD-RAM、双数据速率SD-RAM(DDR SD-RAM)、增强SD-RAM(ESD-RAM)、直接存储器总线式(Rambus)DRAM(DRD-RAM)、同步链接DRAM(SLD-RAM)、铁电RAM(F-RAM)、视频RAM(VRAM)、同步图形RAM(SG-RAM)、双端口RAM、窗口RAM(W-RAM)、多组DRAM(MD-RAM)等。
图1示意地示出根据本发明的实施例的采用多状态高速缓存一致性方案的计算平台100。计算平台100可以包括例如输入单元161、输出单元162、存储单元163以及主存储器单元150。计算平台100还可以包括一个或多个处理器、处理单元或芯片级多处理(CMP)单元,例如处理集群101和102。计算平台100可以包括其它适合的硬件部件和/或软件部件。
输入单元161可以包括例如键盘、小键盘(keypad)、鼠标、触摸板或其它适合的定位设备或输入设备。输出单元162可以包括例如屏幕、监视器、扬声器、阴极射线管(CRT)监视器或显示单元、液晶显示器(LCD)监视器或显示单元,或者其它适合的监视器或显示单元。
存储单元163可以包括例如硬盘驱动器、软盘驱动器、致密盘(CD)驱动器、CD-ROM驱动器、或其它适合的可移动或不可移动的存储单元。
存储器单元150可以包括例如随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步DRAM(SD-RAM)、快闪存储器、易失性存储器、非易失性存储器、高速缓存存储器、缓冲器、短期存储器单元、长期存储器单元、或其它适合的存储器单元或存储单元。
处理集群101可以包括例如中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、控制器、芯片、微芯片、集成电路(IC)、或任何其它适合的多用途或专用的处理器或控制器。例如,处理集群101可以包括一个或多个处理器或处理器内核,例如处理器内核111和112。处理器内核111可以与专用的一级高速缓存存储器121连接,以及处理器内核112可以与专用的一级高速缓存存储器122连接。一级高速缓存存储器121和122可以可选地通过局部互连141,例如总线或点对点互连,连接到二级高速缓存存储器131。
类似地,处理集群102可以包括例如中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、控制器、芯片、微芯片、集成电路(IC)或任何其它适合的多用途或专用的处理器或控制器。例如,处理集群102可以包括一个或多个处理器或处理器内核,例如处理器内核113和114。处理器内核113可以与专用的一级高速缓存存储器123连接,以及处理器内核114可以与专用的一级高速缓存存储器124连接。一级高速缓存存储器123和124可以可选地通过局部互连142,例如总线或点对点互连,连接到二级高速缓存存储器132。
处理集群101的二级高速缓存存储器131和处理集群102的二级高速缓存存储器132可以可选地通过全局互连143,例如全局总线、系统总线、点对点互连等,连接到主存储器单元150。
计算平台100可以可选地包括一个或多个高速缓存控制逻辑(CCL)部件或模块,例如,与处理集群101相关联或包含在其中的CCL 191,与处理集群102相关联或包含在其中的CCL 192,与主存储器单元150相关联的CCL 193和/或在处理集群101-102外部的其它部件等。在一些实施例中,CCL 191、192和/或193可以使用一个或多个硬件部件和/或软件部件、使用专用单元如计算平台100的一个或多个部件的子单元、使用驱动器、使用通用或专用控制器或处理器、使用集成电路(IC)等来实现。在一些实施例中,CCL 191、192和/或193的功能可以采用基于目录的高速缓存逻辑、采用基于窥探的高速缓存逻辑等来实现。
一级高速缓存存储器121、122、123和124、二级高速缓存存储器131和132、和/或主存储器单元150可以包括高速缓存一致性状态(CCS)的一个或多个标识符或者在操作上与之相关联。这些CCS标识符可以包括确定与一个或多个存储器块相关联或对应的CCS的数据。在一些实施例中,这些CCS标识符可以可选地包括存储器单元、存储器管理器、存储器控制器、电路或子电路、逻辑控制器、一个或多个指针、一个或多个表、一个或多个数据项等,或者可以被实施作为其一部分。
例如,一级高速缓存存储器121-124可以分别包括CCS标识符171-174,或者可以分别与之相关联;二级高速缓存存储器131-132可以分别包括CCS标识符181-182,或者可以分别与之相关联;以及主存储器单元150可以包括CCS标识符151,或者可以与之相关联。
根据本发明的一些实施例,存储器块可以具有关于或相对于计算平台100的一个或多个其它部件的多个、例如不同的CCS。例如,存储器块可以具有关于或相对于计算平台100的第一部件的第一CCS,和关于或相对于计算平台100的第二不同的部件的第二不同的CCS。在一些实施例中,例如,存储器块可以基本同时具有例如关于或相对于计算平台100的多个部件的多个CCS,例如修改(“M”)状态、共享(“S”)状态、排他(“E”)状态、无效(“I”)状态,和/或其它适合的CCS值。在一些实施例中,例如,CCL 191、192和/或193,或者计算平台100的其它部件,可以用来设置或修改计算平台100的存储器块的CCS。
例如,二级高速缓存131的CCS标识符181可以基本同时包括两个指示:第一指示,即二级高速缓存131的存储器块具有关于或相对于主存储器单元150和/或处理集群102的“修改”CCS;以及第二指示,即二级高速缓存131的该存储器块还具有关于或相对于一级高速缓存存储器121-122和/或处理器内核111-112的“共享”CCS。该多个CCS可以例如借助CCL 191、192和/或193,或者计算平台100的其它部件来设置或修改。
在一些实施例中,例如,计算平台100中的一个或多个CCS标识符可以包括多个基本同时的CCS的指示,而计算平台100中的一个或多个其它CCS标识符可以包括单个CCS的指示。例如,二级高速缓存存储器131可以基本同时具有两个CCS,例如,朝向、或对于或关于主存储器150的“修改”CCS,以及朝向或对于一级高速缓存121-122的“共享”CCS;而一级高速缓存存储器111可以具有单个CCS,例如朝向、或对于或关于二级高速缓存131和处理器内核111的“共享”CCS,以及主存储器单元150可以具有单个CCS,例如“修改”CCS。该多种CCS可以例如借助CCL 191、192和/或193,或计算平台100的其它部件来设置和/或修改。
根据本发明的一些实施例,计算平台100的存储器部件的存储器块可以基本同时具有关于或相对于在该存储器部件与处理器内核之间连接的一个或多个部件的第一CCS(即在处理器内核的方向上的“朝向该处理器内核”的第一CCS,“下行链路”CCS,“内部”CCS,或者下视(downward-looking)CCS);以及关于或相对于没有连接在所述存储器部件与处理器内核之间的一个或多个部件的第二不同的CCS(即在与处理器内核的方向基本相对的方向上,即在与处理器内核的方向不同的方向上的“远离处理器内核”的第二不同的CCS,“上行链路”CCS,“外部”CCS,或者上视(upward-looking)CCS)。例如,二级高速缓存存储器131可以基本同时具有第一CCS,例如朝向处理器内核111-112的“共享”CCS;以及第二不同的CCS,例如远离处理器内核111-112的“修改”CCS。该多个或多种CCS可选地可以例如借助CCL 191、192和/或193,或计算平台100的其它部件来设置和/或修改。
在一些实施例中,计算平台100的存储器部件的存储器块可以基本同时具有关于或相对于具有第一层级(例如高于该存储器部件的层级的层级)的一个或多个部件、“父”部件、或者位于较高分支的部件的第一CCS;以及关于或相对于具有第二不同的层级(例如低于该存储器部件的层级的层级)的一个或多个部件、“子”部件、或者位于较低分支的部件的第二不同的CCS。该多个或多种CCS可选地可以例如借助CCL 191、192和/或193,或计算平台100的其它部件来设置和/或修改。
根据本发明的一些实施例,计算平台100的存储器部件的存储器块可以基本同时具有第一局部CCS和第二全局CCS。该局部CCS可以是例如关于或相对于位于该存储器部件附近的部件,关于或相对于位于该存储器部件的相同处理集群中的部件,关于或相对于与该存储器部件具有直接连接或局部连接的部件,关于或相对于没有使用总线或点对点互连与该存储器部件连接的部件等等。该全局CCS可以是例如关于或相对于位于与该存储器部件分离的卡或管芯(die)上的部件,关于或相对于位于与该存储器部件分离的芯片或物理单元上的部件,关于或相对于使用总线或点对点互连与该存储器部件连接的部件等等。例如,二级高速缓存存储器131可以基本同时具有第一局部CCS,例如朝向或对于处理器内核111-112或局部互连141的“共享”CCS;以及第二全局CCS,例如朝向或对于全局互连143或处理集群102的“修改”CCS。该多个或多种CCS可选地可以例如借助CCL 191、192和/或193,或计算平台100的其它部件来设置和/或修改。
在一个实施例中,例如,一级高速缓存121-122的存储器线可以具有“共享”CCS,例如该存储器线可以在处理器内核111-112中被共享读取。二级高速缓存131的相应存储器线可以具有“共享”下视CCS,并且还可以具有“修改”上视CCS。在主存储器单元150中的目录,或者CCS标识符151可以指示该相应的存储器线具有“修改”CCS且被处理集群101所“拥有”。计算平台的其它存储器单元,例如处理集群102的二级高速缓存132和/或处理集群102的一级高速缓存123-124,可以包括指示该相应的存储器线具有“无效”CCS的CCS标识符,或者可以与之相关联。在该实施例中,例如,主存储器单元150和/或处理集群102的部件将二级高速缓存131视为具有“修改”状态的高速缓存,而不考虑二级高速缓存131可以具有不同的CCS,例如可以在处理器内核111-112中被共享读取的可能性。例如,处理集群102的处理器内核113可以请求访问具有“无效”CCS的二级高速缓存的存储器线;作为响应,在处理集群101的专用一级高速缓存121-122中的相应拷贝可以被无效掉,以及被请求的存储器线可以被转发给处理集群102的处理器内核113。
一些实施例可以与一个或多个高速缓存一致性协议结合使用,例如修改—拥有—排他—共享—无效(MOESI)协议、修改—排他—共享—无效(MESI)协议、修改—共享—无效(MSI)协议等。在一些实施例中,例如,存储器部件可以使用第一高速缓存一致性协议与第一组部件进行通信,例如局部部件、在较低分支或层级的部件、在第一级的部件等;以及可以基本同时使用第二不同的高速缓存一致性协议与第二组部件进行通信,例如全局部件、在较高分支或层级的部件、在第二级的部件等。此外,在一些实施例中,可在位于同一级的多个分支处使用多个例如不同的高速缓存一致性协议。
可选地,例如可以使用一个或多个高速缓存一致性规则或高速缓存一致性定义来实现根据本发明的实施例的高速缓存一致性体系结构。例如,高速缓存一致性规则可以表明,在处理集群的基本所有的高速缓存存储器中,例如在处理集群101的高速缓存121、122和131中,如果存储器线具有“共享”CCS或“无效”CCS,则该存储器线可具有全局“共享”CCS。另一高速缓存一致性规则例如可以表明,如果存储器线在二级高速缓存131中具有“排他”或“修改”CCS且在一级高速缓存121-122中还具有“共享”或“无效”CCS,则该存储器线可具有局部“共享”CCS。再一个高速缓存一致性规则例如可以表明,如果处理集群101的高速缓存中的至少一个(例如,高速缓存121、122和131)确定存储器线为具有“排他”或“修改”CCS,则该存储器线可以被该处理集群101排他地拥有。又一高速缓存一致性规则例如可以表明,如果较高级的高速缓存的相应存储器线具有“排他”或“修改”CCS,则第一存储器部件的存储器线可以仅在内部或局部地具有例如朝向处理器内核下视的“共享”CCS;而如果较高级的高速缓存的相应存储器线具有“共享”CCS,则该存储器线可以具有例如远离处理器内核上视的全局或外部的“共享”CCS。根据本发明的实施例可以使用其它合适的规则或定义。在一些实施例中,可选地,一个或多个规则或定义可以例如借助CCL 191、192和/或193,或计算平台100的其它部件来设置、修改、和/或利用。
在一些实施例中,二级高速缓存131的存储器线可以基本同时具有朝向或对于一级高速缓存121-122的“共享”的内部CCS,和朝向或对于主存储器单元150和/或处理集群101的“排他”的外部CCS。这种体系结构可以代替例如朝向或对于计算平台101的所有部件的“共享”的单个CCS。在一些实施例中,例如,这种体系结构可以消除向处理集群101外部的部件发送所有权请求(RFO)指示的需要,并且可选地可以消除从这些外部部件接收其相应存储器线被无效掉的响应的需要。一些实施例可以例如减小使用的带宽(例如,互连143的)、改善性能、以及允许内部高速缓存中,例如一级高速缓存121-122中的内部快速RFO。
本发明的一些实施例可以例如与基于目录的高速缓存一致性协议和/或基于窥探的高速缓存一致性协议一起使用。例如,在一些实施例中,可选地,处理内核111可以例如在访问二级高速缓存131时或者基本与访问二级高速缓存131一起执行相对于处理内核112的“窥探”操作。
例如,处理内核111可以访问二级高速缓存131,并且可以向处理内核112发送一致性请求,例如基于目录的一致性请求或基于窥探的一致性请求。该一致性请求可以包括,例如有关处理器内核111相对于二级高速缓存131所执行的操作(例如,“处理器111在存储器线345上执行读取操作”或“处理器111在存储器线567上执行写入操作”)的信息;和/或有关处理器112被请求或被要求执行的操作(例如,“处理器112被允许从存储器线789读取但不被允许向存储器线789写入”,或者“处理器112被要求使其存储器线456无效”)的信息。
在一个实施例中,该一致性请求可以包括例如与由处理器内核111对存储器线的访问相关的一种或多种属性、类型、特征和/或特性。在一些实施例中,处理器内核111不必等待对处理器111向一个或多个其它处理器发送的一致性请求的响应,并且可以基本与发送一致性请求一起或者在发送一致性请求后立即执行报告操作。响应于接收的一致性请求,处理器内核112可以向处理器111发送一致性响应(例如,基于目录的或基于“窥探”的),可以基于接收的一致性请求修改其操作,可以执行由接收的一致性请求所指示的一个或多个操作或指令,可以使一条或多条存储器线无效等。可选地,可以使用CCL 191、192和/或193来管理、控制、存储、追踪和/或传送高速缓存一致性请求和/或高速缓存一致性响应。
在一些实施例中,使存储器线与一个以上的CCS相关联可以以多种适合的方式来执行,例如,不一定使用指示该存储器线具有两个或多个CCS的CCS标识符。例如,在一些实施例中,在第一存储器单元(例如,一级高速缓存存储器121)中的存储器线可以具有第一单个CCS,在第二存储器单元(例如,二级高速缓存存储器131)中的存储器线可以在每个线具有第二单个CCS,并且可以基于第一CCS和第二CCS的组合,或者另外基于考虑了第一CCS和第二CCS的计算,向外部部件(例如,向主存储器单元150)报告最终的或组合的CCS。在其它实施例中,可以使用基于窥探的询问、响应、指令和/或数据项。
在一些实施例中,可选地,存储器线的多个CCS可以一致或重叠。例如,存储器线可以具有相对于第一部件的第一CCS,和相对于第二部件的第二CCS;第一CCS在一些情况下可以与第二CCS相类似或基本上相同,或者相对于第一和第二部件的单个CCS可以代替第一和第二单独的CCS。
图2是根据本发明的实施例的管理多个高速缓存一致性状态的方法的示意性流程图。该方法的操作可以例如通过图1的计算平台100,或者通过其部件,通过图1中的CCL 191、192和/或193,和/或通过其它适合的计算机、处理器、部件、设备和/或系统来实现。
如方框210所示,该方法可选地可以包括,例如将存储器单元的存储器线例如基本同时地与朝向或对于计算平台的第一部件或部件组的第一CCS相关联,以及与朝向或对于计算平台的第二不同的部件或部件组的第二不同的CCS相关联。可选地,这可以采用图1的CCL 191、192和/或193,采用基于目录的高速缓存一致性协议,采用基于窥探的高速缓存一致性协议,采用与存储器线或存储器块相关联的一个或多个CCS标识符等来执行。
如方框220所示,该方法可选地可以包括,例如在访问存储器线时或与访问存储器线一起例如在计算平台的处理器之间发送一致性请求。这可以包括例如发送一致性请求,该请求具有第一处理器相对于存储器线执行或将要执行的操作的表示,第一处理器相对于存储器线执行或将要执行的访问的类型的表示,请求第二处理器执行的操作的表示,请求第二处理器执行的CCS修改的表示,等等。
如方框230所示,可选地,该方法可以包括,例如修改存储器线的第一和第二CCS中的至少一个。在一个实施例中,例如,可以修改朝向或对于第一部件的与存储器线相关联的第一CCS,而可以维持,例如未修改朝向或对于第二部件的与存储器线相关联的第二基本同时的CCS。可选地,这可以采用图1的CCL 191、192和/或193,采用基于目录的高速缓存一致性协议,采用基于窥探的高速缓存一致性协议,采用与存储器线或存储器块相关联的一个或多个CCS标识符等来执行。
根据本发明的实施例,可以使用其它适合的操作或操作组。
尽管为了说明的目的,这里讨论的部分可以涉及具有关于或相对于两个相应的部件或部件组的两个不同的CCS的存储器块,但本发明的实施例并不限于此。例如,在一些实施例中,存储器块可以基本同时具有关于或相对于多种部件或部件组的两个以上(例如,三个、四个、五个等)不同的CCS。根据本发明的一些实施例,可以使用双态高速缓存一致性方案、三态高速缓存一致性方案、四态高速缓存一致性方案、或其它多状态高速缓存一致性方案。
本发明的一些实施例可以借助可适合于特定的应用或者符合特定的设计要求的软件、硬件、或者软件和/或硬件的任何组合来实现。本发明的实施例可以包括单元和/或子单元,它们可以是总体或部分地彼此分离的或组合在一起的,并且可以采用特定的、多用途的或通用的处理器或控制器,或者本领域中公知的设备来实现。为了数据的临时或长期存储,或为了方便特定实施例的操作,本发明的一些实施例可以包括缓冲器、寄存器、叠式存储器(stack)、存储单元和/或存储器单元。
本发明的一些实施例可以例如采用机器可读的介质或物品来实现,其可以存储指令或指令集,如果通过机器,例如通过图1的处理集群101或102、通过其它适合的机器来执行,则所述指令或指令集使所述机器执行根据本发明的实施例的方法和/或操作。这样的机器可以包括例如任何适合的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,并且可以采用任何适合的硬件和/或软件的组合来实现。机器可读的介质和/或物品可以包括例如任何适合类型的存储器单元(例如存储器单元150)、存储器设备、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元,例如存储器、可移动或不可移动的介质、可擦除或不可擦除的介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、致密盘只读存储器(CD-ROM)、可记录致密盘(CD-R)、可重写致密盘(CD-RW)、光盘、磁介质、各种类型的数字通用盘(DVD)、磁带、盒带等。所述指令可以包括任何适合类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码等,并且可以采用任何适合的高级、低级、面向对象的、可视的、编译的和/或解释的编程语言,例如C、C++、Java、BASIC、Pascal、Fortran、Cobol、汇编语言、机器代码等来实现。
虽然这里已经阐释和说明了本发明的特定特征,但对于本领域技术人员来说,可以进行多种修改、替代、改变、和等效。因此,应当理解的是,所附权利要求旨在覆盖落在本发明的真实精神之内的所有这类修改和改变。
Claims (20)
1.一种装置,包括:
存储器,用以存储存储器线;以及
高速缓存控制器逻辑,用以向与第一部件相关的存储器线分配第一高速缓存一致性状态,并向与第二不同的部件相关的存储器线分配第二不同的高速缓存一致性状态。
2.如权利要求1所述的装置,其中所述高速缓存控制器逻辑将分配朝向处理器的所述第一高速缓存一致性状态,以及分配远离所述处理器的所述第二高速缓存一致性状态。
3.如权利要求1所述的装置,其中所述高速缓存控制器逻辑将分配关于一个或多个局部部件的所述第一高速缓存一致性状态,以及分配关于一个或多个全局部件的所述第二高速缓存一致性状态。
4.如权利要求1所述的装置,其中所述高速缓存控制器逻辑将分配关于较低级的存储器单元的所述第一高速缓存一致性状态,以及分配关于较高级的存储器单元的所述第二高速缓存一致性状态。
5.如权利要求1所述的装置,其中所述高速缓存控制器逻辑将分配关于具有第一层级的一个或多个部件的所述第一高速缓存一致性状态,以及分配关于具有第二层级的一个或多个部件的所述第二高速缓存一致性状态。
6.如权利要求1所述的装置,其中所述存储器包括处理器的第一高速缓存存储器,并且其中所述高速缓存控制器逻辑将分配关于所述处理器的第二高速缓存存储器的所述第一高速缓存一致性状态,以及分配关于所述处理器外部的部件的所述第二高速缓存一致性状态。
7.如权利要求1所述的装置,其中所述存储器包括处理器的二级高速缓存,其中所述第一部件包括所述处理器的一级高速缓存,以及其中所述第二部件包括在所述处理器外部的另一个存储器。
8.如权利要求1所述的装置,其中所述高速缓存控制器逻辑将修改所述第一高速缓存一致性状态,同时第二高速缓存一致性状态保持未被修改。
9.一种系统,包括:
存储器单元,用以存储多个存储器线;以及
高速缓存控制器逻辑,用以将高速缓存一致性状态标识符与所述多个存储器线中的至少一个存储器线相关联,以设置该标识符使所述至少一个存储器线与关于所述系统的第一部件的第一高速缓存一致性状态相关联,以及设置该标识符使所述至少一个存储器线与关于所述系统的第二不同的部件的第二不同的高速缓存一致性状态相关联。
10.如权利要求9所述的系统,其中所述存储器单元包括在处理单元的多个处理器内核之间共享的高速缓存存储器,所述第一部件包括所述处理器内核中的至少一个的专用高速缓存,以及所述第二部件位于所述处理单元的外部。
11.如权利要求9所述的系统,还包括:
第一处理器内核,用以访问所述至少一个存储器线,以及向第二处理器内核发送表示所述第一处理器内核对所述至少一个存储器线的访问的属性的一致性请求。
12.如权利要求11所述的系统,其中所述属性选自由读取属性、写入属性、和所有权请求属性构成的组。
13.如权利要求12所述的系统,其中基于所述一致性请求,所述第二处理器将修改关于被所述第一处理器所访问的所述至少一个存储器线的所述第二处理器的子单元的存储器线的高速缓存一致性状态。
14.如权利要求9所述的系统,其中所述高速缓存控制器逻辑将修改所述第一高速缓存一致性状态,同时所述第二高速缓存一致性状态保持未被修改。
15.如权利要求9所述的系统,其中所述第一和第二高速缓存一致性状态选自由修改、拥有、排他、共享、和无效构成的组。
16.一种方法,包括:
使存储器的存储器线与关于第一部件的第一高速缓存一致性状态以及与关于第二不同的部件的第二不同的高速缓存一致性状态相关联。
17.如权利要求16所述的方法,其中相关联包括:
设置与所述存储器线相对应的高速缓存一致性状态标识符。
18.如权利要求16所述的方法,还包括:
修改所述第一高速缓存一致性状态,同时所述第二高速缓存一致性状态保持未被修改。
19.如权利要求16所述的方法,还包括:
访问所述存储器线;以及
向计算平台的子单元发送表示对所述存储器线的所述访问的性质的一致性请求。
20.如权利要求19所述的方法,还包括:
基于接收的一致性请求,修改关于所访问的存储器线的所述子单元的高速缓存一致性状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/316,949 US20070150663A1 (en) | 2005-12-27 | 2005-12-27 | Device, system and method of multi-state cache coherence scheme |
US11/316,949 | 2005-12-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101030170A true CN101030170A (zh) | 2007-09-05 |
Family
ID=37898361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100644451A Pending CN101030170A (zh) | 2005-12-27 | 2006-12-27 | 多状态高速缓存一致性方案的设备、系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070150663A1 (zh) |
EP (1) | EP1814039A3 (zh) |
KR (1) | KR100869189B1 (zh) |
CN (1) | CN101030170A (zh) |
TW (1) | TWI336438B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150264A (zh) * | 2013-01-18 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 |
CN107368433A (zh) * | 2011-12-20 | 2017-11-21 | 英特尔公司 | 2级存储器分级结构中的存储器侧高速缓存的动态部分断电 |
CN108228481A (zh) * | 2016-12-21 | 2018-06-29 | 伊姆西Ip控股有限责任公司 | 用于保证数据一致性的方法和设备 |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8185602B2 (en) | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
US8706968B2 (en) | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US20080313364A1 (en) | 2006-12-06 | 2008-12-18 | David Flynn | Apparatus, system, and method for remote direct memory access to a solid-state storage device |
US8719501B2 (en) | 2009-09-08 | 2014-05-06 | Fusion-Io | Apparatus, system, and method for caching data on a solid-state storage device |
US8443134B2 (en) | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US8527709B2 (en) | 2007-07-20 | 2013-09-03 | Intel Corporation | Technique for preserving cached information during a low power mode |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US7827336B2 (en) * | 2008-11-10 | 2010-11-02 | Freescale Semiconductor, Inc. | Technique for interconnecting integrated circuits |
US20100191913A1 (en) * | 2009-01-26 | 2010-07-29 | Agere Systems Inc. | Reconfiguration of embedded memory having a multi-level cache |
US8868847B2 (en) * | 2009-03-11 | 2014-10-21 | Apple Inc. | Multi-core processor snoop filtering |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
WO2011031903A2 (en) | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for allocating storage |
KR101365940B1 (ko) | 2009-10-27 | 2014-02-24 | 한국전자통신연구원 | 코어 클러스터, 및 코어 클러스터를 포함하는 에너지 스케일러블 벡터 프로세싱 장치 및 방법 |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US8966184B2 (en) | 2011-01-31 | 2015-02-24 | Intelligent Intellectual Property Holdings 2, LLC. | Apparatus, system, and method for managing eviction of data |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
WO2012116369A2 (en) | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
CN102387204B (zh) * | 2011-10-21 | 2014-12-10 | 中国科学院计算技术研究所 | 维护集群缓存一致性的方法及系统 |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
US9251052B2 (en) | 2012-01-12 | 2016-02-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US10346095B2 (en) | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
CN104571930B (zh) * | 2013-10-10 | 2018-01-30 | 中国移动通信集团公司 | 一种安全域存储空间的管理方法、系统和多应用开放平台装置 |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
US11360906B2 (en) | 2020-08-14 | 2022-06-14 | Alibaba Group Holding Limited | Inter-device processing system with cache coherency |
US11354239B2 (en) | 2020-09-18 | 2022-06-07 | Microsoft Technology Licensing, Llc | Maintaining domain coherence states including domain state no-owned (DSN) in processor-based devices |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2746530B2 (ja) * | 1993-01-30 | 1998-05-06 | 洲 植 全 | 共有メモリマルチプロセッサ |
US5900015A (en) * | 1996-08-09 | 1999-05-04 | International Business Machines Corporation | System and method for maintaining cache coherency using path directories |
US5895487A (en) * | 1996-11-13 | 1999-04-20 | International Business Machines Corporation | Integrated processing and L2 DRAM cache |
US6192451B1 (en) * | 1998-02-17 | 2001-02-20 | International Business Machines Corporation | Cache coherency protocol for a data processing system including a multi-level memory hierarchy |
US6341336B1 (en) * | 1998-02-17 | 2002-01-22 | International Business Machines Corporation | Cache coherency protocol having tagged state used with cross-bars |
EP1163587A1 (de) * | 1999-02-26 | 2001-12-19 | Fujitsu Siemens Computers GmbH | Einrichtung zur erhöhung der leistungsfähigkeit von prozessorsystemen |
US6405290B1 (en) * | 1999-06-24 | 2002-06-11 | International Business Machines Corporation | Multiprocessor system bus protocol for O state memory-consistent data |
US6629268B1 (en) * | 2000-01-25 | 2003-09-30 | International Business Machines Corporation | Method and apparatus for servicing a processing system through a test port |
US6668308B2 (en) * | 2000-06-10 | 2003-12-23 | Hewlett-Packard Development Company, L.P. | Scalable architecture based on single-chip multiprocessing |
US6721848B2 (en) * | 2000-12-08 | 2004-04-13 | Hewlett-Packard Development Company,L.P. | Method and mechanism to use a cache to translate from a virtual bus to a physical bus |
US6484241B2 (en) * | 2000-12-28 | 2002-11-19 | International Business Machines Corporation | Multiprocessor computer system with sectored cache line system bus protocol mechanism |
US6571322B2 (en) * | 2000-12-28 | 2003-05-27 | International Business Machines Corporation | Multiprocessor computer system with sectored cache line mechanism for cache intervention |
US6763434B2 (en) * | 2000-12-30 | 2004-07-13 | International Business Machines Corporation | Data processing system and method for resolving a conflict between requests to modify a shared cache line |
US6662275B2 (en) | 2001-02-12 | 2003-12-09 | International Business Machines Corporation | Efficient instruction cache coherency maintenance mechanism for scalable multiprocessor computer system with store-through data cache |
US6925537B2 (en) * | 2001-06-11 | 2005-08-02 | Hewlett-Packard Development Company, L.P. | Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants |
US20030041215A1 (en) * | 2001-08-27 | 2003-02-27 | George Robert T. | Method and apparatus for the utilization of distributed caches |
US6813691B2 (en) * | 2001-10-31 | 2004-11-02 | Hewlett-Packard Development Company, L.P. | Computer performance improvement by adjusting a count used for preemptive eviction of cache entries |
US7469321B2 (en) | 2003-06-25 | 2008-12-23 | International Business Machines Corporation | Software process migration between coherency regions without cache purges |
US7484044B2 (en) * | 2003-09-12 | 2009-01-27 | Intel Corporation | Method and apparatus for joint cache coherency states in multi-interface caches |
-
2005
- 2005-12-27 US US11/316,949 patent/US20070150663A1/en not_active Abandoned
-
2006
- 2006-12-12 TW TW095146434A patent/TWI336438B/zh not_active IP Right Cessation
- 2006-12-20 EP EP20060256444 patent/EP1814039A3/en not_active Ceased
- 2006-12-26 KR KR1020060133729A patent/KR100869189B1/ko not_active IP Right Cessation
- 2006-12-27 CN CNA2006100644451A patent/CN101030170A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368433A (zh) * | 2011-12-20 | 2017-11-21 | 英特尔公司 | 2级存储器分级结构中的存储器侧高速缓存的动态部分断电 |
CN103150264A (zh) * | 2013-01-18 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 |
CN108228481A (zh) * | 2016-12-21 | 2018-06-29 | 伊姆西Ip控股有限责任公司 | 用于保证数据一致性的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20070150663A1 (en) | 2007-06-28 |
TWI336438B (en) | 2011-01-21 |
EP1814039A3 (en) | 2009-03-25 |
KR100869189B1 (ko) | 2008-11-18 |
KR20070069053A (ko) | 2007-07-02 |
TW200809498A (en) | 2008-02-16 |
EP1814039A2 (en) | 2007-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101030170A (zh) | 多状态高速缓存一致性方案的设备、系统和方法 | |
US11741012B2 (en) | Stacked memory device system interconnect directory-based cache coherence methodology | |
CN1940892A (zh) | 逐出高速缓存的行的电路布置、数据处理系统和方法 | |
CN1142502C (zh) | 多处理器计算机系统中维护高速缓存相干性的方法和系统 | |
JP5752989B2 (ja) | プロセッサ・メインメモリのための持続性メモリ | |
US8850158B2 (en) | Apparatus for processing remote page fault and method thereof | |
JP5348429B2 (ja) | 持続性メモリのためのキャッシュコヒーレンスプロトコル | |
CN103279426B (zh) | 在不同高速缓存一致性域之间共享信息的技术 | |
KR101465789B1 (ko) | 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법 | |
US8291175B2 (en) | Processor-bus attached flash main-memory module | |
CN1110752C (zh) | 实现高速缓存一致性机制的方法和系统 | |
EP3382557B1 (en) | Method and apparatus for persistently caching storage data in a page cache | |
US20100325374A1 (en) | Dynamically configuring memory interleaving for locality and performance isolation | |
US10296250B2 (en) | Method and apparatus for improving performance of sequential logging in a storage device | |
CN1320464C (zh) | 用于维持共享高速缓存一致性的方法和设备 | |
KR20190033284A (ko) | PCIe P2P 접속된 스토리지 장치들 사이의 데이터 전송 방법 및 시스템 | |
CN106919517B (zh) | 闪存及其访问方法 | |
CN1264873A (zh) | 用于提供逐出协议的方法和系统 | |
CN1896971A (zh) | 操作系统辅助磁盘高速缓存系统和方法 | |
RU2484520C2 (ru) | Адаптивная организация кэша для однокристальных мультипроцессоров | |
CN107844265B (zh) | 操作计算系统的方法以及操作计算系统中的存储器控制器的方法 | |
US9396110B2 (en) | Non-volatile hybrid memory | |
TWI780697B (zh) | 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置 | |
CN114238165A (zh) | 数据处理方法、数据处理装置以及存储介质 | |
CN104049903A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20070905 |