CN115328820B - 多级缓存系统的访问方法、数据存储方法及装置 - Google Patents
多级缓存系统的访问方法、数据存储方法及装置 Download PDFInfo
- Publication number
- CN115328820B CN115328820B CN202211190657.XA CN202211190657A CN115328820B CN 115328820 B CN115328820 B CN 115328820B CN 202211190657 A CN202211190657 A CN 202211190657A CN 115328820 B CN115328820 B CN 115328820B
- Authority
- CN
- China
- Prior art keywords
- cache
- data block
- information
- target
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
Abstract
本申请提出了一种多级缓存系统的访问方法、数据存储方法及装置,涉及数据处理技术领域,方法包括:获取多级缓存系统的访问请求;根据访问请求,读取多级缓存系统的附属目录,其中,附属目录存储于多级缓存系统中的共享缓存上;根据附属目录,获取访问请求在多级缓存系统中的目标访问数据块以及目标访问数据块的目标附属信息;根据目标附属信息,对访问请求进行应答。本申请中,简化了访问请求对应的应答信息的获取方法,提高了多级缓存系统性能的稳定性,进而降低了访问请求的访问延迟,优化了多级缓存系统的访问方法,提高了多级缓存系统的访问效率,节约了多级缓存系统的资源。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种多级缓存系统的访问方法、数据存储方法及装置。
背景技术
随着技术的发展,越来越多的数据处理需要依托于多级缓存系统实现,其中,伴随着数据处理工作内容的膨胀以及数据访问速度的需求的提高,多级缓存系统在对较大批量的访问请求响应时,存在可能对多级缓存系统的运行造成较大的负荷,从而影响了多级缓存的性能,进而导致访问请求的访问延迟等相关异常情况的发生。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一方面提出一种多级缓存系统的访问方法。
本申请第二方面提出一种多级缓存系统的数据存储方法。
本申请第三方面提出一种多级缓存系统的访问装置。
本申请第四方面提出一种多级缓存系统的数据存储装置。
本申请的第五方面提出一种电子设备。
本申请的第六方面提出一种计算机可读存储介质。
本申请第一方面提出了一种多级缓存系统的访问方法,方法包括:获取多级缓存系统的访问请求;根据访问请求,从多级缓存系统的附属目录中,获取访问请求在多级缓存系统中的目标访问数据块以及目标访问数据块的目标附属信息,其中,附属目录存储于多级缓存系统中的共享缓存上;根据目标附属信息,对访问请求进行应答。
另,本申请第一方面提出的多级缓存系统的访问方法,还可以具备如下技术特征:
根据本申请的一个实施例,根据目标附属信息,对访问请求进行应答,包括:根据目标附属信息,确定访问请求的访问状态;共享缓存对处于访问状态下的访问请求进行应答。
根据本申请的一个实施例,附属目录存储于多级缓存系统中的共享缓存上的标签域中。
根据本申请的一个实施例,根据目标附属信息,确定访问请求的访问状态,包括:获取多级缓存系统中第一私有缓存对第二私有缓存发送的访问请求,其中,第一私有缓存和第二私有缓存为多核处理器的私有缓存,多核处理器中的每个处理器核包括至少一个第一私有缓存和/或至少一个第二私有缓存;在共享缓存的附属目录中,确定访问请求在多级缓存系统中的目标访问数据块对应的附属信息,作为目标附属信息;获取目标附属信息的附属标识位上的附属信息,并根据附属标识位上的附属信息,获取访问请求的访问状态。
根据本申请的一个实施例,根据目标附属信息,确定访问请求的访问状态,包括:响应于目标附属信息指示,第一私有缓存对第二私有缓存发送的访问请求未在第一私有缓存中命中,确定访问请求的访问状态为访问失效。
根据本申请的一个实施例,共享缓存对处于访问状态下的访问请求进行应答,包括:响应于多级缓存系统中第一私有缓存对第二私有缓存发送的访问请求的访问状态为访问失效,第一私有缓存向多级缓存系统中的共享缓存发送失效处理请求;共享缓存根据目标附属信息,对失效处理请求进行应答。
根据本申请的一个实施例,响应于多级缓存系统中第一私有缓存对第二私有缓存发送的访问请求的访问状态为访问失效,第一私有缓存向多级缓存系统中的共享缓存发送失效处理请求,包括:响应于访问请求为读访问请求且读访问请求未在第一私有缓存中命中,确定第一私有缓存对读访问请求读失效,第一私有缓存生成读访问请求对应的第一读失效处理请求,并发送至共享缓存;响应于访问请求为写访问请求且写访问请求未在第一私有缓存中命中,确定第一私有缓存对写访问请求写失效,第一私有缓存生成写访问请求对应的第一写失效处理请求,并发送至共享缓存。
根据本申请的一个实施例,第一私有缓存生成读访问请求对应的第一读失效处理请求,并发送至共享缓存之后,还包括:响应于目标附属信息指示,第一私有缓存中不存在目标访问数据块,获取目标访问数据块对应的数据后,共享缓存生成对应的读失效应答,并发送至发出第一读失效处理请求的第一私有缓存;或者,响应于目标附属信息指示,第一私有缓存中的目标访问数据块为dirty状态,共享缓存接收到第一写回应答后,生成对应的读失效应答,并发送至发出第一读失效处理请求的第一私有缓存。
根据本申请的一个实施例,第一私有缓存生成写访问请求对应的第一写失效处理请求,并发送至共享缓存之后,还包括:响应于目标附属信息指示,第一私有缓存中不存在目标访问数据块,获取目标访问数据块对应的数据后,共享缓存生成对应的写失效应答,并发送至发出第一写失效处理请求的第一私有缓存;或者,响应于目标附属信息指示,第一私有缓存中的目标访问数据块为有效且clean状态,共享缓存接收到第一无效应答后,生成对应的写失效应答,并发送至发出第一写失效处理请求的第一私有缓存;或者,响应于目标附属信息指示,第一私有缓存中的目标访问数据块为有效且clean状态,共享缓存接收到第一无效并写回应答后,生成对应的写失效应答,并发送至发出第一写失效处理请求的第一私有缓存。
根据本申请的一个实施例,方法还包括:响应于第一私有缓存中的数据块被替换,第一私有缓存向共享缓存发送替换请求。
根据本申请的一个实施例,响应于第一私有缓存中的数据块被替换,第一私有缓存向共享缓存发送替换请求之后,还包括:响应于共享缓存中存储有替换请求对应的替换数据块,共享缓存对替换请求对应的替换数据块进行替换处理,并生成对应的应答发送至对应的第一私有缓存所属的处理器核;响应于共享缓存中不存在替换请求对应的替换数据块,在共享缓存的下一级存储系统中,确定替换请求对应的替换数据块,下一级存储系统对替换请求对应的替换数据块进行替换处理,并生成对应的应答发送至对应的第一私有缓存所属的处理器核。
根据本申请的一个实施例,在共享缓存的附属目录中,确定访问请求在多级缓存系统中的目标访问数据块对应的附属信息,作为目标附属信息,包括:响应于第一私有缓存所属的处理器核为目标访问数据块的备份处理器核,根据附属目录中的备份位上的标识信息,确定目标访问数据块在附属目录中对应的目标附属信息;响应于第一私有缓存所属的处理器核为目标访问数据块的拥有者处理器核,根据附属目录中对应的拥有者位上的标识信息,确定目标访问数据块在附属目录中对应的目标附属信息。
根据本申请的一个实施例,共享缓存根据目标附属信息,对失效处理请求进行应答,包括:共享缓存获取目标附属信息中待存储数据块有效位和目标拥有者位上的标识信息,确定目标访问数据块的目标状态;共享缓存根据目标状态,对失效处理请求进行应答。
根据本申请的一个实施例,共享缓存获取目标附属信息中待存储数据块有效位和目标拥有者位上的标识信息,确定目标访问数据块的目标状态,包括:响应于待存储数据块有效位的标识为有效,且目标拥有者位的标识为待存储数据块存在拥有者处理器核状态,确定目标访问数据块的目标状态为有效且dirty;响应于待存储数据块有效位的标识为有效,且目标拥有者位的标识为待存储数据块不存在拥有者处理器核状态,确定目标访问数据块的目标状态为有效且clean。
根据本申请的一个实施例,共享缓存根据目标状态,对失效处理请求进行应答,包括:响应于目标状态为有效且dirty,共享缓存生成第一读失效处理请求对应的第一写回请求,并发送至目标访问数据块对应的拥有者处理器核上的第一私有缓存;响应于目标状态为有效且clean,共享缓存生成第一读失效处理请求对应的第二写回请求,并发送至目标访问数据块对应的任一备份处理器核上的第一私有缓存。
根据本申请的一个实施例,响应于目标状态为有效且dirty,共享缓存生成第一读失效处理请求对应的第一写回请求,并发送至目标访问数据块对应的拥有者处理器核上的第一私有缓存之后,还包括:响应于识别到第二私有缓存中存储有目标访问数据块对应的备份数据块,第一私有缓存生成第三写回请求并发送至第二私有缓存;根据第三写回请求,第二私有缓存调整备份数据块至共享状态,并将调整后的备份数据块写回第一私有缓存;第一私有缓存调整目标访问数据块至共享状态。
根据本申请的一个实施例,第一私有缓存调整目标访问数据块至共享状态之后,还包括:将调整状态的目标访问数据块所属的第一私有缓存所在的处理器核,标记为调整至共享状态的目标访问数据块的拥有者处理器核,并在共享缓存的附属目录中更新。
根据本申请的一个实施例,响应于目标状态为有效且clean,共享缓存生成第一读失效处理请求对应的第二写回请求,并发送至目标访问数据块对应的任一备份处理器核上的第一私有缓存之后,还包括:第一私有缓存将目标访问数据块中的数据,发送至共享缓存。
根据本申请的一个实施例,共享缓存根据目标状态,对失效处理请求进行应答,包括:响应于目标状态为有效且dirty,共享缓存生成第一写失效处理请求对应的第一无效并写回请求,并发送至目标访问数据块对应的拥有者处理器核上的第一私有缓存;响应于目标状态为有效且clean,共享缓存生成第一写失效处理请求对应的第一无效请求,并发送至目标访问数据块对应的全部备份处理器核上的第一私有缓存。
根据本申请的一个实施例,响应于目标状态为有效且dirty,共享缓存生成第一写失效处理请求对应的第一无效并写回请求,并发送至目标访问数据块对应的拥有者处理器核上的第一私有缓存之后,还包括:响应于识别到第二私有缓存中存储有目标访问数据块对应的备份数据块,第一私有缓存生成第二无效并写回请求并发送至第二私有缓存;根据第二无效并写回请求,第二私有缓存调整备份数据块至无效状态,并将调整后的备份数据块写回第一私有缓存;第一私有缓存调整目标访问数据块至无效状态,并生成第一无效并写回应答发送共享缓存。
根据本申请的一个实施例,响应于目标状态为有效且clean,共享缓存生成第一写失效处理请求对应的第一无效请求,并发送至目标访问数据块对应的全部备份处理器核上的第一私有缓存之后,还包括:响应于识别到第二私有缓存中存储有目标访问数据块的备份数据块,第一私有缓存生成第二无效请求并发送至第二私有缓存;根据第二无效请求,第二私有缓存调整备份数据块至无效状态,并将调整后的备份数据块写回第一私有缓存;第一私有缓存调整目标访问数据块至无效状态,并生成第一无效应答发送至共享缓存。
根据本申请的一个实施例,方法还包括:拥有者处理器核上的第一私有缓存,将目标访问数据块中的数据发送至共享缓存。
根据本申请的一个实施例,方法还包括:响应于目标附属信息指示,目标访问数据块在多级缓存系统的第一私有缓存中不存在,获取共享缓存的附属目录的替换策略,并根据替换策略对共享缓存的附属目录进行更新;根据更新后附属目录中的更新附属信息,对第一私有缓存进行信息更新。
根据本申请的一个实施例,根据更新后附属目录中的更新附属信息,对第一私有缓存进行信息更新,包括:响应于更新附属信息指示,第一私有缓存内的附属信息对应数据块为有效且clean状态,共享缓存生成第三无效请求,并发送第三无效请求至附属信息对应数据块对应的拥有者处理器核上的第一私有缓存;响应于更新附属信息指示,第一私有缓存内的附属信息对应数据块为有效且dirty状态,共享缓存生成第四无效请求,并发送第四无效请求至附属信息对应数据块对应的非拥有者处理器核上的第一私有缓存。
根据本申请的一个实施例,根据更新后附属目录中的更新附属信息,对第一私有缓存进行信息更新,还包括:响应于更新附属信息指示,第一私有缓存内的附属信息对应数据块为有效且dirty状态,共享缓存生成第三无效并写回请求,并发送第三无效并写回请求至附属信息对应数据块对应的拥有者处理器核上的第一私有缓存,或者,发送至独占附属信息对应数据块的备份处理器核上的第一私有缓存。
根据本申请的一个实施例,方法还包括:响应于共享缓存中存储有附属信息对应数据块对应的备份数据块,且更新附属信息的标识信息与附属信息对应数据块在第一私有缓存中的写入后信息不匹配,共享缓存对自身的数据存储阵列中的数据域中的存储的备份数据块进行替换处理。
本申请第二方面提出一种多级缓存系统的数据存储方法,方法包括:将待存储数据写入多级缓存系统,并获取待存储数据在多级缓存系统中的写入后信息;生成待存储数据的写入后信息对应的附属信息,并将附属信息写入多级缓存系统的附属目录中,其中,附属目录存储于多级缓存系统中的共享缓存上。
另,本申请第二方面提出的多级缓存系统的数据存储方法,还可以具备如下技术特征:
根据本申请的一个实施例,多级缓存系统中包括共享缓存、第一私有缓存和第二私有缓存,共享缓存为多级缓存系统所属的多核处理器中的共享缓存,第一私有缓存和第二私有缓存为多核处理器的私有缓存;其中,多核处理器中的每个处理器核包括至少一个第一私有缓存和/或至少一个第二私有缓存。
根据本申请的一个实施例,附属目录存储于多级缓存系统中的共享缓存上的标签域中。
根据本申请的一个实施例,多级缓存系统中包括第一私有缓存,其中,第一私有缓存为多级缓存系统所属的多核处理器中部分处理器核的共享缓存。
根据本申请的一个实施例,生成待存储数据的写入后信息对应的附属信息,包括:获取共享缓存的初始附属信息中的附属标识位;从写入后信息中,获取待存储数据在附属标识位的标识信息,并将标识信息标记至对应的附属标识位,以生成待存储数据的附属信息。
根据本申请的一个实施例,初始附属信息中的附属标识位,包括:写入地址位,用于指示存储待存储数据的数据块的写入地址;地址有效位,用于指示存储数据块的写入地址是否有效;第一有效位,用于指示存储于共享缓存中的第一数据块是否有效,其中,第一数据块为共享缓存中存储待存储数据的数据块;第一状态位,用于指示待存储数据在共享缓存中是否被写过数据;数据域行号位,用于指示第一数据块在共享缓存的数据存储阵列的数据域中的存储行号。
根据本申请的一个实施例,初始附属信息中的附属标识位,还包括:第二有效位,用于指示存储于第一私有缓存中的第二数据块是否有效,其中,第二数据块为第一私有缓存中存储待存储数据的数据块;第二状态位,用于指示第二数据块在多核处理器的全部第一私有缓存中的第二数据状态,其中,第二数据状态为独占状态(EXC)或共享状态(SHD);备份位,用于指示在多核处理器中,存储有第二数据块的备份数据块的备份处理器核;第一拥有者位,用于指示多核处理器中是否存在第二数据块的拥有者处理器核;第二拥有者位,用于指示多核处理器中,第二数据块的拥有者处理器核。
根据本申请的一个实施例,方法包括:确定多级缓存系统中,待存储数据写入的目标缓存;根据目标缓存,获取共享缓存的初始附属信息对应的目标标识信息;根据目标标识信息,生成待存储数据存储至目标缓存时,写入附属目录中的目标附属信息。
根据本申请的一个实施例,根据目标缓存,获取共享缓存的初始附属信息对应的目标标识信息,包括:响应于待存储数据存储至共享缓存,获取初始附属信息对应的第一标识信息。
根据本申请的一个实施例,根据目标标识信息,生成待存储数据存储至目标缓存时,写入附属目录中的目标附属信息,包括:将第一标识信息标记至附属标识位上,生成待存储数据存储至共享缓存时,写入附属目录中的第一附属信息。
根据本申请的一个实施例,根据目标缓存,获取共享缓存的初始附属信息对应的目标标识信息,包括:响应于待存储数据写入第一私有缓存时,获取初始附属信息的第二标识信息。
根据本申请的一个实施例,根据目标标识信息,生成待存储数据存储至目标缓存时,写入附属目录中的目标附属信息,包括:将第二标识信息标记至附属标识位上,生成待存储数据存储至第一私有缓存时,写入附属目录中的第二附属信息。
根据本申请的一个实施例,根据目标缓存,获取共享缓存的初始附属信息对应的目标标识信息,包括:响应于待存储数据写入共享缓存和第一私有缓存时,获取初始附属信息的第三标识信息。
根据本申请的一个实施例,根据目标标识信息,生成待存储数据存储至目标缓存时,写入附属目录中的目标附属信息,包括:将第三标识信息标记至附属标识位上,生成待存储数据存储至共享缓存和第一私有缓存时,写入附属目录中的第三附属信息。
根据本申请的一个实施例,将附属信息写入多级缓存系统的附属目录中之后,还包括:响应于待存储数据存储于共享缓存,获取附属信息在附属目录中的附属信息路号和附属信息行号;将附属信息路号和附属信息行号,写入共享缓存的数据存储阵列的信息域中。
根据本申请的一个实施例,方法还包括:响应于附属目录中无可供待存储数据对应的附属信息写入的对应行,获取附属目录的第一替换策略;根据第一替换策略,确定附属目录中的第一替换信息,删除第一替换信息并将附属信息写入第一替换信息的对应行,并同步删除第一替换信息对应的数据块。
根据本申请的一个实施例,方法还包括:响应于共享缓存的数据存储阵列的数据域中,无可供待存储数据的第一数据块存储的对应位置,获取共享缓存的第二替换策略;根据第二替换策略,确定数据域中的第二替换数据块,将第一数据块存储至第二替换数据块所属的第二替换位置,并删除第二替换位置上的第二替换数据块;确定第二替换数据块在附属目录中对应的第二替换信息;确定附属目录中第二替换信息删除的对应行,并将第一数据块对应的附属信息写入删除的对应行。
根据本申请的一个实施例,确定第二替换数据块在附属目录中对应的第二替换信息,包括:从数据存储阵列的信息域中,获取第二替换数据块对应的第二替换信息的替换附属信息行号和替换附属信息路号;根据替换附属信息行号和替换附属信息路号,从共享缓存的附属目录中,确定第二替换信息。
本申请第三方面提出了一种多级缓存系统的访问装置,其特征在于,装置包括:获取模块,用于获取多级缓存系统的访问请求;访问模块,用于根据访问请求,从多级缓存系统的附属目录中,获取访问请求在多级缓存系统中的目标访问数据块以及目标访问数据块的目标附属信息,其中,附属目录存储于多级缓存系统中的共享缓存上;应答模块,用于根据目标附属信息,对访问请求进行应答。
本申请第四方面提出了一种级缓存系统的数据存储装置,其特征在于,装置包括:第一写入模块,用于将待存储数据写入多级缓存系统,并获取待存储数据在多级缓存系统中的写入后信息;第二写入模块,用于生成待存储数据的写入后信息对应的附属信息,并将附属信息写入多级缓存系统的附属目录中,其中,附属目录存储于多级缓存系统中的共享缓存上。
本申请第五方面提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如上述第一方面提出的多级缓存系统的访问方法和上述第二方面提出的多级缓存系统的数据存储方法。
为达上述目的,本申请第六方面提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面提出的多级缓存系统的访问方法和上述第二方面提出的多级缓存系统的数据存储方法。
本申请实施例多级缓存系统的访问方法、数据存储方法及装置,其中,多级缓存系统的访问方法包括,获取多级缓存系统的访问请求,并根据访问请求对多级缓存系统中的共享缓存上存储的附属目录进行读取,以获取访问请求在多级缓存系统中对应的目标访问数据块以及目标访问数据块对应的目标附属信息。进一步地,根据目标附属信息,对访问请求进行应答。多级缓存系统的数据存储方法包括,获取待存储数据在多级缓存系统中的写入后信息,根据写入后信息生成待存储数据对应的附属信息,并将其写入多级缓存系统中用于共享的共享缓存的附属目录中。本申请中,生成待存储数据在多级缓存系统中的写入后信息对应的附属信息,并将其写入多级缓存系统中的共享缓存的附属目录中,使得通过读取共享缓存的标签域中的附属目录,可以实现对待存储数据在多级缓存系统中的写入后信息的获取,简化了待存储数据的写入后信息的获取方法,提高了对多级缓存系统中的待存储数据的写入后信息的获取效率,节约了多级缓存系统中目录维护的资源,实现了多级缓存系统中的目录的可扩展,优化了多级缓存系统的性能。多级缓存系统的共享缓存上存在附属目录,实现了对多级缓存系统中存储的数据块的有效管理,通过读取附属目录获取访问请求对应的目标访问数据块对应的目标附属信息,并根据目标附属信息对访问请求进行应答,简化了访问请求对应的应答信息的获取方法,从而降低了对访问请求进行应答对多级缓存系统造成的负荷程度,提高了多级缓存系统性能的稳定性,进而降低了访问请求的访问延迟,优化了多级缓存系统的访问方法,提高了多级缓存系统的访问效率,节约了多级缓存系统的资源。
应当理解,本申请所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一实施例的多级缓存系统的访问方法的流程示意图;
图2为本申请另一实施例的多级缓存系统的访问方法的流程示意图;
图3为本申请一实施例的多级缓存系统的示意图;
图4为本申请一实施例的多级缓存系统的数据存储方法的流程示意图;
图5为本申请另一实施例的多级缓存系统的数据存储方法的流程示意图;
图6为本申请一实施例的多级缓存系统的附属信息的示意图;
图7为本申请另一实施例的多级缓存系统的数据存储方法的流程示意图;
图8为本申请另一实施例的多级缓存系统的数据存储方法的流程示意图;
图9为本申请一实施例的附属目录的示意图;
图10为本申请另一实施例的附属目录的示意图;
图11为本申请另一实施例的多级缓存系统的访问方法的流程示意图;
图12为本申请另一实施例的多级缓存系统的访问方法的流程示意图;
图13为本申请一实施例的多级缓存系统的访问装置的结构示意图;
图14为本申请一实施例的多级缓存系统的数据存储装置的结构示意图;
图15为本申请一实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
图1为本申请一实施例的多级缓存系统的访问方法的流程示意图,如图1所示,该方法包括:
S101,获取多级缓存系统的访问请求。
实现中,可以通过对多级缓存系统发起对应的请求,实现对多级缓存系统中存储的数据的获取。
可选地,可以将读取多级缓存系统中存储的数据对应的请求确定为多级缓存系统的访问请求。
本申请实施例中,多级缓存系统中配置有对其接收到的访问请求进行接收和读取的对应功能单元,可以通过对该功能单元中接收到的信息进行读取,从而获取发送给多级缓存系统的访问请求。
S102,根据访问请求,从多级缓存系统的附属目录中,获取访问请求在多级缓存系统中的目标访问数据块以及目标访问数据块的目标附属信息,其中,附属目录存储于多级缓存系统中的共享缓存上。
为了实现对多级缓存系统中存储的数据块的有效管理,本申请实施例中,可以在多级缓存系统中的共享缓存上配置对应的区域,用于存储多级缓存系统对应的附属目录。
其中,附属目录可以用于存储多级缓存系统中存储的数据块所对应的存储信息,进而使得可以通过附属目录实现对多级缓存系统中的对应数据块的访问。
本申请实施例中,可以对访问请求中携带的具体信息进行读取,并根据读取得到的信息读取多级缓存系统的共享缓存上存储的附属目录。
可选地,访问请求中可以携带有其所需读取的数据块对应的标识信息,同时,该标识信息在多级缓存的共享缓存的附属目录中存在对应的标识信息,当标识信息与其在附属目录中对应的标识信息匹配时,则可以将该匹配的标识信息所对应的附属目录中的信息,确定为访问请求所需的相关信息。
本申请实施例中,附属目录中存储有多级缓存系统中存储的数据块对应的存储信息,因此,可以根据附属目录获取访问请求需要进行访问和读取的对应数据块的相关信息。
其中,可以将访问请求对多级缓存系统进行访问时,需要进行访问和读取的数据块,确定为访问请求在多级缓存系统中的目标访问数据块。
相应地,可以将目标访问数据块在附属目录中存储的对应的存储信息,确定为目标访问数据块在附属目录中的目标附属信息。
可选地,可以根据访问请求,从附属目录中获取与其关联的附属信息,其中,该附属信息即为访问请求在多级缓存系统中的目标访问数据块在附属目录中存储的目标附属信息。
S103,根据目标附属信息,对访问请求进行应答。
本申请实施例中,目标附属信息中包括有目标访问数据块存储于多级缓存系统中对应的存储信息,因此,可以根据目标附属信息实现对访问请求的应答。
比如,可以根据目标附属信息中指示的目标访问数据块的存储路径,为发起访问请求的发起方提供访问请求对应的目标访问数据块中存储的数据。
再比如,可以根据目标附属信息中指示的目标访问数据块的存储状态,确定访问请求是否可以正常访问其需要读取的目标访问数据块。
其中,可以在确定访问请求可以正常读取目标访问数据块时,根据目标附属信息生成正常读取对应的返回信息,并基于返回信息对接收到的访问请求进行应答。
相应地,可以在确定访问请求无法正常读取目标访问数据块时,根据目标附属信息,确定访问请求无法正常访问的原因,并生成对应的应答信息,对接收到的访问请求进行应答。
本申请提出的多级缓存系统的访问方法,获取多级缓存系统的访问请求,并根据访问请求对多级缓存系统中的共享缓存上存储的附属目录进行读取,以获取访问请求在多级缓存系统中对应的目标访问数据块以及目标访问数据块对应的目标附属信息。进一步地,根据目标附属信息,对访问请求进行应答。本申请中,通过多级缓存系统的共享缓存上的附属目录,实现了对多级缓存系统中存储的数据块的有效管理,通过读取附属目录获取访问请求对应的目标访问数据块对应的目标附属信息,并根据目标附属信息对访问请求进行应答,简化了访问请求对应的应答信息的获取方法,从而降低了对访问请求进行应答对多级缓存系统造成的负荷程度,提高了多级缓存系统性能的稳定性,进而降低了访问请求的访问延迟,优化了多级缓存系统的访问方法,提高了多级缓存系统的访问效率,节约了多级缓存系统的资源。
上述实施例中,关于根据目标附属信息对访问请求进行应答,可结合图2进一步理解,图2为本申请另一实施例的多级缓存系统的访问方法的流程示意图,如图2所示,该方法包括:
S201,根据目标附属信息,确定访问请求的访问状态。
本公开实施例中,可以从目标附属信息中存储的目标访问数据块对应的目标附属信息,确定访问请求在多级缓存系统中的访问状态。
可选地,可以基于多级缓存系统中的附属目录获取目标附属信息,其中,附属目录存储于多级缓存系统中的共享缓存上的标签域中。
在该场景下,可以从多级缓存系统中的共享缓存上的标签域中存储的附属目录,获取访问请求在多级缓存系统中的目标访问数据块对应的目标附属信息,进而确定访问请求在多级缓存系统中的访问状态。
实现中,目标访问数据块在多级缓存系统中存储时,存在可能出现异常的存储状态导致访问请求无法对其进行正常的访问和读取,在该场景下,可以根据目标访问数据块在附属目录中的目标附属信息,获取目标访问数据块对应的存储状态,从而确定访问请求对应的访问状态。
进一步地,为了更好的理解根据目标附属信息获取访问请求的访问状态的过程,可结合如下示例:
获取多级缓存系统中第一私有缓存对第二私有缓存发送的访问请求,其中,第一私有缓存和第二私有缓存为多核处理器的私有缓存,多核处理器中的每个处理器核包括至少一个第一私有缓存和/或至少一个第二私有缓存。
本申请实施例中,多级缓存系统上可以包括共享缓存和私有缓存,其中,共享缓存为多级缓存系统所属的多核处理器中的共享缓存,私有缓存为多级缓存系统所属的多核处理器中各多核处理器的私有缓存。
在如图3所示的多级缓存系统中,L1缓存为L2缓存的上一级缓存,L2缓存为L3缓存的上一级缓存,其中,L3缓存为图3所示的多级缓存系统中的共享缓存,L1缓存和L2缓存则为图3所示的多级缓存系统中的私有缓存。
其中,设定L2缓存为图3所示的多级缓存系统中的第一私有缓存,L1缓存为图3所示的多级缓存系统中的第二私有缓存。
需要说明的是,每个多核处理器上可以包括至少一个第一私有缓存和/或至少一个第二私有缓存。
本申请实施例中,可以通过第二私有缓存上设置的访问请求的接收读取单元,获取第一私有缓存向第二私有缓存发送的访问请求。
实现中,多级缓存系统的第一私有缓存可以向第二私有缓存发送访问请求,其中,响应于多级缓存系统中第一私有缓存对第二私有缓存发送的访问请求的访问状态为访问失效,第一私有缓存向多级缓存系统中的共享缓存发送失效处理请求。
本申请实施例中,多核处理器可以通过访问共享缓存的附属目录,实现对多级缓存系统中存储的数据的相关信息的获取。
其中,可以通过向多级缓存系统中的共享缓存的附属目录发起访问请求,根据接收到的访问请求,共享缓存可以对其附属目录中的附属信息进行读取,从而获取访问请求需要访问的目标访问数据块在多级缓存系统中的分布情况以及对应状态的相关信息。
实现中,多级缓存系统中存在设定的存储层次分配策略,因此,当第二私有缓存需要对设定数据进行获取以及使用时,可以向其下一级的第一私有缓存发送访问请求,通过其第一私有缓存返回的应答信息,获取其所需的设定数据存储的数据块。
在该过程中,存在可能该设定数据在第一私有缓存中的存储状态异常。
在该场景下,第一私有缓存可以向其下一级缓存第二私有缓存继续发起访问请求,通过第二私有缓存对第一私有缓存进行相关的应答以及数据传输,使得第一私有缓存可以满足第二私有缓存发起的访问请求。
可选地,可以将第一私有缓存无法对第二私有缓存发起的访问请求进行满足以及正确应答的场景,确定为第一私有缓存对第二私有缓存发送的访问请求访问失败。
进一步地,将该场景下第一私有缓存向共享缓存继续发起的请求,确定为对应的失效处理请求。
比如,当第二私有缓存向第一私有缓存发送的访问请求对应的相关数据块在第一私有缓存中的状态出现异常时使得第一私有缓存无法对第二私有缓存发送的访问请求进行正确应答时,可以判断,当前第二私有缓存向第一私有缓存发送的访问请求访问失败。
在该场景下,第一私有缓存可以继续向其下一级的共享缓存发送对应的失效处理请求,通过共享缓存对其发起的失效处理请求的应答,使得第一私有缓存可以实现第二私有缓存发起的访问请求。
需要说明的是,共享缓存的附属目录存在设定的控制器,通过该设定的控制器,可以实现对多级缓存系统中用于共享的共享缓存的标签域中的附属目录的维护。其中,在多级缓存系统中共享缓存对于第一私有缓存发起的请求、返回的应答,以及共享缓存对应的下一级缓存和/或内存的一致性访问请求,以及共享缓存的相关操作,均由该设定的附属目录控制器实现。
进一步地,在共享缓存的附属目录中,确定访问请求在多级缓存系统中的目标访问数据块对应的附属信息,作为目标附属信息。
可选地,共享缓存接收到第一私有缓存发送的失效处理请求后,可以从失效处理请求中获取第二私有缓存向第一私有缓存发送的访问请求需要访问的数据块,其中,可以将该数据块确定为访问请求在多级缓存系统中对应的目标访问数据块。
为了使得第一私有缓存可以通过共享缓存返回的失效处理请求的应答信息,实现其对第二私有缓存发起的访问请求的应答,共享缓存需要获取目标访问数据块在多级缓存系统中的分布情况、存储状态等相关写入后信息。
进一步地,可以根据目标访问数据块的相关信息,从共享缓存的附属目录中,确定其对应的附属信息,并将其确定为目标附属信息。
可选地,在目标访问数据块存储于多级缓存系统中的第一私有缓存,并且,目标访问数据块存储的第一私有缓存所属的处理器核为目标访问数据块的备份处理器核的场景下,可以根据备份处理器核对应的标识信息在共享缓存的附属目录中的备份位上进行相关的查询,将备份位上包含有该备份处理器核对应的标识信息的附属信息,确定为该目标访问数据块对应的目标附属信息。
可选地,在目标访问数据块存储于多级缓存系统中的共享缓存的场景下,可以通过目标访问数据块在数据存储阵列的信息域中对应的附属信息,从附属目录中确定其对应的目标附属信息。
进一步地,获取目标附属信息的附属标识位上的附属信息,并根据附属标识位上的附属信息,获取访问请求的访问状态。
可选地,可以对目标附属信息上存在的附属标识为上的附属信息进行读取,根据读取到的附属信息的内容,确定目标访问数据块在多级缓存系统中的存储状态。
其中,当根据目标附属信息的附属标识位上的附属信息确定,访问请求对应的目标访问数据块当前在多级缓存系统的存储状态正常,可以被访问请求正常访问读取时,则可以确定,当前访问请求的访问状态为正常。
相应地,当根据目标附属信息的附属标识位上的附属信息确定,访问请求对应的目标访问数据块当前在多级缓存系统的存储状态出现异常,进而确定目标访问数据块无法被访问请求正常访问读取时,则可以确定,当前访问请求的访问状态为异常。
S202,共享缓存对处于访问状态下的访问请求进行应答。
本申请实施例中,共享缓存可以根据确定的访问请求在多级缓存系统中的访问状态,对接收到的访问请求进行应答。
可选地,在访问请求的访问状态为正常状态的场景下,可以基于访问请求所需的信息将目标访问数据块中的对应数据返回访问请求的发起方,从而实现对正常访问状态下的访问请求的应答。
可选地,在访问请求的访问状态为异常状态的场景下,可以从目标附属信息中获取访问请求出现访问状态异常所对应的异常信息,并将获取到的异常信息返回访问请求的发起方,从而实现对异常访问状态下的访问请求的应答。
本申请实施例中,访问状态异常的访问请求,可以生成对应的失效处理请求,共享缓存可以通过对访问状态异常的访问请求所对应的失效处理请求进行应答,实现对异常访问状态下的访问请求的应答。
其中,共享缓存根据目标附属信息,对失效处理请求进行应答。
本申请实施例中,确定共享缓存的附属目录中目标访问数据块对应的目标附属信息后,可以从目标附属信息的附属标识位上的标识信息,确定目标访问数据块的相关信息。
进一步地,根据获取到的相关信息,对第一私有缓存发起的失效处理请求进行应答。
比如,设定在第二私有缓存H2将访问请求发送至第一私有缓存H1,该访问请求需要访问的目标访问数据块在第一私有缓存H1中的存储状态异常,导致第二私有缓存H2无法对其进行读取调用,在该场景下,第一私有缓存H1对第二私有缓存H2发起的访问请求访问失效。
进一步地,第一私有缓存H1向共享缓存H3发送了失效处理请求,共享缓存H3确定了目标访问数据块在附属目录中的目标附属信息后,获取了该目标访问数据块的备份数据块所属的备份处理器核,进而从该备份处理器核上的第一私有缓存中,获取目标访问数据块对应的备份数据块,并将其相关信息生成对应的应答信息返回第一私有缓存H1。
进一步地,第一私有缓存H1根据接收到的共享缓存H3对失效处理请求返回的应答信息,对发起访问请求的第二私有缓存H2进行应答。
需要说明的是,本申请实施例提出的多核处理器上的多级缓存可以包括共享缓存、第一私有缓存和第二私有缓存,其中,共享缓存为多级缓存系统所属的多核处理器的共享缓存,第一私有缓存和第二私有缓存为多核处理器的私有缓存,多核处理器中的每个处理器核包括至少一个第一私有缓存和/或至少一个第二私有缓存。
本申请提出的多级缓存系统的访问方法,根据访问请求对应的目标访问数据块的目标附属信息,获取访问请求的访问状态,共享缓存根据获取到访问请求的访问状态,对访问请求进行应答。其中,当多级缓存系统中的第二私有缓存对第一私有缓存发起的访问请求在第一私有缓存中访问失效时,第一私有缓存可以向共享缓存发起失效处理请求,共享缓存根据访问请求对应的目标访问数据块,确定其在附属目录中对应的目标附属信息,根据目标附属信息中的标识信息,共享缓存生成失效处理请求的相关应答,并返回发起失效处理请求的第一私有缓存。本申请中,多级缓存系统的共享缓存上存在附属目录,实现了对多级缓存系统中存储的数据块的有效管理,通过读取附属目录获取访问请求对应的目标访问数据块对应的目标附属信息,并根据目标附属信息对访问请求进行应答,简化了访问请求对应的应答信息的获取方法,第二私有缓存向第一私有缓存的访问请求访问失效时,通过第一私有缓存向共享缓存发送的失效处理请求,使得共享缓存可以通过其标签域中维护的附属目录,实现对失效处理请求的应答,进而使得第一私有缓存可以实现对第二私有缓存的相关应答,实现了异常访问场景下的异常处理,从而降低了对访问请求进行应答对多级缓存系统造成的负荷程度,提高了多级缓存系统性能的稳定性,进而降低了访问请求出现访问延迟等异常情况的异常概率,优化了多级缓存系统的访问方法,提高了多级缓存系统的访问效率。
图4为本申请一实施例的多级缓存系统的数据存储方法的流程示意图,如图4所示,该方法包括:
S401,将待存储数据写入多级缓存系统,并获取待存储数据在多级缓存系统中的写入后信息。
实现中,多核处理器的多级缓存系统中,每个级别可以包括至少一个缓存系统,其中,可以在设定级缓存的标签域中,写入其上一级缓存中的数据写入后的相关信息,使得该设定级缓存可以实现对其上一级缓存中的数据写入后信息的记录和维护。
可选地,可以在该设定级缓存的标签域中,设置具有独立结构的附属目录,并根据该附属目录的结构设置,生成上一级缓存中的数据存储的相关信息在该设定级缓存的标签域中对应的附属信息。
进一步地,将该附属信息写入设定级缓存的标签域中的附属目录,并将其作为上一级缓存中的数据的相关写入后信息在该设定级缓存的标签域中进行维护的稀疏目录。
比如,在如图3所示的多级缓存系统中,设定L2缓存为L3缓存的上一级缓存,则可以根据L2缓存中数据的相关写入后信息生成对应的附属信息,并将其写入L3缓存的标签域中,作为L2缓存中数据的相关写入后信息在L3标签域中进行维护的稀疏目录。
因此,为了生成待存储数据在设定级缓存的标签域中的稀疏目录,需要获取待存储数据存储于多级缓存系统时的相关信息,并将其确定为待存储数据对应的写入后信息。
其中,写入后信息可以包括待存储数据在多级缓存系统中的写入地址、存储状态、所占存储空间相关参数等相关信息。
S402,生成待存储数据的写入后信息对应的附属信息,并将附属信息写入多级缓存系统的附属目录中,其中,附属目录存储于多级缓存系统中的共享缓存上。
本申请实施例中,设定级缓存的标签域中设置有独立结构的附属目录,其中,附属目录由不同数据对应的附属信息组成。
进一步地,组成附属目录的附属信息存在设定格式,因此,可以根据该设定格式将写入后信息中的相关信息进行整合,进而生成待存储数据对应的附属信息。
可选地,附属信息上存在不同类型的数据位,可以根据每个数据位上所需填写的数据类型,从写入后信息中获取对应的存储数据,并将其填写至对应的数据位上。
比如,设定附属信息上设置有存储位置类型的数据位,则可以从待存储数据的写入后信息中,获取待存储数据的存储位置对应的存储数据,并将其填写至该存储位置类型的数据位上。
再比如,设定附属信息上设置有存储占用空间类型的数据位,则可以从待存储数据的写入后信息中,获取待存储数据的存储占用空间对应的存储数据,并将其填写至该存储位置类型的数据位上。
进一步地,根据不同类型的数据位上的存储数据的填写,进而生成待存储数据对应的附属信息。
实现中,多核处理器上的多级缓存系统中,可以包括共享缓存和私有缓存,其中,私有缓存为每个处理器核私有的缓存系统。
因此,为了实现对多级缓存系统中,不同类型的缓存中数据的相关写入后信息的记录和维护,可以在共享缓存的标签域中设定对应的附属目录,将附属目录存储于多级缓存系统中的共享缓存上。
其中,可以将多级缓存系统中的共享缓存确定为共享缓存,如图3所示,L3缓存即为图3所示的多级缓存系统中用于共享的共享缓存。
进一步地,可以将待存储数据对应的附属信息写入共享缓存的附属目录中,作为待存储数据在共享缓存的标签域中的稀疏目录。通过对该稀疏目录的维护,实现对待存储数据的相关写入后信息的记录和维护。
可以理解为,通过对共享缓存的标签域中的附属目录的读取,即可获取待存储数据在多级缓存系统中的相关写入后信息。
在图3所示的多级缓存系统中,可以将待存储数据对应的附属信息写入L3缓存的标签域中的附属目录中,作为待存储数据在L3缓存的标签域中维护的稀疏目录。
本申请提出的多级缓存系统的数据存储方法,获取待存储数据在多级缓存系统中的写入后信息,根据写入后信息生成待存储数据对应的附属信息,并将其写入多级缓存系统中用于共享的共享缓存的附属目录中。本申请中,生成待存储数据在多级缓存系统中的写入后信息对应的附属信息,并将其写入多级缓存系统中的共享缓存的附属目录中,使得通过读取共享缓存的标签域中的附属目录,可以实现对待存储数据在多级缓存系统中的写入后信息的获取,简化了待存储数据的写入后信息的获取方法,提高了对多级缓存系统中的待存储数据的写入后信息的获取效率,节约了多级缓存系统中目录维护的资源,实现了多级缓存系统中的目录的可扩展,优化了多级缓存系统的性能。
上述实施例中,关于待存储数据的附属信息,可结合图5进一步理解,图5为本申请另一实施例的多级缓存系统的数据存储方法的流程示意图,如图5所示,该方法包括:
S501,获取共享缓存的初始附属信息中的附属标识位。
在一些实现中,多核处理器的多级缓存系统包括了共享缓存、第一私有缓存和第二私有缓存,共享缓存为多级缓存系统所属的多核处理器中的共享缓存,第一私有缓存和第二私有缓存为多核处理器的私有缓存。
其中,附属目录存储于共享缓存中,多核处理器中的每个处理器核包括至少一个第一私有缓存和/或至少一个第二私有缓存。
可选地,附属目录存储于多级缓存系统中的共享缓存上的标签域中。
比如,设定多核处理器中包括N个处理器核,则可以将N个处理器核中的每个处理器核上的私有缓存系统确定为该多核处理器上的多级缓存系统中的私有缓存,将N个处理器核共用的缓存系统确定为该多核处理器上的多级缓存系统中的共享缓存,共享缓存上存储有该多核处理器上的多级缓存系统的附属目录。
其中,可以在多级缓存中的共享缓存上的标签域中对该多个处理器上的多级缓存系统的附属目录进行存储。
如图3所示, L3缓存为图3所示的多级缓存系统中用于共享的共享缓存,L2缓存和L3缓存为处理器核的私有缓存。
进一步地,可以将图3所示的多级缓存的附属目录存储于L3缓存上的标签域中。
在另一些实现中,多级缓存系统中包括第一私有缓存,其中,第一私有缓存为多级缓存系统所属的多核处理器中部分处理器核的共享缓存。
可以理解为,第一私有缓存可以为多核处理器中设定数量的处理器核共用的缓存系统,其中,设定数量小于多核处理器中全部处理器核的对应数量。
比如,设定多核处理器中包括N个处理器核,则可以将多核处理器中M个处理器核共用的缓存系统确定为该多核处理器上的多级缓存系统中的部分共享缓存,其中,M小于N。
如图3所示,在图3所示的多核处理器上的多级缓存系统中,第一私有缓存L2可以为图3所示的多核处理器中部分处理器核的共享缓存。
本申请实施例中,可以获取共享缓存的附属目录对应的初始附属信息,通过对初始附属信息上的附属标识位进行对应的标识信息的填充,进而生成对应的附属信息。
可选地,共享缓存的初始附属信息的附属标识位,包括用于指示共享缓存相关信息的对应附属标识位。其中,用于指示共享缓存相关信息的对应附属标识位可以包括:
写入地址位,用于指示存储待存储数据的数据块的写入地址。
地址有效位,用于指示存储数据块的写入地址是否有效。
第一有效位,用于指示存储于共享缓存中的第一数据块是否有效,其中,第一数据块为共享缓存中存储待存储数据的数据块。
第一状态位,用于指示待存储数据在共享缓存中是否被写过数据。
数据域行号位,用于指示第一数据块在共享缓存的数据存储阵列的数据域中的存储行号。
其中,可以将该部分用于指示共享缓存相关信息的对应附属标识位,确定为初始附属信息中的第一附属标识位。
需要说明的是,在第一有效位上的设定标识指示共享缓存中的第一数据块有效的场景下,第一状态位上用于指示待存储数据在共享缓存中是否被写过数据对应的设定标识有效。
实现中,第一状态位上的设定标识可以包括标识信息0和标识信息1,其中,当第一状态位上的设定标识对应的标识信息为0时,可以判定,待存储数据在共享缓存中没有被写过数据,可以将该场景下的待存储数据标识为没有被写过的干净数据。
相应地,当第一状态位上的设定标识对应的标识信息为1时,可以判定,待存储数据在共享缓存中被写过数据,进一步地,可以将该场景下的待存储数据标识为被写过的脏数据。
需要说明的是,存储有脏数据的第一数据块存在被替换更新的可能,当存储有脏数据被替换后,需要将被替换下来的存储有脏数据的第一数据块写回至共享缓存的下一级缓存或内存。
进一步地,第一状态位上的设定标识的更新和修改,与待存储数据在第一私有缓存中的相关信息之间存在关联。
在一些实现中,第一私有缓存可以向共享缓存发送设定的写回请求,在该场景下,第一私有缓存可以将待存储数据在第一私有缓存中是否被写过数据的对应信息发送给共享缓存,共享缓存可以根据第一私有缓存发送的信息对第一状态位上的设定标识进行修改。
比如,当第一私有缓存将待存储数据在第一私有缓存中被写过数据的对应信息发送至共享缓存时,共享缓存可以基于接收到的信息将其对应的第一状态位上的设定标识更新为标识信息1。
再比如,当第一私有缓存将待存储数据在第一私有缓存未被写过数据的对应信息发送至共享缓存时,共享缓存可以基于接收到的信息将其对应的第一状态位上的设定标识更新为标识信息0。
可选地,共享缓存的初始附属信息的附属标识位,还包括用于指示第一私有缓存相关信息的对应附属标识位。其中,用于指示第一私有缓存相关信息的对应附属标识位可以包括:
第二有效位,用于指示存储于第一私有缓存中的第二数据块是否有效,其中,第二数据块为第一私有缓存中存储待存储数据的数据块。
第二状态位,用于指示第二数据块在多核处理器的全部第一私有缓存中的第二数据状态,其中,第二数据状态为独占状态(EXC)或共享状态(SHD)。
备份位,用于指示在多核处理器中,存储有第二数据块的备份数据块的备份处理器核。
第一拥有者位,用于指示多核处理器中是否存在第二数据块的拥有者处理器核。
第二拥有者位,用于指示多核处理器中,第二数据块的拥有者处理器核。
其中,可以将该部分用于指示第一私有缓存相关信息的对应附属标识位,确定为初始附属信息中的第二附属标识位。
进一步地,根据附属目录中的设定顺序对共享缓存的第一附属标识位和第一私有缓存的第二附属标识位进行组合,从而生成共享缓存的附属目录中对应的完整附属标识位。
S502,从写入后信息中,获取待存储数据在附属标识位上对应的标识信息,并将标识信息标记至对应的附属标识位,以生成待存储数据的附属信息。
本申请实施例中,根据共享缓存的附属目录中的初始附属信息上设置的附属标识位,获取待存储数据的写入后信息中对应的标识信息。
进一步地,将获取到的标识信息标记至对应的附属标识位上,进而生成待存储数据对应的附属信息。
需要说明的是,可以将待存储数据所存储的缓存确定为待存储数据的目标缓存,根据目标缓存的不同,可以生成待存储数据在不同目标缓存下的不同的附属信息。
进一步地,确定多级缓存系统中,待存储数据存储的目标缓存。
可选地,待存储数据可以仅存储于共享缓存,该场景下,共享缓存即为待存储数据存储的目标缓存。
可选地,待存储数据可以仅存储于第一私有缓存,该场景下,第一私有缓存即为待存储数据存储的目标缓存。
可选地,待存储数据可以同时存储于共享缓存和第一私有缓存,该场景下,共享缓存和第一私有缓存均为待存储数据存储的目标缓存。
进一步地,根据目标缓存,获取共享缓存的初始附属信息对应的目标标识信息,根据目标标识信息,生成待存储数据存储至目标缓存时,写入附属目录中的目标附属信息。
在待存储数据可以仅存储于共享缓存的场景下,可以在待存储数据存储至共享缓存时,获取初始附属信息对应的第一标识信息,并将第一标识信息标记至附属标识位上,生成待存储数据存储至共享缓存时,写入共享缓存的附属目录中的第一附属信息。
本申请实施例中,当待存储数据仅存储于共享缓存时,可以将该场景下,从写入后信息中获取到的初始附属信息的附属标识位上所需的标识信息,确定为第一标识信息。
在该场景下,从写入后信息获取到的第一标识信息可以包括:
在写入地址位上标记的,待存储数据在共享缓存中存储对应的第一数据块在共享缓存中的第一写入地址。
在地址有效位上标记的,第一写入地址有效。
在第一有效位上标记的,第一数据块的状态有效。
在第一状态位上标记的,待存储数据在共享缓存中是否被写过数据。
在数据域行号位上标记的,第一数据块在共享缓存的数据存储阵列中的数据域中的存储行号。
在第二有效位上标记的无效。
在第二状态位上标记的无效。
在备份位上标记的无效。
在第一拥有者位标记的无效。
在第二拥有者位上标记的无效。
需要说明的是,由于该场景下待存储数据仅存储于共享缓存,因此,该场景下的初始附属信息中用于指示第一私有缓存相关信息的附属标识位上的第一标识信息均为无效类的指示信息。
在待存储数据可以仅存储于第一私有缓存的场景下,当待存储数据写入第一私有缓存时,获取初始附属信息的第二标识信息,并将第二标识信息标记至附属标识位上,生成待存储数据存储至第一私有缓存时,写入共享缓存的附属目录中的第二附属信息。
本申请实施例中,当待存储数据仅存储于第一私有缓存时,可以将该场景下,从写入后信息中获取到的初始附属信息的附属标识位上所需的标识信息,确定为第二标识信息。
在该场景下,从写入后信息获取到的第二标识信息可以包括:
在写入地址位上标记的,待存储数据在第一私有缓存中存储对应的第二数据块在第一私有缓存中的第二写入地址。
在地址有效位上标记的,第二写入地址有效。
在第一有效位上标记的无效。其中,在第一有效位上的标记的无效的场景下,第一状态位处于无效状态。
在数据域行号位上标记的无效。
在第二有效位上标记的,第二数据块的状态有效。
在第二状态位上标记的,第二数据块的第二数据状态为独占状态(EXC)或共享状态(SHD)。
在备份位上标记的,在多核处理器中存储有第二数据块的备份数据块的备份处理器核。
在第一拥有者位上标记的,多核处理器中是否存在第二数据块的拥有者处理器核。
在第二拥有者位上标记的,在多核处理器中第二数据块的拥有者处理器核。
需要说明的是,由于该场景下待存储数据仅存储于第一私有缓存,因此,该场景下的初始附属信息中用于指示共享缓存相关信息的附属标识位上的第二标识信息均为无效类的指示信息。
在待存储数据同时存储于共享缓存和第一私有缓存的场景下,当待存储数据写入共享缓存和第一私有缓存时,获取初始附属信息的第三标识信息,并将第三标识信息标记至附属标识位上,生成待存储数据存储至共享缓存和第一私有缓存时,写入共享缓存的附属目录中的第三附属信息。
本申请实施例中,当待存储数据同时存储于共享缓存和第一私有缓存时,可以将该场景下,从写入后信息中获取到的初始附属信息的附属标识位上所需的标识信息,确定为第三标识信息。
在该场景下,从写入后信息获取到的第三标识信息可以包括:
在写入地址位上标记的,第一数据块在共享缓存中的第三写入地址,和/或,第二数据块在第一私有缓存中的第四写入地址。
在地址有效位上标记的,第三写入地址和/或第四写入地址有效。
在第一有效位上标记的,第一数据块的状态有效。
在第一状态位上标记的,待存储数据在共享缓存中是否被写过数据。
在数据域行号位上标记的,第一数据块在共享缓存的数据存储阵列中的数据域中的存储行号。
在第二有效位上标记的,第二数据块的状态有效。
在第二状态位上标记的,第二数据块的第二数据状态为独占状态(EXC)或共享状态(SHD)。
在备份位上标记的,在多核处理器中存储有第二数据块的备份数据块的备份处理器核。
在第一拥有者位上标记的,多核处理器中是否存在第二数据块的拥有者处理器核。
在第二拥有者位上标记的,在多核处理器中第二数据块的拥有者处理器核。
需要说明的是,共享缓存和第一私有缓存之间存在设定的关联关系,其中,当共享缓存和第一私有缓存之间为不包含关系(exclusive)时,待存储数据可仅存储于第一私有缓存;当共享缓存和第一私有缓存之间为包含关系(inclusive)时,待存储数据可同时存储于共享缓存和第一私有缓存;当共享缓存和第一私有缓存之间为非包含关系(non-inclusive)时,待存储数据可存储于共享缓存和/或第一私有缓存。
进一步地,根据第一标识信息生成第一附属信息后,可以将第一附属信息写入共享缓存的附属目录中,作为待存储数据存储于共享缓存时,在共享缓存的标签域中维护的稀疏目录。
相应地,根据第二标识信息生成第二附属信息后,可以将第二附属信息写入共享缓存的附属目录中,作为待存储数据存储于第一私有缓存时,在共享缓存的标签域中维护的稀疏目录。
相应地,根据第三标识信息生成第三附属信息后,可以将第三附属信息写入共享缓存的附属目录中,作为待存储数据同时存储于共享缓存和第一私有缓存时,在共享缓存的标签域中维护的稀疏目录。
比如,设定如图3所示的多核处理器上的多级缓存系统,其中,多核处理器包含128个处理器核,每个缓存行512 位,物理地址40位。
设定待存储数据A存储于共享缓存和第一私有缓存,其中,共享缓存中存储的第一数据块A1的物理写入地址(paddr,Physical Address)为,paddr0:0x802d7950(对应二进制:0000 0000 1000 0000 0010 1101 0111 1001 0101 0000),第一数据块A1在附属信息中的第一有效位标记为有效、第一状态位标记为被写过数据状态。
相应地,第一私有缓存中存储的第二数据块A2在附属信息中的第二状态位标记为独占状态(EXC),存储第二数据块A2的处理器核为127号处理器核(7’b1111111),第一私有缓存中待存储数据A存储的第二数据块A2的拥有者处理器核为127号处理器核。
再比如,待存储数据B的第一数据块B1仅存储于共享缓存,其物理写入地址为paddr1:0xf75dde08(对应二进制:0000 0000 0000 0111 0101 1101 1101 1110 00001000),其中,
作为其中一种可能,待存储数据A和待存储数据B存储于多级缓存系统,对应的附属信息可以结合图6理解。
其中,如图6所示,valid表示有效,inv表示无效,EXC表示独占状态,SHD表示共享状态,第一状态位上的1表示被写过数据,0表示未被写过数据,第一拥有者位上的1表示存在拥有者处理器核,0表示不存在拥有者处理器核。
本申请提出的多级缓存系统的数据存储方法,获取共享缓存的附属目录中的初始附属信息,根据初始附属信息的附属标识位,从待存储数据的写入后信息中获取对应的标识信息。进一步地,将标识信息标记至对应的附属标识位上,从而生成待存储数据对应的附属信息。本申请中,通过对附属标识位的设置,实现了多级缓存系统中目录的可拓展性,根据附属标识位获取待存储数据的写入后信息对应的标识信息,进而生成对应的附属信息,使得附属信息可以写入共享缓存的标签域中的附属目录,进而实现了共享缓存的附属目录中对于待存储数据的写入后信息的维护和记录,节约了多级缓存系统中目录维护的资源,优化了多级缓存系统的性能。
上述实施例中,关于待存储数据写入附属目录,可结合图7进一步理解,图7为本申请另一实施例的多级缓存系统的数据存储方法的流程示意图,如图7所示,该方法包括:
S701,响应于附属目录中无可供待存储数据对应的附属信息写入的对应行,获取附属目录的第一替换策略。
实现中,在附属信息写入共享缓存的附属目录的过程中,存在可能附属目录被占满。
可以理解为,附属目录中无可供附属信息写入的对应行,在该场景下,可以获取设定的处理方法,并根据获取到的处理方法在附属目录中,为附属信息空出可供写入的对应行。
其中,可以将该场景下的处理方法确定为第一替换策略。可选地,第一替换策略可以包括随机替换策略,最近最少使用替换策略、最不经常使用替换策略以及先进先出替换策略等。
S702,根据第一替换策略,确定附属目录中的第一替换信息,删除第一替换信息并将附属信息写入第一替换信息的对应行,并同步删除第一替换信息对应的数据块。
本申请实施例中,根据第一替换策略的具体限定,可以从附属目录中获取需要进行替换的标签,并将其确定为第一替换信息。
比如,在第一替换策略为随机替换策略时,则可以随机选择一个标签作为第一替换信息。
再比如,在第一替换策略为最近最少使用替换策略时,则可以将设定时间范围内使用频率最低的标签,作为第一替换信息。
进一步地,确定第一替换信息在附属目录中的所在行,并将待存储数据对应的附属信息写入该行,并将第一替换信息的相关信息进行删除。
实现中,附属目录是为了实现对多级缓存系统中的数据的相关写入后信息的维护,因此,在第一替换信息被替换删除后,需要对第一替换信息对应的存储数据进行相应的替换删除。
可选地,当第一替换信息对应的数据块存储于共享缓存时,第一替换信息上的第一有效位需标识为有效,在该场景下,可对第一替换信息对应的数据块进行删除。
其中,可以通过第一替换信息的数据域行号位上的标识信息,确定对应的数据块所在的存储位置,进而对该位置上的数据块进行删除。
可选地,当第一替换信息对应的数据块存储于第一私有缓存时,第二替换信息上的第二有效位需标识为有效,且该数据块所属的第一私有缓存所在的处理器核为第二替换信息的备份位上指示的备份处理器核之一,在该场景下,可对第一替换信息对应的数据块进行删除。
其中,可以将待存储数据对应的附属信息中获取到的待存储数据对应的数据块在第一私有缓存中的Index 和Block offset作为该数据块的低位地址,将第一替换信息的写入地址位指示的地址作为该数据块的高位地址,进而确定第一替换信息对应的数据块在第一私有缓存中的存储位置。
本申请提出的多级缓存系统的数据存储方法,当共享缓存的附属目录中无可供附属信息写入的对应行时,获取附属目录的第一替换策略,并根据第一替换策略从附属目录中确定进行替换的第一替换信息,进一步地,将附属信息写入第一替换信息在附属目录中的所在行,并将第一替换信息删除。相应地,确定第一替换信息在多级缓存系统中对应的数据块,并将其从对应的存储位置中删除。本申请中,通过设定的第一替换策略,实现了对附属目录被占满场景的异常处理,通过维护附属目录实现对多级缓存系统中数据清理,优化了多级缓存系统的性能。
上述实施例中,关于待存储数据写入目标缓存,可结合图8进一步理解,图8为本申请另一实施例的多级缓存系统的数据存储方法的流程示意图,如图8所示,该方法包括:
S801,响应于共享缓存的数据存储阵列的数据域中,无可供待存储数据的第一数据块存储的对应位置,获取共享缓存的第二替换策略。
本申请实施例中,当存储有待存储数据的第一数据块写入共享缓存的过程中,存在可能,共享缓存中无可供存储有待存储数据的第一数据块写入的对应位置,在该场景下,可以获取共享缓存的数据存储阵列对应的相关处理方法,并根据获取到的处理方法为第一数据块空出可供存储的对应位置。
其中,可以将该场景下获取到的处理方法确定为第二替换策略。可选地,第二替换策略可以包括随机替换策略,最近最少使用替换策略、最不经常使用替换策略以及先进先出替换策略等。
需要说明的是,共享缓存的数据存储阵列的数据域和信息域中的存储位置存在设定的关联关系,在数据域中无可供待存储数据的第一数据块存储的对应位置的场景下,信息域中同样无可供存储第一数据块对应的附属信息的附属信息路号和附属信息行号的对应位置。
因此,可以根据第二替换策略,将数据域中为第一数据块空出的可供存储的对应位置,相应地,将该数据域中对应位置在信息域中对应的附属信息路号和附属信息行号对应的存储位置空出,并在第一数据块存储至数据域时,将第一数据块对应的附属信息在附属目录中的附属信息行号和附属信息路号写入信息域中的对应位置。
S802,根据第二替换策略,确定数据域中的第二替换数据块,将第一数据块存储至第二替换数据块所属的第二替换位置,并删除第二替换位置上的第二替换数据块。
实现中,可以根据第二替换策略的相关限定,从共享缓存的数据存储阵列中获取可以进行替换的数据块,并将其确定为第二替换数据块。
进一步地,确定第二数据块在共享缓存中所属的存储位置,并将其确定为共享缓存中为第一数据块空出的第二替换位置。
确定第二替换位置之后,可以将第一数据块存储于第二替换位置,并将第二替换数据块从第二替换位置上删除。
S803,确定第二替换数据块在附属目录中对应的第二替换信息。
本申请实施例中,共享缓存中存储的数据块在附属目录中存在对应的附属信息,为了保证附属目录与多级缓存中存储数据的数据块之间的强关联关系,在删除了第二替换数据块之后,需要将附属目录中与第二替换数据块对应的附属信息进行删除。
可选地,从数据存储阵列的信息域中,获取第二替换数据块对应的第二替换信息的替换附属信息行号和替换附属信息路号。
实现中,在数据块存储至共享缓存的数据存储阵列的数据域时,其在信息域中存在对应的记录信息,其中,可以将该数据块在附属目录中对应的标签的相关信息存储于信息域中。
本申请实施例中,共享缓存的附属目录可以为如图9所示的多路组目录,因此,附属目录中的附属信息存在对应的附属信息路号和附属信息行号。
在图9所示的多路组附属目录中,附属信息组1的附属信息路号为0,附属信息组2的附属信息路号为1,附属信息组3的附属信息路号为2,以此类推。
相应地,如图9所示,附属信息组1中的附属信息A处于附属信息组1中的第一行,则附属信息A在附属信息组1中的附属信息行号为0,附属信息B处于附属信息组2中的第三行,则附属信息B的附属信息行号为2,附属信息C处于附属信息组3中的第二行,则附属信息C的附属信息行号为1,以此类推。
由此可知,附属信息A在图9所示的附属目录中的附属信息行号为0,附属信息路号为0,附属信息B在图9所示的附属目录中的附属信息行号为2,附属信息路号为1, 附属信息C在图9所示的附属目录中的附属信息行号为1,附属信息路号为3。
进一步地,获取附属信息在附属目录中的附属信息路号和附属信息行号后,可以将其作为数据块对应的记录信息,存储于数据存储阵列的信息域中。如图10所示,不同的数据块存储于数据存储阵列的不同行,在信息域中的存在的对应行则可以记录数据块对应的附属信息在附属目录中的附属信息行号和附属信息路号。
因此,可以从第二替换数据块在数据存储阵列的信息域的记录信息中,获取第二替换数据块对应的附属信息的附属信息路号和附属信息行号,并将其确定为替换附属信息路号和替换附属信息行号。
根据第二替换数据块对应的替换附属信息路号和替换附属信息行号,在附属目录中进行查询,进而确定第二替换数据块对应的标签,并将其确定为第二替换信息。
S804,确定附属目录中第二替换信息删除的对应行,并将第一数据块对应的附属信息写入删除的对应行。
本申请实施例中,确定第二替换信息后,可以将其进行删除处理,并将删除后的对应行作为供第一数据块对应的附属信息写入的对应行。
可以理解为,第二替换信息从附属目录中删除之后,可以将第一数据块对应的附属信息,存储于第二替换信息从附属目录删除后空出的对应行。
如图9所示,设定附属信息C为第二替换信息,则确定附属信息C为第二替换信息后,可以将附属信息C从其所在行中删除,并将删除后得到的对应行作为第一数据块对应的附属信息写入的对应行。
本申请提出的多级缓存系统的数据存储方法,共享缓存中无可供第一数据块存储时对应位置时,获取共享缓存对应的第二替换策略,根据第二替换策略从共享缓存的数据域中确定对应的第二替换数据块,进一步地,获取第二替换数据块在共享缓存中存储的第二替换位置,将第二替换位置上的第二替换数据块删除并将待存储数据存储的第一数据块写入。相应地,获取第二替换数据块在附属目录中对应的第二替换信息并删除。本申请中,通过设定的第二替换策略,实现了对共享缓存的数据域中无可供存储的对应位置的场景的异常处理,在对共享缓存中的数据进行维护管理的同时,实现了对附属目录的同步,优化了附属目录的维护管理方法,进而优化了多级缓存系统的性能。
上述实施例中,关于第一私有缓存向共享缓存发送失效处理请求以及共享缓存进行的相关的应答,可结合图11进一步理解,图11为本申请另一实施例的多级缓存系统的访问方法的流程示意图,如图11所示,该方法包括:
S1101,响应于多级缓存系统中第一私有缓存对第二私有缓存发送的访问请求的访问状态为访问失效,第一私有缓存向多级缓存系统中的共享缓存发送失效处理请求。
本申请实施例中,第一私有缓存向第二私有缓存发送的访问请求的访问状态存在可能出现访问失效状态,其中,响应于目标附属信息指示,第一私有缓存对第二私有缓存发送的访问请求未在第一私有缓存中命中,确定访问请求的访问状态为访问失效。
可选地,可以根据目标附属信息中附属标识位上的标识信息,确定第一私有缓存向第二私有缓存发送的访问请求所属的请求类型,进而确定第一私有缓存对第二私有缓存发送的访问请求的访问状态。
在一些实现中,第二私有缓存向第一私有缓存发起的访问请求,可以包括读访问请求,也可以包括写访问请求。
作为其中一种可能出现的场景,在第二私有缓存向第一私有缓存发起的读访问请求的场景下,若读访问请求对应的目标访问数据块在接收到读访问请求的第一私有缓存中不存在,或者其对应的目标访问数据块在接收到读访问请求的第一私有缓存中所处的状态为无效状态(INV),则可以确定该读访问请求在第一私有缓存中未命中。
进一步地,可以判断,第二私有缓存向第一私有缓存发起的读访问请求在第一私有缓存中读失效,其中,当访问请求为读访问请求且读访问请求未在第一私有缓存中命中时,确定第一私有缓存对读访问请求读失效,第一私有缓存生成读访问请求对应的读失效处理请求,并将其作为第一读失效处理请求(ReqRead)发送至共享缓存。
作为另一种可能出现的场景,在第二私有缓存向第一私有缓存发起的写访问请求的场景下,若写访问请求对应的目标访问数据块在接收到写访问请求的第一私有缓存中不存在,或者其对应的目标访问数据块在接收到写访问请求的第一私有缓存中所处的状态为无效状态(INV),或者其对应的目标访问数据块在接收到写访问请求的第一私有缓存中所处的状态为共享状态(SHD)时,则可以确定该写访问请求在第一私有缓存中未命中。
进一步地,可以判断,第二私有缓存向第一私有缓存发起的写访问请求在第一私有缓存中写失效,其中,当访问请求为写访问请求且写访问请求未在第一私有缓存中命中时,确定第一私有缓存对写访问请求写失效,第一私有缓存生成写访问请求对应的写失效处理请求,并作为第一写失效处理请求(ReqWrite)发送至共享缓存。
作为另一种可能出现的场景,在第二私有缓存向第一私有缓存发起的设定访问请求的场景下,若设定访问请求对应的目标访问数据块在接收到访问请求的第一私有缓存中被替换,则可以确定,该访问请求在第一私有缓存中未命中。
进一步地,可以判断,第二私有缓存向第一私有缓存发起的设定访问请求在第一私有缓存中访问失效,其中,当第一私有缓存中的数据块被替换时,第一私有缓存向共享缓存发送替换请求。
实现中,待存储数据可以同时存储于共享缓存和第一私有缓存中,在该场景下,为了维护数据的一致性,当第一私有缓存中的数据已经被替换时,需要对共享缓存中的数据进行相应的替换处理。
因此,共享缓存接收到第一私有缓存发送的替换请求之后,当共享缓存中存储有替换请求对应的替换数据块,共享缓存对替换请求对应的替换数据块进行替换处理,并生成对应的应答发送至对应的第一私有缓存所属的处理器核。
相应地,还可以对共享缓存的下一级存储系统中存储的对应数据进行替换处理,可选地,当共享缓存中不存在替换请求对应的替换数据块时,在共享缓存的下一级存储系统中,确定替换请求对应的替换数据块,下一级存储系统对替换请求对应的替换数据块进行替换处理,并生成对应的应答发送至对应的第一私有缓存所属的处理器核。
其中,该接收对应应答的第一私有缓存,为存在数据块需要被替换并向共享缓存发送替换请求的第一私有缓存。
S1102,在共享缓存的附属目录中,确定访问请求在多级缓存系统中的目标访问数据块对应的附属信息,作为目标附属信息。
本申请实施例中,可以根据目标访问数据块的相关信息,实现其在共享缓存的附属目录中的目标附属信息的确定。
其中,当目标访问数据块存储于第一私有缓存时,可以根据第一私有缓存所属的处理器核的相关信息,从附属目录中确定目标访问数据块对应的目标附属信息。
可选地,当第一私有缓存所属的处理器核为目标访问数据块的备份处理器核时,根据附属目录中的备份位上的标识信息,确定目标访问数据块在附属目录中对应的目标附属信息。
进一步地,可以获取目标访问数据块存储的第一私有缓存所属的处理器核的标识信息,并将其与附属目录的备份位上的标识信息进行对比,根据对比结果,从附属目录中确定对应的附属信息,并将其作为目标访问数据块在附属目录中对应的目标附属信息。
可选地,当第一私有缓存所属的处理器核为目标访问数据块的拥有者处理器核时,根据附属目录中对应的拥有者位上的标识信息,确定目标访问数据块在附属目录中对应的目标附属信息。
进一步地,可以获取目标访问数据块存储的第一私有缓存所属的处理器核的标识信息,并将其与附属目录中对应的拥有者位上的标识信息进行对比,根据对比结果,从附属目录中确定对应的附属信息,并将其作为目标访问数据块在附属目录中对应的目标附属信息。
S1103,共享缓存根据目标附属信息,对失效处理请求进行应答。
在一些实现中,共享缓存可以从目标附属信息获取目标访问数据块的相关状态信息,并根据相关状态信息对第一私有缓存发送的失效处理请求进行应答。
其中,共享缓存可以根据目标附属信息上相关附属标识位上的标识信息,确定目标访问数据块的目标状态,可选地,共享缓存可以获取目标附属信息中待存储数据块有效位和目标拥有者位上的标识信息,确定目标访问数据块的目标状态。
可选地,当待存储数据块有效位的标识为有效(VALID),且目标拥有者位的标识为待存储数据块存在拥有者处理器核状态时,确定目标访问数据块的目标状态为有效且dirty(VALID- DIRTY)。
其中,当目标拥有者位标识待存储数据块存在拥有者处理器核时,可以判定,该场景下的待存储数据块为dirty状态下的数据块,则可以将目标访问数据块的目标状态标记为有效且diry。
进一步地,共享缓存根据目标状态,对失效处理请求进行应答。
作为一种可能的实现方式,当目标状态为有效且dirty时(VALID- DIRTY),共享缓存生成第一读失效处理请求对应的写回请求,作为第一写回请求(ReqWtbk)发送至目标访问数据块对应的拥有者处理器核上的第一私有缓存。
可选地,在第一私有缓存接收到第一写回请求之后,当识别到第二私有缓存中存储有目标访问数据块对应的备份数据块时,第一私有缓存生成对应的写回请求,并作为第三写回请求(ReqWtbk请求)发送至第二私有缓存。
进一步地,第二私有缓存根据第三写回请求,将其自身存储的备份数据块的状态调整至共享(SHD)状态,并将调整后的备份数据块写回第一私有缓存。
需要说明的是,第二私有缓存在对备份数据块的状态调整结束并写回第一私有缓存之后,可以将调整状态的目标访问数据块所属的第一私有缓存所在的处理器核,标记为调整至共享状态的目标访问数据块的拥有者处理器核,并在共享缓存的附属目录中更新。
进一步地,在第二私有缓存将其调整后的备份数据块的相关状态数据写回至第一私有缓存之后,第一私有缓存将其自身存储的目标访问数据块的状态调整至共享状态,并生成对应的写回应答,作为第一写回应答(RespWtbk)发送共享缓存。
作为另一种可能地实现方式,当目标状态为有效且dirty时(VALID- DIRTY),共享缓存生成第一写失效处理请求对应的写回请求,并作为第一无效并写回请求(ReqINVWtbk)发送至目标访问数据块对应的拥有者处理器核上的第一私有缓存。
进一步地,当识别到第二私有缓存中存储有目标访问数据块对应的备份数据块时,第一私有缓存生成对应的无效并写回请求,并作为第二无效并写回请求(ReqINVWtbk)发送至第二私有缓存。
第二私有缓存接收到第二无效并写回请求之后,根据第二无效并写回请求,第二私有缓存调整备份数据块至无效状态,并将调整后的备份数据块写回第一私有缓存。
进一步地,第二私有缓存将调整后的备份数据块的相关数据写回至第一私有缓存之后,第一私有缓存调整目标访问数据块至无效状态,并生成对应的无效并写回应答,作为第一无效并写回应答(RespINVWtbk)发送共享缓存。
可选地,当待存储数据块有效位的标识为有效(VALID),且目标拥有者位的标识为待存储数据块不存在拥有者处理器核状态时,确定目标访问数据块的目标状态为有效且clean(VALID- CLEAN)。
其中,当目标拥有者位标识待存储数据块不存在拥有者处理器核时,可以判定,该场景下的待存储数据块为clean状态下的数据块,则可以将目标访问数据块的目标状态标记为有效且clean。
进一步地,共享缓存根据目标状态,对失效处理请求进行应答。
作为一种可能的实现方式,当目标状态为有效且clean时(VALID- CLEAN),共享缓存生成第一读失效处理请求对应的写回请求,并作为第二写回请求(ReqWtbkFwd)发送至目标访问数据块对应的任一备份处理器核上的第一私有缓存。
进一步地,接收到第二写回请求的第一私有缓存,可以将目标访问数据块中的数据,发送至共享缓存。
作为另一种可能的实现方式,当目标状态为有效且clean时(VALID- CLEAN),共享缓存生成第一写失效处理请求对应的无效请求,并作为第一无效请求(ReqINV)发送至目标访问数据块对应的全部备份处理器核上的第一私有缓存。
进一步地,第一私有缓存接收到第一无效请求之后,对其对应的第二私有缓存中是否存储有目标访问数据块的备份数据块进行识别,其中,当识别到第二私有缓存中存储有目标访问数据块的备份数据块时,第一私有缓存生成对应的无效请求,并作为第二无效请求(ReqINV)发送至第二私有缓存。
第二私有缓存接收到第二无效请求后,根据第二无效请求,第二私有缓存调整备份数据块至无效状态,并将调整后的备份数据块写回第一私有缓存。
进一步地,第一私有缓存调整目标访问数据块至无效状态,并生成对应的无效应答,作为第一无效应答(RespINV)发送至共享缓存。
在另一些实现中,共享缓存还可以根据目标访问数据块对应的目标附属信息指示的相关信息,对接收到的第一私有缓存发送的失效处理请求进行应答。
作为一种可能出现的场景,当共享缓存接收到第一私有缓存发送的第一读失效处理请求之后,可以根据目标附属信息指示的相关信息,对第一读失效处理请求进行应答。
可选地,当目标附属信息指示,第一私有缓存中不存在目标访问数据块时,获取目标访问数据块对应的数据后,共享缓存生成对应的读失效应答(RespRead),并发送至发出第一读失效处理请求的第一私有缓存。
可选地,当目标附属信息指示,第一私有缓存中的目标访问数据块为dirty状态时,共享缓存接收到第一写回应答后,生成对应的读失效应答(RespRead),并发送至发出第一读失效处理请求的第一私有缓存。
作为另一种可能出现的场景,当共享缓存接收到第一私有缓存发送的第一写失效处理请求之后,可以根据目标附属信息指示的相关信息,对第一写失效处理请求进行应答。
可选地,当目标附属信息指示,第一私有缓存中不存在目标访问数据块时,获取目标访问数据块对应的数据后,共享缓存生成对应的写失效应答,并发送至发出第一写失效处理请求的第一私有缓存。
可选地,当目标附属信息指示,第一私有缓存中的目标访问数据块为有效且clean状态时,共享缓存接收到第一无效应答后,生成对应的写失效应答,并发送至发出第一写失效处理请求的第一私有缓存。
可选地,当目标附属信息指示,第一私有缓存中的目标访问数据块为有效且clean状态时,共享缓存接收到第一无效并写回应答后,生成对应的写失效应答,并发送至发出第一写失效处理请求的第一私有缓存。
本申请提出的多级缓存系统的访问方法,当多级缓存系统中的第二私有缓存对第一私有缓存发起的访问请求在第一私有缓存中访问失效时,第一私有缓存可以向共享缓存发起失效处理请求,共享缓存根据访问请求对应的目标访问数据块,确定其在附属目录中对应的目标附属信息,根据目标附属信息中的标识信息,共享缓存生成失效处理请求的相关应答,并返回发起失效处理请求的第一私有缓存。本申请中,第二私有缓存向第一私有缓存的访问请求访问失效时,通过第一私有缓存向共享缓存发送的失效处理请求,使得共享缓存可以通过其标签域中维护的附属目录,实现对失效处理请求的应答,进而使得第一私有缓存可以实现对第二私有缓存的相关应答,实现了异常访问场景下的异常处理,提高了多级缓存系统的稳定性,通过对附属目录的访问,获取到目标访问数据块在多个处理器核上的写入后信息,优化了多级缓存系统的访问方法,提高了访问效率,优化了访问结果。
上述实施例中,关于第一私有缓存的信息更新,可结合图12进一步理解,图12为本申请另一实施例的多级缓存系统的访问方法的流程示意图,如图12所示,该方法包括:
S1201,响应于目标附属信息指示,目标访问数据块在多级缓存系统的第一私有缓存中不存在,获取共享缓存的附属目录的替换策略,并根据替换策略对共享缓存的附属目录进行更新。
实现中,共享缓存的标签域中的附属目录中可能存在附属信息的标识信息,与多级缓存系统中的实际写入后信息不匹配的情况。
可选地,访问请求需要访问的目标访问数据块在附属目录中对应的目标附属信息指示,目标访问数据块在多级缓存系统的第一私有缓存中不存在,可以理解为,当前共享缓存内的附属目录中的信息与多级缓存系统中数据的写入后信息之间存在差异,因此,需要对附属目录中的信息进行更新。
其中,可以获取共享缓存的附属目录对应的替换策略,并根据对应替换策略对附属目录进行相关信息的更新。
S1202,根据更新后附属目录中的更新附属信息,对第一私有缓存进行信息更新。
在一些实现中,当更新附属信息指示,第一私有缓存内的对应的标签对应数据块为有效且clean状态时,该场景下,可以理解为,该数据块为多级缓存系统中的clean数据块,因此,若该数据块存在对应的拥有者处理器核,则共享缓存生成对应的无效请求,并将其作为第三无效请求,发送第三无效请求至该数据块对应的拥有者处理器核上的第一私有缓存。
进一步地,将拥有者处理器核上的第一私有缓存内存储的对应数据块的状态调整至无效,以保证该数据块在多级缓存系统中处于clean状态。
在另一些实现中,当更新附属信息指示,第一私有缓存内的对应的标签对应数据块为有效且dirty状态时,该场景下,可以理解为,该数据块为多级缓存系统中的dirty数据块。
可选地,需要对该数据块对应的非拥有者处理器核上的第一私有缓存中存储的备份数据进行无效。其中,共享缓存可以生成对应的无效请求,并将其作为第四无效请求发送至该数据块对应的非拥有者处理器核上的第一私有缓存。
进一步地,将非拥有者处理器核上的第一私有缓存内存储的对应数据块的状态调整至无效,以保证该数据块在多级缓存系统中处于dirty状态。
在另一些实现中,当更新附属信息指示,第一私有缓存内的对应的标签对应数据块为有效且dirty状态时,该场景下,该数据块为多级缓存系统中的存在拥有者处理器核的数据块。
可选地,共享缓存还可以生成对应的无效并写回请求,并作为第三无效并写回请求发送至的标签对应数据块对应的拥有者处理器核上的第一私有缓存,或者,发送到独占标签对应数据块的备份处理器核上的第一私有缓存。
需要说明的是,当共享缓存中存储有标签对应数据块对应的备份数据块,且更新附属信息的标识信息与标签对应数据块在第一私有缓存中的写入后信息不匹配时,共享缓存需要对其自身存储的相关数据进行对应的替换处理,其中,共享缓存可以对自身的数据存储阵列中的数据域中的存储的备份数据块进行替换处理。
本申请提出的多级缓存系统的访问方法,当目标访问数据块对应的目标附属信息的标识信息中指示,第一私有缓存中不存在对应的目标访问数据块的相关信息时,需要对共享缓存的附属目录进行更新,获取更新后的附属目录,并根据更新后附属目录中的更新附属信息,对第一私有缓存进行信息更新。本申请中,通过对共享缓存的附属目录的更新维护,提高了多级缓存系统的稳定性,优化了多级缓存系统的访问方法,提高了访问效率,优化了访问结果。
与上述几种实施例提出的多级缓存系统的访问方法相对应,本申请的一个实施例还提出了一种多级缓存系统的访问装置,由于本申请实施例提出的多级缓存系统的访问装置与上述几种实施例提出的多级缓存系统的访问方法相对应,因此上述多级缓存系统的访问方法的实施方式也适用于本申请实施例提出的多级缓存系统的访问装置,在下述实施例中不再详细描述。
图13为本申请一实施例的多级缓存系统的访问装置的结构示意图,如图13所示,多级缓存系统的访问装置1300,包括获取模块131、访问模块132、应答模块133,其中:
获取模块131,用于获取多级缓存系统的访问请求;
访问模块132,用于根据访问请求,从多级缓存系统的附属目录中,获取访问请求在多级缓存系统中的目标访问数据块以及目标访问数据块的目标附属信息,其中,附属目录存储于多级缓存系统中的共享缓存上;
应答模块133,用于根据目标附属信息,对访问请求进行应答。
本申请实施例中,应答模块133,还用于:根据目标附属信息,确定访问请求的访问状态;共享缓存对处于访问状态下的访问请求进行应答。
本申请实施例中,附属目录存储于多级缓存系统中的共享缓存上的标签域中。
本申请实施例中,应答模块133,还用于:获取多级缓存系统中第一私有缓存对第二私有缓存发送的访问请求,其中,第一私有缓存和第二私有缓存为多核处理器的私有缓存,多核处理器中的每个处理器核包括至少一个第一私有缓存和/或至少一个第二私有缓存;在共享缓存的附属目录中,确定访问请求在多级缓存系统中的目标访问数据块对应的附属信息,作为目标附属信息;获取目标附属信息的附属标识位上的附属信息,并根据附属标识位上的附属信息,获取访问请求的访问状态。
本申请实施例中,应答模块133,还用于:响应于目标附属信息指示,第一私有缓存对第二私有缓存发送的访问请求未在第一私有缓存中命中,确定访问请求的访问状态为访问失效。
本申请实施例中,应答模块133,还用于:响应于多级缓存系统中第一私有缓存对第二私有缓存发送的访问请求的访问状态为访问失效,第一私有缓存向多级缓存系统中的共享缓存发送失效处理请求;共享缓存根据目标附属信息,对失效处理请求进行应答。
本申请实施例中,应答模块133,还用于:响应于访问请求为读访问请求且读访问请求未在第一私有缓存中命中,确定第一私有缓存对读访问请求读失效,第一私有缓存生成读访问请求对应的第一读失效处理请求,并发送至共享缓存;响应于访问请求为写访问请求且写访问请求未在第一私有缓存中命中,确定第一私有缓存对写访问请求写失效,第一私有缓存生成写访问请求对应的第一写失效处理请求,并发送至共享缓存。
本申请实施例中,应答模块133,还用于:响应于目标附属信息指示,第一私有缓存中不存在目标访问数据块,获取目标访问数据块对应的数据后,共享缓存生成对应的读失效应答,并发送至发出第一读失效处理请求的第一私有缓存;或者,响应于目标附属信息指示,第一私有缓存中的目标访问数据块为dirty状态,共享缓存接收到第一写回应答后,生成对应的读失效应答,并发送至发出第一读失效处理请求的第一私有缓存。
本申请实施例中,应答模块133,还用于:响应于目标附属信息指示,第一私有缓存中不存在目标访问数据块,获取目标访问数据块对应的数据后,共享缓存生成对应的写失效应答,并发送至发出第一写失效处理请求的第一私有缓存;或者,响应于目标附属信息指示,第一私有缓存中的目标访问数据块为有效且clean状态,共享缓存接收到第一无效应答后,生成对应的写失效应答,并发送至发出第一写失效处理请求的第一私有缓存;或者,响应于目标附属信息指示,第一私有缓存中的目标访问数据块为有效且clean状态,共享缓存接收到第一无效并写回应答后,生成对应的写失效应答,并发送至发出第一写失效处理请求的第一私有缓存。
本申请实施例中,应答模块133,还用于:响应于第一私有缓存中的数据块被替换,第一私有缓存向共享缓存发送替换请求。
本申请实施例中,应答模块133,还用于:响应于共享缓存中存储有替换请求对应的替换数据块,共享缓存对替换请求对应的替换数据块进行替换处理,并生成对应的应答发送至对应的第一私有缓存所属的处理器核;响应于共享缓存中不存在替换请求对应的替换数据块,在共享缓存的下一级存储系统中,确定替换请求对应的替换数据块,下一级存储系统对替换请求对应的替换数据块进行替换处理,并生成对应的应答发送至对应的第一私有缓存所属的处理器核。
本申请实施例中,访问模块132,还用于:响应于第一私有缓存所属的处理器核为目标访问数据块的备份处理器核,根据附属目录中的备份位上的标识信息,确定目标访问数据块在附属目录中对应的目标附属信息;响应于第一私有缓存所属的处理器核为目标访问数据块的拥有者处理器核,根据附属目录中对应的拥有者位上的标识信息,确定目标访问数据块在附属目录中对应的目标附属信息。
本申请实施例中,应答模块133,还用于:共享缓存获取目标附属信息中待存储数据块有效位和目标拥有者位上的标识信息,确定目标访问数据块的目标状态;共享缓存根据目标状态,对失效处理请求进行应答。
本申请实施例中,应答模块133,还用于:响应于待存储数据块有效位的标识为有效,且目标拥有者位的标识为待存储数据块存在拥有者处理器核状态,确定目标访问数据块的目标状态为有效且dirty;响应于待存储数据块有效位的标识为有效,且目标拥有者位的标识为待存储数据块不存在拥有者处理器核状态,确定目标访问数据块的目标状态为有效且clean。
本申请实施例中,应答模块133,还用于:响应于目标状态为有效且dirty,共享缓存生成第一读失效处理请求对应的第一写回请求,并发送至目标访问数据块对应的拥有者处理器核上的第一私有缓存;响应于目标状态为有效且clean,共享缓存生成第一读失效处理请求对应的第二写回请求,并发送至目标访问数据块对应的任一备份处理器核上的第一私有缓存。
本申请实施例中,应答模块133,还用于:响应于识别到第二私有缓存中存储有目标访问数据块对应的备份数据块,第一私有缓存生成第三写回请求并发送至第二私有缓存;根据第三写回请求,第二私有缓存调整备份数据块至共享状态,并将调整后的备份数据块写回第一私有缓存;第一私有缓存调整目标访问数据块至共享状态。
本申请实施例中,应答模块133,还用于:将调整状态的目标访问数据块所属的第一私有缓存所在的处理器核,标记为调整至共享状态的目标访问数据块的拥有者处理器核,并在共享缓存的附属目录中更新。
本申请实施例中,应答模块133,还用于:第一私有缓存将目标访问数据块中的数据,发送至共享缓存。
本申请实施例中,应答模块133,还用于:响应于目标状态为有效且dirty,共享缓存生成第一写失效处理请求对应的第一无效并写回请求,并发送至目标访问数据块对应的拥有者处理器核上的第一私有缓存;响应于目标状态为有效且clean,共享缓存生成第一写失效处理请求对应的第一无效请求,并发送至目标访问数据块对应的全部备份处理器核上的第一私有缓存。
本申请实施例中,应答模块133,还用于:响应于识别到第二私有缓存中存储有目标访问数据块对应的备份数据块,第一私有缓存生成第二无效并写回请求并发送至第二私有缓存;根据第二无效并写回请求,第二私有缓存调整备份数据块至无效状态,并将调整后的备份数据块写回第一私有缓存;第一私有缓存调整目标访问数据块至无效状态,并生成第一无效并写回应答发送共享缓存。
本申请实施例中,应答模块133,还用于:响应于识别到第二私有缓存中存储有目标访问数据块的备份数据块,第一私有缓存生成第二无效请求并发送至第二私有缓存;根据第二无效请求,第二私有缓存调整备份数据块至无效状态,并将调整后的备份数据块写回第一私有缓存;第一私有缓存调整目标访问数据块至无效状态,并生成第一无效应答发送至共享缓存。
本申请实施例中,应答模块133,还用于:拥有者处理器核上的第一私有缓存,将目标访问数据块中的数据发送至共享缓存。
本申请实施例中,应答模块133,还用于:响应于目标附属信息指示,目标访问数据块在多级缓存系统的第一私有缓存中不存在,获取共享缓存的附属目录的替换策略,并根据替换策略对共享缓存的附属目录进行更新;根据更新后附属目录中的更新附属信息,对第一私有缓存进行信息更新。
本申请实施例中,应答模块133,还用于:响应于更新附属信息指示,第一私有缓存内的附属信息对应数据块为有效且clean状态,共享缓存生成第三无效请求,并发送第三无效请求至附属信息对应数据块对应的拥有者处理器核上的第一私有缓存;响应于更新附属信息指示,第一私有缓存内的附属信息对应数据块为有效且dirty状态,共享缓存生成第四无效请求,并发送第四无效请求至附属信息对应数据块对应的非拥有者处理器核上的第一私有缓存。
本申请实施例中,应答模块133,还用于:响应于更新附属信息指示,第一私有缓存内的附属信息对应数据块为有效且dirty状态,共享缓存生成第三无效并写回请求,并发送第三无效并写回请求至附属信息对应数据块对应的拥有者处理器核上的第一私有缓存,或者,发送至独占附属信息对应数据块的备份处理器核上的第一私有缓存。
本申请实施例中,应答模块133,还用于:响应于共享缓存中存储有附属信息对应数据块对应的备份数据块,且更新附属信息的标识信息与附属信息对应数据块在第一私有缓存中的写入后信息不匹配,共享缓存对自身的数据存储阵列中的数据域中的存储的备份数据块进行替换处理。
本申请提出的多级缓存系统的访问装置,获取多级缓存系统的访问请求,并根据访问请求对多级缓存系统中的共享缓存上存储的附属目录进行读取,以获取访问请求在多级缓存系统中对应的目标访问数据块以及目标访问数据块对应的目标附属信息。进一步地,根据目标附属信息,对访问请求进行应答。本申请中,多级缓存系统的共享缓存上存在附属目录,实现了对多级缓存系统中存储的数据块的有效管理,通过读取附属目录获取访问请求对应的目标访问数据块对应的目标附属信息,并根据目标附属信息对访问请求进行应答,简化了访问请求对应的应答信息的获取方法,从而降低了对访问请求进行应答对多级缓存系统造成的负荷程度,提高了多级缓存系统性能的稳定性,进而降低了访问请求的访问延迟,优化了多级缓存系统的访问方法,提高了多级缓存系统的访问效率,节约了多级缓存系统的资源。
与上述几种实施例提出的多级缓存系统的数据存储方法相对应,本申请的一个实施例还提出了一种多级缓存系统的数据存储装置,由于本申请实施例提出的多级缓存系统的数据存储装置与上述几种实施例提出的多级缓存系统的数据存储方法相对应,因此上述多级缓存系统的数据存储方法的实施方式也适用于本申请实施例提出的多级缓存系统的数据存储装置,在下述实施例中不再详细描述。
图14为本申请一实施例的多级缓存系统的访问装置的结构示意图,如图14所示,多级缓存系统的数据存储装置1400,包括第一写入模块141和第二写入模块142,其中:
第一写入模块141,用于将待存储数据写入多级缓存系统,并获取待存储数据在多级缓存系统中的写入后信息;
第二写入模块142,用于生成待存储数据的写入后信息对应的附属信息,并将附属信息写入多级缓存系统的附属目录中,其中,附属目录存储于多级缓存系统中的共享缓存上。
本申请实施例中,多级缓存系统中包括共享缓存、第一私有缓存和第二私有缓存,共享缓存为多级缓存系统所属的多核处理器中的共享缓存,第一私有缓存和第二私有缓存为多核处理器的私有缓存;其中,多核处理器中的每个处理器核包括至少一个第一私有缓存和/或至少一个第二私有缓存。
本申请实施例中,附属目录存储于多级缓存系统中的共享缓存上的标签域中。
本申请实施例中,多级缓存系统中包括第一私有缓存,其中,第一私有缓存为多级缓存系统所属的多核处理器中部分处理器核的共享缓存。
本申请实施例中,第二写入模块142,还用于:获取共享缓存的初始附属信息中的附属标识位;从写入后信息中,获取待存储数据在附属标识位的标识信息,并将标识信息标记至对应的附属标识位,以生成待存储数据的附属信息。
本申请实施例中,第二写入模块142,还用于:写入地址位,用于指示存储待存储数据的数据块的写入地址;地址有效位,用于指示存储数据块的写入地址是否有效;第一有效位,用于指示存储于共享缓存中的第一数据块是否有效,其中,第一数据块为共享缓存中存储待存储数据的数据块;第一状态位,用于指示待存储数据在共享缓存中是否被写过数据;数据域行号位,用于指示第一数据块在共享缓存的数据存储阵列的数据域中的存储行号。
本申请实施例中,第二写入模块142,还用于:第二有效位,用于指示存储于第一私有缓存中的第二数据块是否有效,其中,第二数据块为第一私有缓存中存储待存储数据的数据块;第二状态位,用于指示第二数据块在多核处理器的全部第一私有缓存中的第二数据状态,其中,第二数据状态为独占状态(EXC)或共享状态(SHD);备份位,用于指示在多核处理器中,存储有第二数据块的备份数据块的备份处理器核;第一拥有者位,用于指示多核处理器中是否存在第二数据块的拥有者处理器核;第二拥有者位,用于指示多核处理器中,第二数据块的拥有者处理器核。
本申请实施例中,第二写入模块142,还用于:确定多级缓存系统中,待存储数据写入的目标缓存;根据目标缓存,获取共享缓存的初始附属信息对应的目标标识信息;根据目标标识信息,生成待存储数据存储至目标缓存时,写入附属目录中的目标附属信息。
本申请实施例中,第二写入模块142,还用于:响应于待存储数据存储至共享缓存,获取初始附属信息对应的第一标识信息。
本申请实施例中,第二写入模块142,还用于:将第一标识信息标记至附属标识位上,生成待存储数据存储至共享缓存时,写入共享缓存的附属目录中的第一附属信息。
本申请实施例中,第二写入模块142,还用于:响应于待存储数据写入第一私有缓存时,获取初始附属信息的第二标识信息。
本申请实施例中,第二写入模块142,还用于:将第二标识信息标记至附属标识位上,生成待存储数据存储至第一私有缓存时,写入共享缓存的附属目录中的第二附属信息。
本申请实施例中,第二写入模块142,还用于:响应于待存储数据写入共享缓存和第一私有缓存时,获取初始附属信息的第三标识信息。
本申请实施例中,第二写入模块142,还用于:将第三标识信息标记至附属标识位上,生成待存储数据存储至共享缓存和第一私有缓存时,写入共享缓存的附属目录中的第三附属信息。
本申请实施例中,第二写入模块142,还用于:响应于待存储数据存储于共享缓存,获取附属信息在附属目录中的附属信息路号和附属信息行号;将附属信息路号和附属信息行号,写入共享缓存的数据存储阵列的信息域中。
本申请实施例中,第二写入模块142,还用于:响应于附属目录中无可供待存储数据对应的附属信息写入的对应行,获取附属目录的第一替换策略;根据第一替换策略,确定附属目录中的第一替换信息,删除第一替换信息并将附属信息写入第一替换信息的对应行,并同步删除第一替换信息对应的数据块。
本申请实施例中,第二写入模块142,还用于:响应于共享缓存的数据存储阵列的数据域中,无可供待存储数据的第一数据块存储的对应位置,获取共享缓存的第二替换策略;根据第二替换策略,确定数据域中的第二替换数据块,将第一数据块存储至第二替换数据块所属的第二替换位置,并删除第二替换位置上的第二替换数据块;确定第二替换数据块在附属目录中对应的第二替换信息;确定附属目录中第二替换信息删除的对应行,并将第一数据块对应的附属信息写入删除的对应行。
本申请实施例中,第二写入模块142,还用于:从数据存储阵列的信息域中,获取第二替换数据块对应的第二替换信息的替换附属信息行号和替换附属信息路号;根据替换附属信息行号和替换附属信息路号,从共享缓存的附属目录中,确定第二替换信息。
本申请提出的多级缓存系统的数据存储装置,获取待存储数据在多级缓存系统中的写入后信息,根据写入后信息生成待存储数据对应的附属信息,并将其写入多级缓存系统中用于共享的共享缓存的附属目录中。本申请中,生成待存储数据在多级缓存系统中的写入后信息对应的附属信息,并将其写入多级缓存系统中的共享缓存的附属目录中,使得通过读取共享缓存的标签域中的附属目录,可以实现对待存储数据在多级缓存系统中的写入后信息的获取,简化了待存储数据的写入后信息的获取方法,提高了对多级缓存系统中的待存储数据的写入后信息的获取效率,节约了多级缓存系统中目录维护的资源,实现了多级缓存系统中的目录的可扩展,优化了多级缓存系统的性能。
为了实现上述实施例,本申请实施例还提出一种电子设备1500,如图15所示,该电子设备1500具体可包括:存储器1501、处理器1502及存储在存储器1501上并可在处理器1502上运行的计算机程序,处理器1502执行程序时,实现如上述实施例所示的多级缓存系统的数据存储方法和多级缓存系统的访问方法。
为了实现上述实施例,本申请实施例还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现如上述实施例所示的多级缓存系统的数据存储方法和多级缓存系统的访问方法。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (48)
1.一种多级缓存系统的访问方法,其特征在于,所述方法包括:
获取多级缓存系统的访问请求;
根据所述访问请求,从所述多级缓存系统的附属目录中,获取所述访问请求在所述多级缓存系统中的目标访问数据块以及所述目标访问数据块的目标附属信息,其中,所述附属目录存储于所述多级缓存系统中的共享缓存上;
根据所述目标附属信息,对所述访问请求进行应答。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标附属信息,对所述访问请求进行应答,包括:
根据所述目标附属信息,确定所述访问请求的访问状态;
所述共享缓存对处于所述访问状态下的所述访问请求进行应答。
3.根据权利要求1所述的方法,其特征在于,所述附属目录存储于所述多级缓存系统中的共享缓存上的标签域中。
4.根据权利要求2所述的方法,其特征在于,所述根据所述目标附属信息,确定所述访问请求的访问状态,包括:
获取所述多级缓存系统中第一私有缓存对第二私有缓存发送的访问请求,其中,所述第一私有缓存和所述第二私有缓存为多核处理器的私有缓存,所述多核处理器中的每个处理器核包括至少一个第一私有缓存和/或至少一个第二私有缓存;
在所述共享缓存的附属目录中,确定所述访问请求在所述多级缓存系统中的目标访问数据块对应的附属信息,作为所述目标附属信息;
获取所述目标附属信息的附属标识位上的附属信息,并根据所述附属标识位上的附属信息,获取所述访问请求的所述访问状态。
5.根据权利要求2所述的方法,其特征在于,所述根据所述目标附属信息,确定所述访问请求的访问状态,包括:
响应于所述目标附属信息指示,第一私有缓存对第二私有缓存发送的所述访问请求未在所述第一私有缓存中命中,确定所述访问请求的所述访问状态为访问失效。
6.根据权利要求5所述的方法,其特征在于,所述共享缓存对处于所述访问状态下的所述访问请求进行应答,包括:
响应于所述多级缓存系统中所述第一私有缓存对所述第二私有缓存发送的所述访问请求的所述访问状态为所述访问失效,所述第一私有缓存向所述共享缓存发送失效处理请求;
所述共享缓存根据所述目标附属信息,对所述失效处理请求进行应答。
7.根据权利要求6所述的方法,其特征在于,所述响应于所述多级缓存系统中所述第一私有缓存对所述第二私有缓存发送的所述访问请求的所述访问状态为所述访问失效,所述第一私有缓存向所述共享缓存发送失效处理请求,包括:
响应于所述访问请求为读访问请求且所述读访问请求未在所述第一私有缓存中命中,确定所述第一私有缓存对所述读访问请求读失效,所述第一私有缓存生成所述读访问请求对应的第一读失效处理请求,并发送至所述共享缓存;
响应于所述访问请求为写访问请求且所述写访问请求未在所述第一私有缓存中命中,确定所述第一私有缓存对所述写访问请求写失效,所述第一私有缓存生成所述写访问请求对应的第一写失效处理请求,并发送至所述共享缓存。
8.根据权利要求7所述的方法,其特征在于,所述第一私有缓存生成所述读访问请求对应的第一读失效处理请求,并发送至所述共享缓存之后,还包括:
响应于所述目标附属信息指示,所述第一私有缓存中不存在所述目标访问数据块,获取所述目标访问数据块对应的数据后,所述共享缓存生成对应的读失效应答,并发送至发出所述第一读失效处理请求的第一私有缓存;或者,
响应于所述目标附属信息指示,所述第一私有缓存中的所述目标访问数据块为dirty状态,所述共享缓存接收到第一写回应答后,生成对应的读失效应答,并发送至发出所述第一读失效处理请求的第一私有缓存。
9.根据权利要求7所述的方法,其特征在于,所述第一私有缓存生成所述写访问请求对应的第一写失效处理请求,并发送至所述共享缓存之后,还包括:
响应于所述目标附属信息指示,所述第一私有缓存中不存在所述目标访问数据块,获取所述目标访问数据块对应的数据后,所述共享缓存生成对应的写失效应答,并发送至发出所述第一写失效处理请求的第一私有缓存;或者,
响应于所述目标附属信息指示,所述第一私有缓存中的所述目标访问数据块为有效且clean状态,所述共享缓存接收到第一无效应答后,生成对应的写失效应答,并发送至发出所述第一写失效处理请求的第一私有缓存;或者,
响应于所述目标附属信息指示,所述第一私有缓存中的所述目标访问数据块为有效且clean状态,所述共享缓存接收到第一无效并写回应答后,生成对应的写失效应答,并发送至发出所述第一写失效处理请求的第一私有缓存。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应于所述第一私有缓存中的数据块被替换,所述第一私有缓存向所述共享缓存发送替换请求。
11.根据权利要求10所述的方法,其特征在于,所述响应于所述第一私有缓存中的数据块被替换,所述第一私有缓存向所述共享缓存发送替换请求之后,还包括:
响应于所述共享缓存中存储有所述替换请求对应的替换数据块,所述共享缓存对所述替换请求对应的替换数据块进行替换处理,并生成对应的应答发送至对应的第一私有缓存所属的处理器核;
响应于所述共享缓存中不存在所述替换请求对应的替换数据块,在所述共享缓存的下一级存储系统中,确定所述替换请求对应的替换数据块,所述下一级存储系统对所述替换请求对应的替换数据块进行替换处理,并生成对应的应答发送至对应的第一私有缓存所属的处理器核。
12.根据权利要求4所述的方法,其特征在于,所述在所述共享缓存的附属目录中,确定所述访问请求在所述多级缓存系统中的目标访问数据块对应的附属信息,作为所述目标附属信息,包括:
响应于所述第一私有缓存所属的处理器核为所述目标访问数据块的备份处理器核,根据所述附属目录中的备份位上的标识信息,确定所述目标访问数据块在所述附属目录中对应的所述目标附属信息;
响应于所述第一私有缓存所属的处理器核为所述目标访问数据块的拥有者处理器核,根据所述附属目录中对应的拥有者位上的标识信息,确定所述目标访问数据块在所述附属目录中对应的所述目标附属信息。
13.根据权利要求6所述的方法,其特征在于,所述共享缓存根据所述目标附属信息,对所述失效处理请求进行应答,包括:
所述共享缓存获取所述目标附属信息中待存储数据块有效位和目标拥有者位上的标识信息,确定所述目标访问数据块的目标状态;
所述共享缓存根据所述目标状态,对所述失效处理请求进行应答。
14.根据权利要求13所述的方法,其特征在于,所述共享缓存获取所述目标附属信息中待存储数据块有效位和目标拥有者位上的标识信息,确定所述目标访问数据块的目标状态,包括:
响应于所述待存储数据块有效位的标识为有效,且所述目标拥有者位的标识为所述待存储数据块存在拥有者处理器核状态,确定所述目标访问数据块的所述目标状态为有效且dirty;
响应于所述待存储数据块有效位的标识为有效,且所述目标拥有者位的标识为所述待存储数据块不存在拥有者处理器核状态,确定所述目标访问数据块的所述目标状态为有效且clean。
15.根据权利要求14所述的方法,其特征在于,所述共享缓存根据所述目标状态,对所述失效处理请求进行应答,包括:
响应于所述目标状态为有效且dirty,所述共享缓存生成第一读失效处理请求对应的第一写回请求,并发送至所述目标访问数据块对应的拥有者处理器核上的第一私有缓存;
响应于所述目标状态为有效且clean,所述共享缓存生成所述第一读失效处理请求对应的第二写回请求,并发送至所述目标访问数据块对应的任一备份处理器核上的第一私有缓存。
16.根据权利要求15所述的方法,其特征在于,所述响应于所述目标状态为有效且dirty,所述共享缓存生成第一读失效处理请求对应的第一写回请求,并发送至所述目标访问数据块对应的拥有者处理器核上的第一私有缓存之后,还包括:
响应于识别到所述第二私有缓存中存储有所述目标访问数据块对应的备份数据块,所述第一私有缓存生成第三写回请求并发送至所述第二私有缓存;
根据所述第三写回请求,所述第二私有缓存调整所述备份数据块至共享状态,并将调整后的备份数据块写回所述第一私有缓存;
所述第一私有缓存调整所述目标访问数据块至共享状态。
17.根据权利要求16所述的方法,其特征在于,所述第一私有缓存调整所述目标访问数据块至共享状态之后,还包括:
将调整状态的目标访问数据块所属的第一私有缓存所在的处理器核,标记为调整至共享状态的目标访问数据块的拥有者处理器核,并在所述共享缓存的附属目录中更新。
18.根据权利要求17所述的方法,其特征在于,所述响应于所述目标状态为有效且clean,所述共享缓存生成所述第一读失效处理请求对应的第二写回请求,并发送至所述目标访问数据块对应的任一备份处理器核上的第一私有缓存之后,还包括:
所述第一私有缓存将所述目标访问数据块中的数据,发送至所述共享缓存。
19.根据权利要求14所述的方法,其特征在于,所述共享缓存根据所述目标状态,对所述失效处理请求进行应答,包括:
响应于所述目标状态为有效且dirty,所述共享缓存生成第一写失效处理请求对应的第一无效并写回请求,并发送至所述目标访问数据块对应的拥有者处理器核上的第一私有缓存;
响应于所述目标状态为有效且clean,所述共享缓存生成所述第一写失效处理请求对应的第一无效请求,并发送至所述目标访问数据块对应的全部备份处理器核上的第一私有缓存。
20.根据权利要求19所述的方法,其特征在于,所述响应于所述目标状态为有效且dirty,所述共享缓存生成第一写失效处理请求对应的第一无效并写回请求,并发送至所述目标访问数据块对应的拥有者处理器核上的第一私有缓存之后,还包括:
响应于识别到所述第二私有缓存中存储有所述目标访问数据块对应的备份数据块,所述第一私有缓存生成第二无效并写回请求并发送至所述第二私有缓存;
根据所述第二无效并写回请求,所述第二私有缓存调整所述备份数据块至无效状态,并将调整后的备份数据块写回所述第一私有缓存;
所述第一私有缓存调整所述目标访问数据块至无效状态,并生成第一无效并写回应答发送所述共享缓存。
21.根据权利要求19所述的方法,其特征在于,所述响应于所述目标状态为有效且clean,所述共享缓存生成所述第一写失效处理请求对应的第一无效请求,并发送至所述目标访问数据块对应的全部备份处理器核上的第一私有缓存之后,还包括:
响应于识别到所述第二私有缓存中存储有所述目标访问数据块的备份数据块,所述第一私有缓存生成第二无效请求并发送至所述第二私有缓存;
根据所述第二无效请求,所述第二私有缓存调整所述备份数据块至无效状态,并将调整后的备份数据块写回所述第一私有缓存;
所述第一私有缓存调整所述目标访问数据块至无效状态,并生成第一无效应答发送至所述共享缓存。
22.根据权利要求21所述的方法,其特征在于,所述方法还包括:
所述拥有者处理器核上的第一私有缓存,将所述目标访问数据块中的数据发送至所述共享缓存。
23.根据权利要求1-22任一项所述的方法,其特征在于,所述方法还包括:
响应于目标附属信息指示,所述目标访问数据块在所述多级缓存系统的第一私有缓存中不存在,获取所述共享缓存的附属目录的替换策略,并根据所述替换策略对所述共享缓存的所述附属目录进行更新;
根据更新后附属目录中的更新附属信息,对所述第一私有缓存进行信息更新。
24.根据权利要求23所述的方法,其特征在于,所述根据更新后附属目录中的更新附属信息,对所述第一私有缓存进行信息更新,包括:
响应于所述更新附属信息指示,所述第一私有缓存内的附属信息对应数据块为有效且clean状态,所述共享缓存生成第三无效请求,并发送所述第三无效请求至所述附属信息对应数据块的拥有者处理器核上的第一私有缓存;
响应于所述更新附属信息指示,所述第一私有缓存内的附属信息对应数据块为有效且dirty状态,所述共享缓存生成第四无效请求,并发送所述第四无效请求至所述附属信息对应数据块的非拥有者处理器核上的第一私有缓存。
25.根据权利要求23所述的方法,其特征在于,所述根据更新后附属目录中的更新附属信息,对所述第一私有缓存进行信息更新,还包括:
响应于所述更新附属信息指示,所述第一私有缓存内的附属信息对应数据块为有效且dirty状态,所述共享缓存生成第三无效并写回请求,并发送所述第三无效并写回请求至所述附属信息对应数据块的拥有者处理器核上的第一私有缓存,或者,发送所述第三无效并写回请求至独占所述附属信息对应数据块的备份处理器核上的第一私有缓存。
26.根据权利要求25所述的方法,其特征在于,所述方法还包括:
响应于所述共享缓存中存储有所述附属信息对应数据块的备份数据块,且所述更新附属信息的标识信息与所述附属信息对应数据块在所述第一私有缓存中的写入后信息不匹配,所述共享缓存对自身的数据存储阵列中的数据域中的存储的备份数据块进行替换处理。
27.一种多级缓存系统的数据存储方法,其特征在于,所述方法包括:
将待存储数据写入多级缓存系统,并获取所述待存储数据在所述多级缓存系统中的写入后信息;
生成所述待存储数据的所述写入后信息对应的附属信息,并将所述附属信息写入所述多级缓存系统的附属目录中,其中,所述附属目录存储于所述多级缓存系统中的共享缓存上。
28.根据权利要求27所述的方法,其特征在于,所述多级缓存系统中包括共享缓存、第一私有缓存和第二私有缓存,所述共享缓存为所述多级缓存系统所属的多核处理器中的共享缓存,所述第一私有缓存和所述第二私有缓存为所述多核处理器的私有缓存;
其中,所述多核处理器中的每个处理器核包括至少一个第一私有缓存和/或至少一个第二私有缓存。
29.根据权利要求27所述的方法,其特征在于,所述附属目录存储于所述多级缓存系统中的共享缓存上的标签域中。
30.根据权利要求28所述的方法,其特征在于,所述第一私有缓存为所述多核处理器中部分处理器核的共享缓存。
31.根据权利要求28所述的方法,其特征在于,所述生成所述待存储数据的所述写入后信息对应的附属信息,包括:
获取所述共享缓存的初始附属信息中的附属标识位;
从所述写入后信息中,获取所述待存储数据在所述附属标识位的标识信息,并将所述标识信息标记至对应的附属标识位,以生成所述待存储数据的附属信息。
32.根据权利要求31所述的方法,其特征在于,所述初始附属信息中的附属标识位,包括:
写入地址位,用于指示存储所述待存储数据的数据块的写入地址;
地址有效位,用于指示存储所述数据块的写入地址是否有效;
第一有效位,用于指示存储于所述共享缓存中的第一数据块是否有效,其中,所述第一数据块为所述共享缓存中存储所述待存储数据的数据块;
第一状态位,用于指示所述待存储数据在所述共享缓存中是否被写过数据;
数据域行号位,用于指示所述第一数据块在所述共享缓存的数据存储阵列的数据域中的存储行号。
33.根据权利要求32所述的方法,其特征在于,所述初始附属信息中的附属标识位,还包括:
第二有效位,用于指示存储于所述第一私有缓存中的第二数据块是否有效,其中,所述第二数据块为所述第一私有缓存中存储所述待存储数据的数据块;
第二状态位,用于指示所述第二数据块在所述多核处理器的全部第一私有缓存中的第二数据状态,其中,所述第二数据状态为独占状态(EXC)或共享状态(SHD);
备份位,用于指示在所述多核处理器中,存储有所述第二数据块的备份数据块的备份处理器核;
第一拥有者位,用于指示所述多核处理器中是否存在所述第二数据块的拥有者处理器核;
第二拥有者位,用于指示所述多核处理器中,所述第二数据块的拥有者处理器核。
34.根据权利要求33所述的方法,其特征在于,所述方法包括:
确定所述多级缓存系统中,所述待存储数据写入的目标缓存;
根据所述目标缓存,获取所述共享缓存的所述初始附属信息对应的目标标识信息;
根据所述目标标识信息,生成所述待存储数据存储至所述目标缓存时,写入所述附属目录中的目标附属信息。
35.根据权利要求34所述的方法,其特征在于,所述根据所述目标缓存,获取所述共享缓存的所述初始附属信息对应的目标标识信息,包括:
响应于所述待存储数据存储至所述共享缓存,获取所述初始附属信息对应的第一标识信息。
36.根据权利要求35所述的方法,其特征在于,所述根据所述目标标识信息,生成所述待存储数据存储至所述目标缓存时,写入所述附属目录中的目标附属信息,包括:
将所述第一标识信息标记至所述附属标识位上,生成所述待存储数据存储至所述共享缓存时,写入所述附属目录中的第一附属信息。
37.根据权利要求34所述的方法,其特征在于,所述根据所述目标缓存,获取所述共享缓存的所述初始附属信息对应的目标标识信息,包括:
响应于所述待存储数据写入所述第一私有缓存时,获取所述初始附属信息的第二标识信息。
38.根据权利要求37所述的方法,其特征在于,所述根据所述目标标识信息,生成所述待存储数据存储至所述目标缓存时,写入所述附属目录中的目标附属信息,包括:
将所述第二标识信息标记至所述附属标识位上,生成所述待存储数据存储至所述第一私有缓存时,写入所述附属目录中的第二附属信息。
39.根据权利要求34所述的方法,其特征在于,所述根据所述目标缓存,获取所述共享缓存的所述初始附属信息对应的目标标识信息,包括:
响应于所述待存储数据写入所述共享缓存和所述第一私有缓存时,获取所述初始附属信息的第三标识信息。
40.根据权利要求39所述的方法,其特征在于,所述根据所述目标标识信息,生成所述待存储数据存储至所述目标缓存时,写入所述附属目录中的目标附属信息,包括:
将所述第三标识信息标记至所述附属标识位上,生成所述待存储数据存储至所述共享缓存和所述第一私有缓存时,写入所述附属目录中的第三附属信息。
41.根据权利要求27所述的方法,其特征在于,所述将所述附属信息写入所述多级缓存系统的附属目录中之后,还包括:
响应于所述待存储数据存储于所述共享缓存,获取所述附属信息在所述附属目录中的附属信息路号和附属信息行号;
将所述附属信息路号和所述附属信息行号,写入所述共享缓存的数据存储阵列的信息域中。
42.根据权利要求27-41任一项所述的方法,其特征在于,所述方法还包括:
响应于所述附属目录中无可供所述待存储数据对应的附属信息写入的对应行,获取所述附属目录的第一替换策略;
根据所述第一替换策略,确定所述附属目录中的第一替换信息,删除所述第一替换信息并将所述附属信息写入所述第一替换信息的对应行,并同步删除所述第一替换信息对应的数据块。
43.根据权利要求27-41任一项所述的方法,其特征在于,所述方法还包括:
响应于所述共享缓存的数据存储阵列的数据域中,无可供所述待存储数据的第一数据块存储的对应位置,获取所述共享缓存的第二替换策略;
根据所述第二替换策略,确定所述数据域中的第二替换数据块,将所述第一数据块存储至所述第二替换数据块所属的第二替换位置,并删除所述第二替换位置上的所述第二替换数据块;
确定所述第二替换数据块在所述附属目录中对应的第二替换信息;
确定所述附属目录中所述第二替换信息删除的对应行,并将所述第一数据块对应的附属信息写入所述删除的对应行。
44.根据权利要求43所述的方法,其特征在于,所述确定所述第二替换数据块在所述附属目录中对应的第二替换信息,包括:
从所述数据存储阵列的信息域中,获取所述第二替换数据块对应的第二替换信息的替换附属信息行号和替换附属信息路号;
根据所述替换附属信息行号和所述替换附属信息路号,从所述附属目录中确定所述第二替换信息。
45.一种多级缓存系统的访问装置,其特征在于,所述装置包括:
获取模块,用于获取多级缓存系统的访问请求;
访问模块,用于根据所述访问请求,从所述多级缓存系统的附属目录中,获取所述访问请求在所述多级缓存系统中的目标访问数据块以及所述目标访问数据块的目标附属信息,其中,所述附属目录存储于所述多级缓存系统中的共享缓存上;
应答模块,用于根据所述目标附属信息,对所述访问请求进行应答。
46.一种多级缓存系统的数据存储装置,其特征在于,所述装置包括:
第一写入模块,用于将待存储数据写入多级缓存系统,并获取所述待存储数据在所述多级缓存系统中的写入后信息;
第二写入模块,用于生成所述待存储数据的所述写入后信息对应的附属信息,并将所述附属信息写入所述多级缓存系统的附属目录中,其中,所述附属目录存储于所述多级缓存系统中的共享缓存上。
47.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-26和权利要求27-44中任一项所述的方法。
48.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-26和权利要求27-44中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211190657.XA CN115328820B (zh) | 2022-09-28 | 2022-09-28 | 多级缓存系统的访问方法、数据存储方法及装置 |
PCT/CN2023/104895 WO2024066613A1 (zh) | 2022-09-28 | 2023-06-30 | 多级缓存系统的访问方法、数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211190657.XA CN115328820B (zh) | 2022-09-28 | 2022-09-28 | 多级缓存系统的访问方法、数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115328820A CN115328820A (zh) | 2022-11-11 |
CN115328820B true CN115328820B (zh) | 2022-12-20 |
Family
ID=83913860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211190657.XA Active CN115328820B (zh) | 2022-09-28 | 2022-09-28 | 多级缓存系统的访问方法、数据存储方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115328820B (zh) |
WO (1) | WO2024066613A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328820B (zh) * | 2022-09-28 | 2022-12-20 | 北京微核芯科技有限公司 | 多级缓存系统的访问方法、数据存储方法及装置 |
CN117472802B (zh) * | 2023-12-28 | 2024-03-29 | 北京微核芯科技有限公司 | 高速缓存访问方法、处理器、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271898B1 (en) * | 2009-06-04 | 2012-09-18 | Mellmo Inc. | Predictive scrolling |
CN103955435A (zh) * | 2014-04-09 | 2014-07-30 | 上海理工大学 | 一种融合多级缓存目录建立访问方法 |
CN104317736A (zh) * | 2014-09-28 | 2015-01-28 | 曙光信息产业股份有限公司 | 一种分布式文件系统多级缓存实现方法 |
CN105677580A (zh) * | 2015-12-30 | 2016-06-15 | 杭州华为数字技术有限公司 | 访问缓存的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528471B2 (en) * | 2016-12-27 | 2020-01-07 | Eta Scale Ab | System and method for self-invalidation, self-downgrade cachecoherence protocols |
CN112416615A (zh) * | 2020-11-05 | 2021-02-26 | 珠海格力电器股份有限公司 | 多核处理器及其缓存一致性的实现方法、装置和存储介质 |
CN113342709B (zh) * | 2021-06-04 | 2023-02-21 | 海光信息技术股份有限公司 | 在多处理器系统中访问数据的方法和多处理器系统 |
CN114036084B (zh) * | 2021-11-17 | 2022-12-06 | 海光信息技术股份有限公司 | 一种数据访问方法、共享缓存、芯片系统和电子设备 |
CN115328820B (zh) * | 2022-09-28 | 2022-12-20 | 北京微核芯科技有限公司 | 多级缓存系统的访问方法、数据存储方法及装置 |
-
2022
- 2022-09-28 CN CN202211190657.XA patent/CN115328820B/zh active Active
-
2023
- 2023-06-30 WO PCT/CN2023/104895 patent/WO2024066613A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271898B1 (en) * | 2009-06-04 | 2012-09-18 | Mellmo Inc. | Predictive scrolling |
CN103955435A (zh) * | 2014-04-09 | 2014-07-30 | 上海理工大学 | 一种融合多级缓存目录建立访问方法 |
CN104317736A (zh) * | 2014-09-28 | 2015-01-28 | 曙光信息产业股份有限公司 | 一种分布式文件系统多级缓存实现方法 |
CN105677580A (zh) * | 2015-12-30 | 2016-06-15 | 杭州华为数字技术有限公司 | 访问缓存的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115328820A (zh) | 2022-11-11 |
WO2024066613A1 (zh) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115328820B (zh) | 多级缓存系统的访问方法、数据存储方法及装置 | |
US10503407B2 (en) | Memory system and method for controlling nonvolatile memory | |
US8307149B2 (en) | Nonvolatile memory device including a logical-to-physical logig-to-physical address conversion table, a temporary block and a temporary table | |
CN109726139B (zh) | 存储器系统及控制方法 | |
KR100389867B1 (ko) | 플래시 메모리 관리방법 | |
KR101038963B1 (ko) | 캐쉬 할당을 위한 장치, 시스템, 방법 및 기계 액세스가능 매체 | |
US6826651B2 (en) | State-based allocation and replacement for improved hit ratio in directory caches | |
US6901483B2 (en) | Prioritizing and locking removed and subsequently reloaded cache lines | |
JP4447580B2 (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
US7287117B2 (en) | Flash memory and mapping control apparatus and method for flash memory | |
JP3866447B2 (ja) | マルチプロセッサ・ノードデータ処理システムに使用するディレクトリエントリ割当てシステム及び方法 | |
CN106201335B (zh) | 存储系统 | |
CN107341114B (zh) | 一种目录管理的方法、节点控制器和系统 | |
US7058784B2 (en) | Method for managing access operation on nonvolatile memory and block structure thereof | |
KR20180122969A (ko) | 멀티 프로세서 시스템 및 이에 포함된 프로세서의 데이터 관리 방법 | |
EP1980945B1 (en) | Memory access control apparatus and memory access control method | |
CN115617709A (zh) | 缓存管理方法及装置、缓存装置、电子装置和介质 | |
KR102252377B1 (ko) | 멀티 프로세서 시스템 및 이에 포함된 프로세서의 데이터 관리 방법 | |
CN116540950B (zh) | 一种存储器件及其写入数据的控制方法 | |
US9158682B2 (en) | Cache memory garbage collector | |
CN112463652B (zh) | 基于缓存一致性的数据处理方法、装置、处理芯片及服务器 | |
US11321243B2 (en) | Data storage device including a semiconductor device managing address mapping of a semiconductor memory device | |
CN117331853B (zh) | 缓存处理方法、装置、电子设备及介质 | |
CN117331854B (zh) | 缓存处理方法、装置、电子设备及介质 | |
US11614876B2 (en) | Memory device and method for accessing memory device with namespace management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |