[go: up one dir, main page]

CN105630698A - Extension cache configuration method and device and extension cache - Google Patents

Extension cache configuration method and device and extension cache Download PDF

Info

Publication number
CN105630698A
CN105630698A CN201410594775.6A CN201410594775A CN105630698A CN 105630698 A CN105630698 A CN 105630698A CN 201410594775 A CN201410594775 A CN 201410594775A CN 105630698 A CN105630698 A CN 105630698A
Authority
CN
China
Prior art keywords
access address
cache
identifier
memory access
data block
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
Application number
CN201410594775.6A
Other languages
Chinese (zh)
Inventor
夏飞
蒋德钧
熊劲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201410594775.6A priority Critical patent/CN105630698A/en
Publication of CN105630698A publication Critical patent/CN105630698A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种配置扩展缓存的方法、装置及扩展缓存,涉及信息技术领域,可以降低对扩展缓存中的数据进行访问的时延。所述方法包括:扩展缓存首先接收写标识命令,该写标识命令中携带有访存地址的标识,然后存储访存地址的标识,最后将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中。本发明适用于对内存的部分数据进行缓存。

The invention discloses a method and device for configuring an extended cache, and relates to the field of information technology, which can reduce the time delay for accessing data in the extended cache. The method includes: firstly, the extended cache receives a write identification command, the write identification command carries an identification of a storage access address, then stores the identification of the storage access address, and finally compares the identification of the storage access address with each stored identification to obtain Determine if the memory fetch address hits. The present invention is suitable for caching part of the data in the internal memory.

Description

配置扩展缓存的方法、装置及扩展缓存Method and device for configuring extended cache and extended cache

技术领域technical field

本发明涉及信息技术领域,特别涉及一种配置扩展缓存的方法、装置及扩展缓存。The invention relates to the field of information technology, in particular to a method and device for configuring an extended cache and an extended cache.

背景技术Background technique

缓存是指介于CPU(CentralProcessingUnit,中央处理器)与内存之间的高速小容量存储器,能够缓存部分内存中存储的数据,并当CPU需要访问这些数据时,直接将这些数据提供给CPU,以解决CPU与内存之间的传输速度不匹配的问题。由于缓存与内存之间的传输速度同样不匹配,因此为了进一步提升系统性能,可以在缓存与内存之间添加扩展缓存,已解决缓存与内存之间的传输速度不匹配的问题。Cache refers to a high-speed small-capacity memory between the CPU (Central Processing Unit, central processing unit) and the memory, which can cache part of the data stored in the memory, and when the CPU needs to access these data, directly provide these data to the CPU, so as to Solve the problem of mismatching transfer speed between CPU and memory. Since the transmission speed between the cache and the memory does not match, in order to further improve the system performance, an extended cache can be added between the cache and the memory to solve the problem of the transmission speed mismatch between the cache and the memory.

一般地,对扩展缓存进行访问的过程具体为:首先扩展缓存中的行译码器接收内存控制器发起的ACTIVATE(激活)命令,并根据该ACTIVATE命令对行地址进行译码,以在扩展缓存中选中待访问数据对应的行,并将其写入行缓存中;然后列译码器接收内存控制器发起的读(READ)命令或写(WRITE)命令,并根据该读命令或写命令对列地址进行译码,以在行缓存中选中待访问数据对应的列,并将其读出或写入总线。Generally, the process of accessing the extended cache is as follows: first, the row decoder in the extended cache receives the ACTIVATE (activation) command initiated by the memory controller, and decodes the row address according to the ACTIVATE command, so that the extended cache Select the row corresponding to the data to be accessed, and write it into the row cache; then the column decoder receives the read (READ) command or write (WRITE) command initiated by the memory controller, and according to the read command or write command The column address is decoded to select the column corresponding to the data to be accessed in the row cache, and read or write it to the bus.

目前,一种配置扩展缓存的方法,为扩展缓存的每个行配置M个DATA(数据)数据块和N个TAG(标识)数据块,DATA数据块用于存储数据,TAG数据块用于存储DATA数据中的数据对应的标识。当对扩展缓存进行访问时,首先在行缓存中读取N个TAG数据块,然后将待访问数据的标识与该N个TAG数据块中的各个标识分别进行比较,以实现选中待访问数据对应的列。At present, a method for configuring an extended cache is to configure M DATA (data) data blocks and N TAG (identification) data blocks for each line of the extended cache, the DATA data blocks are used to store data, and the TAG data blocks are used to store The identifier corresponding to the data in the DATA data. When accessing the extended cache, first read N TAG data blocks in the row cache, and then compare the identification of the data to be accessed with each identification in the N TAG data blocks, so as to realize the correspondence between the selected data to be accessed column.

然而,当通过上述方式配置扩展缓存时,由于每次对扩展缓存进行访问之前,都需要在行缓存中读取用于存储各个标识的N个TAG数据块,从而导致对扩展缓存中的数据进行访问的时延较大。However, when the extended cache is configured in the above manner, before each access to the extended cache, it is necessary to read N TAG data blocks used to store each identifier in the row cache, resulting in the data in the extended cache The access delay is large.

发明内容Contents of the invention

本发明提供一种配置扩展缓存的方法、装置及扩展缓存,可以降低对扩展缓存中的数据进行访问的时延。The invention provides a method and device for configuring an extended cache and the extended cache, which can reduce the time delay for accessing data in the extended cache.

本发明采用的技术方案为:The technical scheme adopted in the present invention is:

第一方面,本发明提供一种配置扩展缓存的方法,应用于存储系统,所述存储系统包括缓存、内存及扩展缓存,所述扩展缓存与所述缓存之间进行通信,所述扩展缓存与所述内存之间进行通信,所述扩展缓存用于缓存存储在所述内存的数据,并将所述数据提供给所述缓存;所述方法包括:In a first aspect, the present invention provides a method for configuring an extended cache, which is applied to a storage system. The storage system includes a cache, a memory, and an extended cache. The extended cache communicates with the cache, and the extended cache communicates with the cache. Communication between the memories, the extended cache is used to cache data stored in the memory, and provide the data to the cache; the method includes:

所述扩展缓存接收写标识命令,所述写标识命令中携带有访存地址的标识,所述访存地址为存储待访问数据的空间对应的地址;The extended cache receives a write identification command, and the write identification command carries an identification of a memory access address, and the memory access address is an address corresponding to a space storing data to be accessed;

所述扩展缓存存储所述访存地址的标识;The extended cache stores the identifier of the access address;

所述扩展缓存将所述访存地址的标识与存储的各个标识进行比较,以确定所述访存地址是否命中。The extended cache compares the identifier of the memory access address with each stored identifier to determine whether the memory access address is a hit.

结合第一方面,在第一方面的第一种可能的实现方式中,所述扩展缓存包括至少一个标识TAG数据块及至少一个数据DATA数据块,所述至少一个TAG数据块用于存储所述各个标识,所述至少一个DATA数据块用于存储所述各个标识分别对应的数据。With reference to the first aspect, in a first possible implementation manner of the first aspect, the extended cache includes at least one identification TAG data block and at least one data DATA data block, and the at least one TAG data block is used to store the For each identifier, the at least one DATA data block is used to store data corresponding to each identifier.

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述扩展缓存存储所述访存地址的标识,具体包括:With reference to the first possible implementation of the first aspect, in a second possible implementation of the first aspect, the extended cache stores the identifier of the access address, specifically including:

若所述至少一个TAG数据块中存在预留空间,则所述扩展缓存在所述至少一个TAG数据块的所述预留空间中,存储所述访存地址的标识;或者,If there is a reserved space in the at least one TAG data block, the extended cache stores the identifier of the access address in the reserved space of the at least one TAG data block; or,

若所述至少一个TAG数据块中不存在预留空间,则所述扩展缓存在所述至少一个DATA数据块中的任意一个DATA数据块中,存储所述访存地址的标识。If there is no reserved space in the at least one TAG data block, the extended cache stores the identifier of the access address in any one of the at least one DATA data block.

结合第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述扩展缓存包括比较电路,所述比较电路由预置数量的比较模块组成,所述预置数量与所述至少一个标识TAG数据块中存储的标识数量相同;With reference to the first possible implementation of the first aspect, or the second possible implementation of the first aspect, in a third possible implementation of the first aspect, the extended cache includes a comparison circuit, and the The comparison circuit is composed of a preset number of comparison modules, the preset number is the same as the number of tags stored in the at least one tag TAG data block;

所述扩展缓存将所述访存地址的标识与存储的各个标识进行比较,具体包括:The extended cache compares the identifier of the memory access address with each stored identifier, specifically including:

所述扩展缓存通过所述预置数量的比较模块,对所述访存地址的标识与所述各个标识进行同时比较。The extended cache uses the preset number of comparing modules to simultaneously compare the identifier of the memory access address with the respective identifiers.

结合第一方面或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述扩展缓存将所述访存地址的标识与存储的各个标识进行比较之后,还包括:In combination with the first aspect or the first possible implementation of the first aspect, or the second possible implementation of the first aspect, or the third possible implementation of the first aspect, in the fourth possible implementation of the first aspect In a possible implementation manner, after the extended cache compares the identifier of the memory access address with each stored identifier, it further includes:

若所述各个标识中存在与所述访存地址的标识相同的标识,则所述扩展缓存确定所述访存地址命中;或者,If there is an identifier identical to the identifier of the memory access address among the respective identifiers, the extended cache determines that the memory access address hits; or,

若所述各个标识中不存在与所述访存地址的标识相同的标识,则所述扩展缓存确定所述访存地址未命中。If there is no identifier identical to the identifier of the memory access address among the respective identifiers, the extended cache determines that the memory access address is a miss.

结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述扩展缓存确定所述访存地址命中之后,还包括:With reference to the fourth possible implementation of the first aspect, in the fifth possible implementation of the first aspect, after the extended cache determines that the memory access address hits, it further includes:

所述扩展缓存对所述与所述访存地址的标识相同的标识进行编码,以使得在至少一个DATA数据块中确定所述访存地址对应的DATA数据块。The extended cache encodes the same identifier as the identifier of the memory access address, so that the DATA data block corresponding to the memory access address is determined in at least one DATA data block.

第二方面,本发明提供一种配置扩展缓存的装置,用于扩展缓存中,所述扩展缓存位于存储系统,所述存储系统还包括缓存及内存,所述扩展缓存与所述缓存之间进行通信,所述扩展缓存与所述内存之间进行通信,所述扩展缓存用于缓存存储在所述内存的数据,并将所述数据提供给所述缓存;所述装置包括:In a second aspect, the present invention provides a device for configuring an extended cache, which is used in an extended cache. The extended cache is located in a storage system, and the storage system also includes a cache and a memory. Communication, communication between the extended cache and the memory, the extended cache is used to cache data stored in the memory, and provide the data to the cache; the device includes:

接收单元,用于接收写标识命令,所述写标识命令中携带有访存地址的标识,所述访存地址为存储待访问数据的空间对应的地址;The receiving unit is configured to receive a write identification command, the write identification command carries an identification of a memory access address, and the memory access address is an address corresponding to a space storing data to be accessed;

存储单元,用于存储所述接收单元接收的所述访存地址的标识;a storage unit, configured to store the identifier of the memory access address received by the receiving unit;

比较单元,用于将所述存储单元存储的所述访存地址的标识与存储的各个标识进行比较,以确定所述访存地址是否命中。A comparing unit, configured to compare the identifier of the memory access address stored by the storage unit with each stored identifier, so as to determine whether the memory access address is a hit.

结合第二方面,在第二方面的第一种可能的实现方式中,In combination with the second aspect, in the first possible implementation of the second aspect,

所述扩展缓存包括至少一个标识TAG数据块及至少一个数据DATA数据块,所述至少一个TAG数据块用于存储所述各个标识,所述至少一个DATA数据块用于存储所述各个标识分别对应的数据。The extended cache includes at least one identification TAG data block and at least one data DATA data block, the at least one TAG data block is used to store the respective identifications, and the at least one DATA data block is used to store the respective identifications corresponding to The data.

结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,In combination with the first possible implementation of the second aspect, in the second possible implementation of the second aspect,

所述存储单元,具体用于当所述至少一个TAG数据块中存在预留空间时,在所述至少一个TAG数据块的所述预留空间中,存储所述访存地址的标识;或者,The storage unit is specifically configured to store the identifier of the access address in the reserved space of the at least one TAG data block when there is a reserved space in the at least one TAG data block; or,

所述存储单元,具体用于当所述至少一个TAG数据块中不存在预留空间时,在所述至少一个DATA数据块中的任意一个DATA数据块中,存储所述访存地址的标识。The storage unit is specifically configured to store the identifier of the access address in any one of the at least one DATA data block when there is no reserved space in the at least one TAG data block.

结合第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述扩展缓存包括比较电路,所述比较电路由预置数量的比较模块组成,所述预置数量与所述至少一个标识TAG数据块中存储的标识数量相同;With reference to the first possible implementation of the second aspect, or the second possible implementation of the second aspect, in a third possible implementation of the second aspect, the extended cache includes a comparison circuit, and the The comparison circuit is composed of a preset number of comparison modules, the preset number is the same as the number of tags stored in the at least one tag TAG data block;

所述比较单元,具体用于通过所述预置数量的比较模块,对所述访存地址的标识与所述各个标识进行同时比较。The comparison unit is specifically configured to simultaneously compare the identifier of the memory access address with the respective identifiers through the preset number of comparison modules.

结合第二方面或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述装置还包括:确定单元;In combination with the second aspect or the first possible implementation of the second aspect, or the second possible implementation of the second aspect, or the third possible implementation of the second aspect, in the fourth possible implementation of the second aspect In a possible implementation manner, the device further includes: a determining unit;

所述确定单元,用于当所述比较单元比较的结果为所述各个标识中存在与所述访存地址的标识相同的标识时,确定所述访存地址命中;或者,The determining unit is configured to determine that the memory access address hits when the comparison result of the comparison unit is that there is an identifier identical to the identifier of the memory access address among the respective identifiers; or,

所述确定单元,用于当所述比较单元比较的结果为所述各个标识中不存在与所述访存地址的标识相同的标识时,确定所述访存地址未命中。The determining unit is configured to determine that the memory access address is a miss when the comparison result of the comparison unit is that there is no identifier identical to the identifier of the memory access address among the respective identifiers.

结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述装置还包括:编码单元;With reference to the fourth possible implementation manner of the second aspect, in a fifth possible implementation manner of the second aspect, the device further includes: a coding unit;

所述编码单元,用于当所述确定单元确定所述访存地址命中后,对所述与所述访存地址的标识相同的标识进行编码,以使得在至少一个DATA数据块中确定所述访存地址对应的DATA数据块。The encoding unit is configured to encode the identifier identical to the identifier of the access address after the determining unit determines that the access address hits, so that the identifier is determined in at least one DATA data block. The DATA data block corresponding to the access address.

第三方面,本发明提供一种扩展缓存,所述扩展缓存位于存储系统,所述存储系统还包括缓存及内存,所述扩展缓存与所述缓存之间进行通信,所述扩展缓存与所述内存之间进行通信,所述扩展缓存用于缓存存储在所述内存的数据,并将所述数据提供给所述缓存;所述扩展缓存包括:In a third aspect, the present invention provides an extended cache, the extended cache is located in a storage system, the storage system further includes a cache and a memory, the extended cache communicates with the cache, and the extended cache communicates with the cache The memory communicates, and the extended cache is used to cache data stored in the memory and provide the data to the cache; the extended cache includes:

接收器,用于接收写标识命令,所述写标识命令中携带有访存地址的标识,所述访存地址为存储待访问数据的空间对应的地址;The receiver is configured to receive a write identification command, where the write identification command carries an identification of a memory access address, and the memory access address is an address corresponding to a space storing data to be accessed;

存储器,用于存储所述接收器接收的所述访存地址的标识;a memory, configured to store the identifier of the access address received by the receiver;

处理器,用于将所述存储器存储的所述访存地址的标识与存储的各个标识进行比较,以确定所述访存地址是否命中。A processor, configured to compare the identifier of the memory access address stored in the memory with each stored identifier, so as to determine whether the memory access address is a hit.

结合第三方面,在第三方面的第一种可能的实现方式中,In combination with the third aspect, in the first possible implementation of the third aspect,

所述扩展缓存包括至少一个标识TAG数据块及至少一个数据DATA数据块,所述至少一个TAG数据块用于存储所述各个标识,所述至少一个DATA数据块用于存储所述各个标识分别对应的数据。The extended cache includes at least one identification TAG data block and at least one data DATA data block, the at least one TAG data block is used to store the respective identifications, and the at least one DATA data block is used to store the respective identifications corresponding to The data.

结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,In combination with the first possible implementation of the third aspect, in the second possible implementation of the third aspect,

所述存储器,具体用于当所述至少一个TAG数据块中存在预留空间时,在所述至少一个TAG数据块的所述预留空间中,存储所述访存地址的标识;或者,The memory is specifically configured to store the identifier of the access address in the reserved space of the at least one TAG data block when there is a reserved space in the at least one TAG data block; or,

所述存储器,具体用于当所述至少一个TAG数据块中不存在预留空间时,在所述至少一个DATA数据块中的任意一个DATA数据块中,存储所述访存地址的标识。The memory is specifically configured to store the identifier of the access address in any one of the at least one DATA data block when there is no reserved space in the at least one TAG data block.

结合第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述扩展缓存包括比较电路,所述比较电路由预置数量的比较模块组成,所述预置数量与所述至少一个标识TAG数据块中存储的标识数量相同;With reference to the first possible implementation of the third aspect, or the second possible implementation of the third aspect, in a third possible implementation of the third aspect, the extended cache includes a comparison circuit, and the The comparison circuit is composed of a preset number of comparison modules, the preset number is the same as the number of tags stored in the at least one tag TAG data block;

所述处理器,具体用于通过所述预置数量的比较模块,对所述访存地址的标识与所述各个标识进行同时比较。The processor is specifically configured to simultaneously compare the identifier of the memory access address with the respective identifiers through the preset number of comparison modules.

结合第三方面或者第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,In combination with the third aspect or the first possible implementation of the third aspect, or the second possible implementation of the third aspect, or the third possible implementation of the third aspect, in the fourth Among the possible implementations,

所述处理器,还用于当所述各个标识中存在与所述访存地址的标识相同的标识时,确定所述访存地址命中;或者,The processor is further configured to determine that the memory access address hits when there is an identifier that is the same as the identifier of the memory access address among the respective identifiers; or,

所述处理器,还用于当所述各个标识中不存在与所述访存地址的标识相同的标识时,确定所述访存地址未命中。The processor is further configured to determine that the memory access address is a miss when there is no identifier identical to the identifier of the memory access address among the respective identifiers.

结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,In combination with the fourth possible implementation of the third aspect, in the fifth possible implementation of the third aspect,

所述处理器,还用于对所述与所述访存地址的标识相同的标识进行编码,以使得在至少一个DATA数据块中确定所述访存地址对应的DATA数据块。The processor is further configured to encode the same identifier as the identifier of the memory access address, so that the DATA data block corresponding to the memory access address is determined in at least one DATA data block.

本发明提供的配置扩展缓存的方法、装置及扩展缓存,应用于存储系统,存储系统包括缓存、内存及扩展缓存,扩展缓存介于缓存与内存之间,扩展缓存用于缓存内存的数据,并将数据提供给缓存;扩展缓存首先接收写标识命令,该写标识命令中携带有访存地址的标识,然后存储访存地址的标识,最后将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中。与目前将用于存储各个标识的TAG数据块读取出,以确定访存地址是否命中相比,本发明通过将访存地址对应的标识写入扩展缓存中,并在扩展缓存中将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中,能够通过较小的用于将访存地址对应的标识写入扩展缓存的时间,替换较大的用于存储各个标识的TAG数据块从扩展缓存中读出的时间,从而可以避免由于读取TAG数据块而造成的时延;并且,由于在扩展缓存内部进行比较,扩展缓存可以直接根据比较结果读出待访问数据,从而可以降低扩展缓存将待访问数据读至总线的时间,进而可以降低对扩展缓存中的数据进行访问的时延。The method, device, and extended cache configuration provided by the present invention are applied to a storage system. The storage system includes a cache, a memory, and an extended cache. The extended cache is between the cache and the memory. The extended cache is used to cache data in the memory, and Provide the data to the cache; the extended cache first receives the write identification command, which carries the identification of the memory access address, then stores the identification of the memory access address, and finally compares the identification of the memory access address with the stored identifications, To determine whether the fetch address is hit. Compared with currently reading out the TAG data block used to store each identifier to determine whether the memory access address is hit, the present invention writes the identifier corresponding to the memory access address into the extended cache, and stores the memory access in the extended cache. The identifier of the address is compared with each identifier stored to determine whether the memory access address is a hit, and the smaller time for writing the identifier corresponding to the memory access address into the extended cache can be used to replace the larger one for storing each identifier. The time when the TAG data block is read from the extended cache, thereby avoiding the delay caused by reading the TAG data block; and, since the comparison is performed inside the extended cache, the extended cache can directly read the data to be accessed according to the comparison result, Therefore, the time for the extended cache to read the data to be accessed to the bus can be reduced, thereby reducing the time delay for accessing the data in the extended cache.

附图说明Description of drawings

为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。In order to more clearly illustrate the present invention or the technical solutions in the prior art, the accompanying drawings that need to be used in the description of the present invention or the prior art will be briefly introduced below. Obviously, the accompanying drawings in the following description are only the present invention. For some embodiments of the present invention, those skilled in the art can also obtain other drawings according to these drawings without paying creative efforts.

图1为本发明实施例中存储系统的示意图;FIG. 1 is a schematic diagram of a storage system in an embodiment of the present invention;

图2为本发明实施例中另一种存储系统的示意图;FIG. 2 is a schematic diagram of another storage system in an embodiment of the present invention;

图3为本发明实施例中配置扩展缓存的方法流程图;FIG. 3 is a flowchart of a method for configuring an extended cache in an embodiment of the present invention;

图4为本发明实施例中另一种配置扩展缓存的方法流程图;FIG. 4 is a flow chart of another method for configuring an extended cache in an embodiment of the present invention;

图5为本发明实施例中扩展缓存的行示意图;FIG. 5 is a schematic diagram of lines of an extended cache in an embodiment of the present invention;

图6为本发明实施例中扩展缓存中行缓存的示意图;FIG. 6 is a schematic diagram of a line cache in an extended cache in an embodiment of the present invention;

图7为现有技术中读取数据的时延示意图;FIG. 7 is a schematic diagram of time delay for reading data in the prior art;

图8为本发明实施例中读取数据的时延示意图;FIG. 8 is a schematic diagram of a time delay for reading data in an embodiment of the present invention;

图9为本发明实施例中配置扩展缓存的装置结构示意图;FIG. 9 is a schematic structural diagram of a device for configuring an extended cache in an embodiment of the present invention;

图10为本发明实施例中另一种配置扩展缓存的装置结构示意图;FIG. 10 is a schematic structural diagram of another device for configuring an extended cache in an embodiment of the present invention;

图11为本发明实施例中扩展缓存的结构示意图。FIG. 11 is a schematic structural diagram of an extended cache in an embodiment of the present invention.

具体实施方式detailed description

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.

本发明实施例提供的技术方案可以应用于存储系统,如图1所示,存储系统包括缓存、内存及扩展缓存,扩展缓存与缓存之间进行通信,扩展缓存与内存之间进行通信,所述扩展缓存用于缓存存储在内存的数据,并将数据提供给缓存。具体地,如图2所示,缓存具体可以为一级缓存、二级缓存及三级缓存,扩展缓存具体可以为介于三级缓存与内存之间的四级缓存或五级缓存等。其中,缓存具体可以为SRAM(StaticRandomAccessMemory,静态随机访问存储器),扩展缓存具体可以为eDRAM(embeddedDynamicRandomAccessMemory,嵌入式动态随机存取存储器),或3D堆叠的DRAM(Die-stackedDRAM)等。The technical solution provided by the embodiment of the present invention can be applied to a storage system. As shown in FIG. 1, the storage system includes a cache, a memory, and an extended cache. The extended cache is used to cache data stored in memory and provide data to the cache. Specifically, as shown in FIG. 2 , the cache may specifically be a level 1 cache, level 2 cache, and level 3 cache, and the extended cache may specifically be a level 4 cache or level 5 cache between the level 3 cache and the internal memory. Specifically, the cache can be SRAM (Static Random Access Memory, static random access memory), and the extended cache can be specifically eDRAM (embedded Dynamic Random Access Memory, embedded dynamic random access memory), or 3D stacked DRAM (Die-stacked DRAM).

本发明实施例提供一种配置扩展缓存的方法,能够降低对扩展缓存中的数据进行访问的时延,如图3所示,所述方法包括:An embodiment of the present invention provides a method for configuring an extended cache, which can reduce the time delay for accessing data in the extended cache. As shown in FIG. 3 , the method includes:

301、扩展缓存接收写标识命令。301. The extended cache receives a write identification command.

其中,写标识命令中携带有访存地址的标识,访存地址为存储待访问数据的空间对应的地址。在本发明实施例中,写标识命令具体可以由WRITE_TAG进行指代。Wherein, the write identification command carries the identification of the memory access address, and the memory access address is an address corresponding to the space storing the data to be accessed. In this embodiment of the present invention, the write tag command may specifically be referred to by WRITE_TAG.

对于本发明实施例,上述步骤301是在扩展缓存中的行译码器接收内存控制器发起的ACTIVATE命令,对根据该ACTIVATE命令对行地址进行译码,并将访存地址对应的行写入行缓存之后执行。For the embodiment of the present invention, the above step 301 is that the row decoder in the extended cache receives the ACTIVATE command initiated by the memory controller, decodes the row address according to the ACTIVATE command, and writes the row corresponding to the memory access address into Executed after the line cache.

302、扩展缓存存储访存地址的标识。302. The extended cache stores the identifier of the memory access address.

其中,访存地址的标识是指待访问数据的存储地址的标识。Wherein, the identifier of the memory access address refers to the identifier of the storage address of the data to be accessed.

对于本发明实施例,扩展缓存在行缓存当前缓存的行中存储访存地址。For the embodiment of the present invention, the extended cache stores the memory access address in the line currently cached by the line cache.

303、扩展缓存将访存地址的标识与存储的各个标识进行比较。303. The extended cache compares the identifier of the memory access address with each stored identifier.

进一步地,通过扩展缓存将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中。Further, the identifier of the memory access address is compared with each stored identifier through the extended cache to determine whether the memory access address is a hit.

对于本发明实施例,若扩展缓存的行缓存中存储的各个标识中,存在与访存地址的标识相同的标识,则扩展缓存确定访存地址在该行缓存当前缓存的行命中;若扩展缓存的行缓存中存储的各个标识中,不存在与访存地址的标识相同的标识,则扩展缓存确定访存地址在该行缓存当前缓存的行未命中。For the embodiment of the present invention, if there is an identifier identical to the identifier of the memory access address in each identifier stored in the line cache of the extended cache, the extended cache determines that the memory access address hits the line of the current cache of the line cache; if the extended cache If there is no identifier identical to the identifier of the memory access address among the identifiers stored in the row cache, the extended cache determines that the memory access address is a miss in the current cache line of the row cache.

本发明实施例提供的配置扩展缓存的方法,应用于存储系统,存储系统包括缓存、内存及扩展缓存,扩展缓存介于缓存与内存之间,扩展缓存用于缓存内存的数据,并将数据提供给缓存;扩展缓存首先接收写标识命令,该写标识命令中携带有访存地址的标识,然后存储访存地址的标识,最后将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中。与目前将用于存储各个标识的TAG数据块读取出,以确定访存地址是否命中相比,本发明实施例通过将访存地址对应的标识写入扩展缓存中,并在扩展缓存中将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中,能够通过较小的用于将访存地址对应的标识写入扩展缓存的时间,替换较大的用于存储各个标识的TAG数据块从扩展缓存中读出的时间,从而可以避免由于读取TAG数据块而造成的时延;并且,由于在扩展缓存内部进行比较,扩展缓存可以直接根据比较结果读出待访问数据,从而可以降低扩展缓存将待访问数据读至总线的时间,进而可以降低对扩展缓存中的数据进行访问的时延。The method for configuring the extended cache provided by the embodiment of the present invention is applied to a storage system. The storage system includes a cache, a memory, and an extended cache. The extended cache is between the cache and the memory. The extended cache is used to cache data in the memory, and provides to the cache; the extended cache first receives the write identification command, the write identification command carries the identification of the memory access address, then stores the identification of the memory access address, and finally compares the identification of the memory access address with each stored identification to determine the access Whether the storage address is hit. Compared with currently reading out the TAG data block used to store each identifier to determine whether the memory access address is hit, the embodiment of the present invention writes the identifier corresponding to the memory access address into the extended cache, and stores the The identifier of the memory access address is compared with each of the stored identifiers to determine whether the memory access address is a hit, and the smaller time for writing the identifier corresponding to the memory access address into the extended cache can be used to replace the larger time for storing each identifier. The time when the identified TAG data block is read from the extended cache, so that the time delay caused by reading the TAG data block can be avoided; and, since the comparison is performed inside the extended cache, the extended cache can directly read out the data to be accessed according to the comparison result. data, so that the time for the extended cache to read the data to be accessed to the bus can be reduced, thereby reducing the time delay for accessing the data in the extended cache.

作为对图3所示方法的具体说明,本发明实施例提供另一种配置扩展缓存的方法,如图4所示,所述方法包括:As a specific description of the method shown in FIG. 3 , an embodiment of the present invention provides another method for configuring an extended cache, as shown in FIG. 4 , the method includes:

401、扩展缓存接收写标识命令。401. The extended cache receives a write identification command.

其中,写标识命令中携带有访存地址的标识,访存地址为存储待访问数据的空间对应的地址。写标识命令中携带有访存地址的标识。在本发明实施例中,写标识命令具体可以由WRITE_TAG进行指代。Wherein, the write identification command carries the identification of the memory access address, and the memory access address is the address corresponding to the space storing the data to be accessed. The write flag command carries the flag of the memory access address. In this embodiment of the present invention, the write tag command may specifically be referred to by WRITE_TAG.

对于本发明实施例,上述步骤401是在扩展缓存中的行译码器接收内存控制器发起的ACTIVATE命令,对根据该ACTIVATE命令对行地址进行译码,并将访存地址对应的行写入行缓存之后执行。For the embodiment of the present invention, the above step 401 is that the row decoder in the extended cache receives the ACTIVATE command initiated by the memory controller, decodes the row address according to the ACTIVATE command, and writes the row corresponding to the memory access address into Executed after the line cache.

402、扩展缓存存储访存地址的标识。402. The extended cache stores the identifier of the memory access address.

可选地,步骤402之前,还可以包括:扩展缓存判断至少一个TAG数据块中是否存在预留空间。作为步骤402的替换:若至少一个TAG数据块中存在预留空间,则扩展缓存在至少一个TAG数据块的预留空间中,存储访存地址的标识;或者,若至少一个TAG数据块中不存在预留空间,则扩展缓存在至少一个DATA数据块中的任意一个DATA数据块中,存储访存地址的标识。Optionally, before step 402, the method may further include: the extended cache determines whether there is reserved space in at least one TAG data block. As an alternative to step 402: if there is reserved space in at least one TAG data block, then the extended cache stores the identifier of the memory access address in the reserved space of at least one TAG data block; or, if there is no reserved space in at least one TAG data block If there is reserved space, the extended cache stores the identifier of the memory access address in any one of the at least one DATA data block.

对于本发明实施例,扩展缓存包括至少一个TAG数据块及至少一个DATA数据块。其中,至少一个TAG数据块用于存储各个标识,至少一个DATA数据块用于存储各个标识分别对应的数据。For this embodiment of the present invention, the extended cache includes at least one TAG data block and at least one DATA data block. Wherein, at least one TAG data block is used to store each identifier, and at least one DATA data block is used to store data corresponding to each identifier.

例如,若缓存的行大小为64B(字节),扩展缓存的行大小为2KB,则扩展缓存的每个行可以划分为32个64B,即扩展缓存的每个行均可以由32个64B的数据块组成。如图5所示,在这32个数据块中,29个数据块可以存储数据,即29个DATA数据块,另外3个数据块可以存储这29个DATA数据块的标识,即3个TAG数据块。For example, if the line size of the cache is 64B (bytes), and the line size of the extended cache is 2KB, each line of the extended cache can be divided into 32 64B, that is, each line of the extended cache can be composed of 32 64B composed of data blocks. As shown in Figure 5, among the 32 data blocks, 29 data blocks can store data, that is, 29 DATA data blocks, and the other 3 data blocks can store the identifiers of these 29 DATA data blocks, that is, 3 TAG data piece.

例如,若扩展缓存的每个行均可以由32个64B的数据块组成,其中,包括29个DATA数据块及3个TAG数据块,即可以用于存储标识的空间为192B,并且每个DATA数据块的标识均占用6B,即29个DATA数据块的标识占用174B,则在该扩展缓存的TAG标识中,存在18B的预留空间,进一步地,扩展缓存可以在这18B的预留空间中存储访存地址的标识,该访存地址的标识占用6B。For example, if each line of the extended cache can be composed of 32 64B data blocks, including 29 DATA data blocks and 3 TAG data blocks, that is, the space that can be used to store tags is 192B, and each DATA The identifiers of data blocks all occupy 6B, that is, the identifiers of 29 DATA data blocks occupy 174B, then there is a reserved space of 18B in the TAG identifier of the extended cache, and further, the extended cache can be in the reserved space of 18B The identifier of the memory access address is stored, and the identifier of the memory access address occupies 6B.

对于本发明实施例,扩展缓存具体可以在18B的预留空间中的最后6B,存储访存地址的标识,从而可以方便对访存地址的读取。For the embodiment of the present invention, the extended cache may specifically store the identification of the memory access address in the last 6B of the reserved space of 18B, so as to facilitate the reading of the memory access address.

再例如,若扩展缓存的每个行均可以由35个64B的数据块组成,其中,包括32个DATA数据块及3个TAG数据块,即可以用于存储标识的空间为192B,并且每个DATA数据块的标识均占用6B,即32个DATA数据块的标识占用192B,则在该扩展缓存的TAG标识中,不存在预留空间,进一步地,扩展缓存可以在这32个DATA数据块中选取任意一个DATA数据块,该DATA数据块不再存储数据,并在该DATA数据块中存储访存地址的标识。For another example, if each line of the extended cache can be composed of 35 64B data blocks, including 32 DATA data blocks and 3 TAG data blocks, that is, the space that can be used to store tags is 192B, and each The identifiers of DATA data blocks all occupy 6B, that is, the identifiers of 32 DATA data blocks occupy 192B, then there is no reserved space in the TAG identifier of the extended cache, and further, the extended cache can be stored in these 32 DATA data blocks Select any DATA data block, the DATA data block no longer stores data, and store the identifier of the memory access address in the DATA data block.

需要说明的是,上述判断至少一个TAG数据块中是否存在预留空间的方式,仅在对扩展缓存进行初始配置时执行即可。It should be noted that the above manner of judging whether there is reserved space in at least one TAG data block can only be performed when the extended cache is initially configured.

403、扩展缓存通过预置数量的比较模块,对访存地址的标识与各个标识进行同时比较。403. The extended cache uses a preset number of comparison modules to simultaneously compare the identifier of the memory access address with each identifier.

进一步,通过扩展缓存同时对访存地址的标识与各个标识进行比较,以确定访存地址是否命中。Further, by expanding the cache, the identifier of the memory access address is compared with each identifier at the same time, so as to determine whether the memory access address is a hit.

可选地,扩展缓存包括比较电路,比较电路由预置数量的比较模块组成,预置数量与至少一个标识TAG数据块中存储的标识数量相同。Optionally, the extended cache includes a comparison circuit, and the comparison circuit is composed of a preset number of comparison modules, and the preset number is the same as the number of tags stored in at least one tag TAG data block.

对于本发明实施例,通过扩展缓存同时对访存地址的标识与各个标识进行比较,能够在对访存地址与各个地址中的某一个标识进行比较的时间内,完成对访存地址的标识与各个标识的比较,从而可以降低对访存地址的标识与各个标识进行比较的时间,进一步地,可以降低对扩展缓存中的数据进行访问的时延。For the embodiment of the present invention, by expanding the cache and comparing the identification of the access address with each identification at the same time, the identification and identification of the access address can be completed within the time of comparing the access address with a certain identification in each address. The comparison of each identifier can reduce the time for comparing the identifier of the memory access address with each identifier, and further, can reduce the time delay of accessing the data in the extended cache.

对于本发明实施例,可以在扩展缓存中增加一个比较电路,以实现在扩展缓存内对访存地址的标识与各个标识的比较。其中,该比较电路可以由N个比较模块构成,N为TAG数据块中存储的标识个数。在本发明实施例中,通过由N个比较模块构成的比较电路,能够实现扩展缓存同时对访存地址的标识与各个标识进行比较。For the embodiment of the present invention, a comparison circuit may be added in the extended cache to realize the comparison between the identifier of the memory access address and each identifier in the extended cache. Wherein, the comparison circuit may be composed of N comparison modules, where N is the number of tags stored in the TAG data block. In the embodiment of the present invention, through the comparison circuit composed of N comparison modules, the extended cache can be realized and the identifier of the memory access address can be compared with each identifier at the same time.

404a、若各个标识中存在与访存地址的标识相同的标识,则扩展缓存确定访存地址命中。404a. If there is an identifier identical to the identifier of the memory access address among the identifiers, the extended cache determines that the memory access address hits.

步骤404a之后的步骤405a、扩展缓存对与访存地址的标识相同的标识进行编码。In step 405a after step 404a, the extended cache encodes the same identifier as that of the access address.

进一步地,通过扩展缓存对与访存地址的标识相同的标识进行编码,以使得实现在至少一个DATA数据块中确定访存地址对应的DATA数据块。Further, the identifier identical to the identifier of the memory access address is encoded by the extended cache, so that the DATA data block corresponding to the memory access address can be determined in at least one DATA data block.

对于本发明实施例,可以在扩展缓存中增加一个编码电路,以实现在扩展缓存内对与访存地址的标识相同的标识进行编码。在本发明实施例中,编码电路由预置数量的编码模块组成,预置数量与TAG数据块中的标识数量相同,其中,每个编码模块均可以用于对某个标识与访存地址的标识进行比较。For the embodiment of the present invention, an encoding circuit may be added in the extended cache, so as to encode the same identifier as the identifier of the memory access address in the extended cache. In the embodiment of the present invention, the encoding circuit is composed of a preset number of encoding modules, the preset number is the same as the number of identifications in the TAG data block, wherein each encoding module can be used for a certain identification and memory access address IDs for comparison.

例如图6所示,为扩展缓存的行缓存示意图,行缓存由32个64B的数据块组成,其中,包括29个DATA数据块及3个TAG数据块,并且在TAG数据块的预留空间存储访存地址的标识,在该行缓存内还包括比较电路及编码电路,并且比较电路由29个比较模块组成。For example, as shown in Figure 6, it is a schematic diagram of the line cache of the extended cache. The line cache is composed of 32 data blocks of 64B, including 29 DATA data blocks and 3 TAG data blocks, and is stored in the reserved space of the TAG data block. The identification of the memory access address also includes a comparison circuit and an encoding circuit in the row cache, and the comparison circuit is composed of 29 comparison modules.

与步骤404a并列的步骤404b、若各个标识中不存在与访存地址的标识相同的标识,则扩展缓存确定访存地址未命中。In step 404b parallel to step 404a, if there is no identifier identical to the identifier of the memory access address among the identifiers, the extended cache determines that the memory access address is a miss.

对于本发明实施例,通过将访存地址的标识存储在扩展缓存中,能够避免将TAG数据块中的各个标识从扩展缓存中读出的时间;同时,通过在扩展缓存内部直接对比较结果进行避免,能够降低将命中的数据读至总线的时间。For the embodiment of the present invention, by storing the identifier of the access address in the extended cache, the time for reading each identifier in the TAG data block from the extended cache can be avoided; at the same time, by directly comparing the comparison results inside the extended cache Avoiding it can reduce the time to read the hit data to the bus.

例如图7所示,当通过现有技术的方式配置缓存时,假设已经在扩展缓存中选中待访问数据对应的行,并读取至扩展缓存的行缓存中,还需要经过53cycles(时钟周期)以完成在行缓存中读取待访问数据对应的列。其中,如图7所示,53cycles的时延具体包括:在行缓存中选中3个TAG数据块需要18cycles、将这3个TAG数据块从行缓存读取至总线需要12cycles、对3个TAG数据块中的各个标识分别与访存地址的标识进行比较需要1cycle、在行缓存中根据比较结果选中对应的DATA数据块需要18cycles、将选中的DATA数据块从行缓存读取至总线需要4cycles。For example, as shown in Figure 7, when the cache is configured in the way of the prior art, assuming that the line corresponding to the data to be accessed has been selected in the extended cache and read into the line cache of the extended cache, it will take 53 cycles (clock cycles) To finish reading the column corresponding to the data to be accessed in the row cache. Among them, as shown in Figure 7, the delay of 53 cycles specifically includes: it takes 18 cycles to select 3 TAG data blocks in the line cache, 12 cycles to read these 3 TAG data blocks from the line cache to the bus, and 12 cycles for 3 TAG data It takes 1 cycle to compare each identifier in the block with the identifier of the access address, 18 cycles to select the corresponding DATA data block in the row cache according to the comparison result, and 4 cycles to read the selected DATA data block from the row cache to the bus.

再例如图8所示,当通过本发明实施例提供的方式配置缓存时,假设已经在扩展缓存中选中待访问数据对应的行,并读取至扩展缓存的行缓存中,还需要经过34cycles(时钟周期)以完成在行缓存中读取待访问数据对应的列。其中,如图8所示,34cycles的时延具体包括:在行缓存中选中3个TAG数据块需要18cycles、将访存地址的标识写入行缓存需要1cycle、对3个TAG数据块中的各个标识分别与访存地址的标识进行比较需要1cycle、在行缓存中根据比较结果选中对应的DATA数据块需要10cycles、将选中的DATA数据块从行缓存读取至总线需要4cycles。For another example as shown in FIG. 8, when the cache is configured in the manner provided by the embodiment of the present invention, assuming that the line corresponding to the data to be accessed has been selected in the extended cache and read into the line cache of the extended cache, 34 cycles ( clock cycle) to finish reading the column corresponding to the data to be accessed in the row cache. Among them, as shown in Figure 8, the delay of 34cycles specifically includes: it takes 18cycles to select 3 TAG data blocks in the line cache, 1cycle is required to write the identification of the memory access address into the line cache, and it takes 1cycle for each of the 3 TAG data blocks It takes 1 cycle to compare the identifier with the identifier of the access address, 10 cycles to select the corresponding DATA data block in the row cache according to the comparison result, and 4 cycles to read the selected DATA data block from the row cache to the bus.

对于本发明实施例,根据上述对图7及图8的描述,通过现有技术的方式配置缓存与通过本发明实施例提供的方式配置缓存之间的区别在于:一方面,通过本发明实施例提供的方式配置缓存时,不需要将3个TAG数据块从行缓存读取至总线所需的时延,仅需将访存地址的标识写入行缓存即可,从而可以降低在行缓存中读取DATA数据块所需的时延;另一方面,由于通过现有技术提供的方式配置缓存时,在扩展缓存的外部对标识进行比较,比较完成后需要将比较结果传输至扩展缓存以选中对应的DATA数据块,而通过本发明实施例提供的方式配置缓存时,在扩展缓存的行缓存内部对标识进行比较,比较完成后直接根据比较结果即可在行缓存中选中对应的DATA数据块,因此通过本发明实施例提供的方式配置缓存时,在行缓存中根据比较结果选中对应的DATA数据块所需的时延较小,进一步地,可以降低在行缓存中读取DATA数据块所需的时延。For the embodiment of the present invention, according to the above description of Fig. 7 and Fig. 8, the difference between configuring the cache in the way of the prior art and configuring the cache in the way provided by the embodiment of the present invention is: on the one hand, through the embodiment of the present invention When configuring the cache in the provided method, there is no need to read the time delay required to read the 3 TAG data blocks from the row cache to the bus, and only need to write the identifier of the access address into the row cache, thus reducing the time spent in the row cache. The time delay required to read the DATA data block; on the other hand, when configuring the cache through the method provided by the existing technology, the identification is compared outside the extended cache, and after the comparison is completed, the comparison result needs to be transferred to the extended cache to select Corresponding DATA data blocks, when configuring the cache through the method provided by the embodiment of the present invention, the identifiers are compared inside the line cache of the extended cache, and after the comparison is completed, the corresponding DATA data blocks can be selected in the line cache directly according to the comparison result Therefore, when the cache is configured in the manner provided by the embodiment of the present invention, the time delay required to select the corresponding DATA data block in the line cache according to the comparison result is small, and further, the time required for reading the DATA data block in the line cache can be reduced. the required delay.

本发明实施例提供的配置扩展缓存的方法,应用于存储系统,存储系统包括缓存、内存及扩展缓存,扩展缓存介于缓存与内存之间,扩展缓存用于缓存内存的数据,并将数据提供给缓存;扩展缓存首先接收写标识命令,该写标识命令中携带有访存地址的标识,然后存储访存地址的标识,最后将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中。与目前将用于存储各个标识的TAG数据块读取出,以确定访存地址是否命中相比,本发明实施例通过将访存地址对应的标识写入扩展缓存中,并在扩展缓存中将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中,能够通过较小的用于将访存地址对应的标识写入扩展缓存的时间,替换较大的用于存储各个标识的TAG数据块从扩展缓存中读出的时间,从而可以避免由于读取TAG数据块而造成的时延;并且,由于在扩展缓存内部进行比较,扩展缓存可以直接根据比较结果读出待访问数据,从而可以降低扩展缓存将待访问数据读至总线的时间,进而可以降低对扩展缓存中的数据进行访问的时延。The method for configuring the extended cache provided by the embodiment of the present invention is applied to a storage system. The storage system includes a cache, a memory, and an extended cache. The extended cache is between the cache and the memory. The extended cache is used to cache data in the memory, and provides to the cache; the extended cache first receives the write identification command, the write identification command carries the identification of the memory access address, then stores the identification of the memory access address, and finally compares the identification of the memory access address with each stored identification to determine the access Whether the storage address is hit. Compared with currently reading out the TAG data block used to store each identifier to determine whether the memory access address is hit, the embodiment of the present invention writes the identifier corresponding to the memory access address into the extended cache, and stores the The identifier of the memory access address is compared with each of the stored identifiers to determine whether the memory access address is a hit, and the smaller time for writing the identifier corresponding to the memory access address into the extended cache can be used to replace the larger time for storing each identifier. The time when the identified TAG data block is read from the extended cache, so that the time delay caused by reading the TAG data block can be avoided; and, since the comparison is performed inside the extended cache, the extended cache can directly read out the data to be accessed according to the comparison result. data, so that the time for the extended cache to read the data to be accessed to the bus can be reduced, thereby reducing the time delay for accessing the data in the extended cache.

进一步地,作为对图3及图4所示方法的实现,本发明实施例还提供了一种配置扩展缓存的装置,该装置可以用于扩展缓存中,扩展缓存位于存储系统,存储系统还包括缓存及内存,扩展缓存与缓存之间进行通信,扩展缓存与内存之间进行通信,扩展缓存用于缓存存储在内存的数据,并将数据提供给缓存;该装置用于降低对扩展缓存中的数据进行访问的时延,如图9所示,所述装置包括:接收单元91、存储单元92、比较单元93。Further, as an implementation of the methods shown in FIG. 3 and FIG. 4 , an embodiment of the present invention also provides a device for configuring an extended cache. The device can be used in an extended cache. The extended cache is located in a storage system, and the storage system also includes Cache and memory, communication between the extended cache and the cache, communication between the extended cache and the memory, the extended cache is used to cache data stored in the memory, and provide the data to the cache; the device is used to reduce the impact on the extended cache As for the time delay of data access, as shown in FIG. 9 , the device includes: a receiving unit 91 , a storage unit 92 , and a comparing unit 93 .

接收单元91,用于接收写标识命令。The receiving unit 91 is configured to receive a write identification command.

其中,写标识命令中携带有访存地址的标识,访存地址为存储待访问数据的空间对应的地址。Wherein, the write identification command carries the identification of the memory access address, and the memory access address is an address corresponding to the space storing the data to be accessed.

存储单元92,用于存储接收单元91接收的访存地址的标识。The storage unit 92 is configured to store the identification of the memory access address received by the receiving unit 91 .

比较单元93,用于将存储单元92存储的访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中。The comparison unit 93 is configured to compare the identifier of the memory access address stored in the storage unit 92 with each of the stored identifiers, so as to determine whether the memory access address is a hit.

可选地,扩展缓存包括至少一个标识TAG数据块及至少一个数据DATA数据块,至少一个TAG数据块用于存储各个标识,至少一个DATA数据块用于存储各个标识分别对应的数据。Optionally, the extended cache includes at least one identification TAG data block and at least one data DATA data block, at least one TAG data block is used to store each identification, and at least one DATA data block is used to store data corresponding to each identification.

存储单元92,具体用于当至少一个TAG数据块中存在预留空间时,在至少一个TAG数据块的预留空间中,存储访存地址的标识。或者,The storage unit 92 is specifically configured to store the identifier of the access address in the reserved space of at least one TAG data block when there is reserved space in at least one TAG data block. or,

存储单元92,具体用于当至少一个TAG数据块中不存在预留空间时,在至少一个DATA数据块中的任意一个DATA数据块中,存储访存地址的标识。The storage unit 92 is specifically configured to store the identifier of the memory access address in any one of the at least one DATA data block when there is no reserved space in the at least one TAG data block.

可选地,扩展缓存包括比较电路,比较电路由预置数量的比较模块组成,预置数量与至少一个标识TAG数据块中存储的标识数量相同。Optionally, the extended cache includes a comparison circuit, and the comparison circuit is composed of a preset number of comparison modules, and the preset number is the same as the number of tags stored in at least one tag TAG data block.

比较单元93,具体用于通过预置数量的比较模块,对访存地址的标识与各个标识进行同时比较。The comparison unit 93 is specifically configured to simultaneously compare the identifier of the access address with each identifier through a preset number of comparison modules.

进一步地,如图10所示,所述装置还包括:确定单元101。Further, as shown in FIG. 10 , the device further includes: a determining unit 101 .

确定单元101,用于当比较单元93比较的结果为各个标识中存在与访存地址的标识相同的标识时,确定访存地址命中。或者,The determining unit 101 is configured to determine that the memory access address hits when the comparison result of the comparison unit 93 is that there is an identifier identical to the identifier of the memory access address among the respective identifiers. or,

确定单元101,用于当比较单元93比较的结果为各个标识中不存在与访存地址的标识相同的标识时,确定访存地址未命中。The determination unit 101 is configured to determine that the memory access address is a miss when the comparison result of the comparison unit 93 is that there is no identifier identical to the identifier of the memory access address among the respective identifiers.

可选地,所述装置还包括:编码单元102。Optionally, the apparatus further includes: an encoding unit 102 .

编码单元102,用于当确定单元101确定访存地址命中后,对与访存地址的标识相同的标识进行编码。The coding unit 102 is configured to encode the same identifier as the identifier of the memory access address after the determining unit 101 determines that the memory access address is hit.

进一步地,通过对与访存地址的标识相同的标识进行编码,以使得在至少一个DATA数据块中确定访存地址对应的DATA数据块。Further, by encoding the same identifier as the identifier of the memory access address, the DATA data block corresponding to the memory access address is determined in at least one DATA data block.

本发明实施例提供的配置扩展缓存的装置,用于扩展缓存中,该扩展缓存位于存储系统,存储系统还包括缓存及内存,扩展缓存介于缓存与内存之间,扩展缓存用于缓存内存的数据,并将数据提供给缓存;扩展缓存首先接收写标识命令,该写标识命令中携带有访存地址的标识,然后存储访存地址的标识,最后将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中。与目前将用于存储各个标识的TAG数据块读取出,以确定访存地址是否命中相比,本发明实施例通过将访存地址对应的标识写入扩展缓存中,并在扩展缓存中将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中,能够通过较小的用于将访存地址对应的标识写入扩展缓存的时间,替换较大的用于存储各个标识的TAG数据块从扩展缓存中读出的时间,从而可以避免由于读取TAG数据块而造成的时延;并且,由于在扩展缓存内部进行比较,扩展缓存可以直接根据比较结果读出待访问数据,从而可以降低扩展缓存将待访问数据读至总线的时间,进而可以降低对扩展缓存中的数据进行访问的时延。The device for configuring the extended cache provided by the embodiment of the present invention is used in the extended cache. The extended cache is located in the storage system. The storage system also includes a cache and a memory. The extended cache is located between the cache and the memory. The extended cache is used to cache memory. data, and provide the data to the cache; the extended cache first receives the write identification command, which carries the identification of the memory access address, then stores the identification of the memory access address, and finally combines the identification of the memory access address with the stored identification A comparison is made to determine whether the fetch address is a hit. Compared with currently reading out the TAG data block used to store each identifier to determine whether the memory access address is hit, the embodiment of the present invention writes the identifier corresponding to the memory access address into the extended cache, and stores the The identifier of the memory access address is compared with each of the stored identifiers to determine whether the memory access address is a hit, and the smaller time for writing the identifier corresponding to the memory access address into the extended cache can be used to replace the larger time for storing each identifier. The time when the identified TAG data block is read from the extended cache, so that the time delay caused by reading the TAG data block can be avoided; and, since the comparison is performed inside the extended cache, the extended cache can directly read out the data to be accessed according to the comparison result. data, so that the time for the extended cache to read the data to be accessed to the bus can be reduced, thereby reducing the time delay for accessing the data in the extended cache.

需要说明的是,本发明实施例中提供的配置扩展缓存的装置中各单元所对应的其他相应描述,可以参考图3及图4中的对应描述,在此不再赘述。It should be noted that for other corresponding descriptions corresponding to each unit in the device for configuring an extended cache provided in the embodiment of the present invention, reference may be made to the corresponding descriptions in FIG. 3 and FIG. 4 , and details are not repeated here.

再进一步地,本发明实施例还提供了一种扩展缓存,扩展缓存位于存储系统,存储系统还包括缓存及内存,扩展缓存与缓存之间进行通信,扩展缓存与内存之间进行通信,扩展缓存用于缓存存储在内存的数据,并将数据提供给缓存;如图11所示,所述扩展缓存包括:接收器111、存储器112、处理器113、发送器114,所述发送器114与所述处理器113相连接。Furthermore, the embodiment of the present invention also provides an extended cache. The extended cache is located in the storage system. The storage system also includes a cache and a memory. The extended cache communicates with the cache, and the extended cache communicates with the memory. The extended cache Used to cache data stored in memory and provide data to the cache; as shown in Figure 11, the extended cache includes: a receiver 111, a memory 112, a processor 113, a transmitter 114, the transmitter 114 and The processor 113 is connected.

接收器111,用于接收写标识命令。The receiver 111 is configured to receive a write mark command.

其中,写标识命令中携带有访存地址的标识,访存地址为存储待访问数据的空间对应的地址。Wherein, the write identification command carries the identification of the memory access address, and the memory access address is an address corresponding to the space storing the data to be accessed.

存储器112,用于存储接收器111接收的访存地址的标识。The memory 112 is configured to store the identification of the memory access address received by the receiver 111 .

处理器113,用于将存储器112存储的访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中。The processor 113 is configured to compare the identifier of the memory access address stored in the memory 112 with each stored identifier, so as to determine whether the memory access address is hit.

可选地,扩展缓存包括至少一个标识TAG数据块及至少一个数据DATA数据块,至少一个TAG数据块用于存储各个标识,至少一个DATA数据块用于存储各个标识分别对应的数据。Optionally, the extended cache includes at least one identification TAG data block and at least one data DATA data block, at least one TAG data block is used to store each identification, and at least one DATA data block is used to store data corresponding to each identification.

存储器112,具体用于当至少一个TAG数据块中存在预留空间时,在至少一个TAG数据块的预留空间中,存储访存地址的标识。或者,The memory 112 is specifically configured to store an identifier of a memory access address in the reserved space of at least one TAG data block when there is reserved space in at least one TAG data block. or,

存储器112,具体用于当至少一个TAG数据块中不存在预留空间时,在至少一个DATA数据块中的任意一个DATA数据块中,存储访存地址的标识。The memory 112 is specifically configured to store an identifier of a memory access address in any one of the at least one DATA data block when there is no reserved space in at least one TAG data block.

可选地,扩展缓存包括比较电路,比较电路由预置数量的比较模块组成,预置数量与至少一个标识TAG数据块中存储的标识数量相同。Optionally, the extended cache includes a comparison circuit, and the comparison circuit is composed of a preset number of comparison modules, and the preset number is the same as the number of tags stored in at least one tag TAG data block.

处理器113,扩展缓存包括比较电路,比较电路由预置数量的比较模块组成,预置数量与至少一个标识TAG数据块中存储的标识数量相同。The processor 113, the extended cache includes a comparison circuit, the comparison circuit is composed of a preset number of comparison modules, the preset number is the same as the number of tags stored in at least one tag TAG data block.

处理器113,还用于当各个标识中存在与访存地址的标识相同的标识时,确定访存地址命中。或者,The processor 113 is further configured to determine that the memory access address hits when there is an identifier identical to the identifier of the memory access address among the respective identifiers. or,

处理器113,还用于当各个标识中不存在与访存地址的标识相同的标识时,确定访存地址未命中。The processor 113 is further configured to determine that the memory access address misses when there is no identifier identical to the memory access address identifier among the respective identifiers.

处理器113,还用于对与访存地址的标识相同的标识进行编码,以使得在至少一个DATA数据块中确定访存地址对应的DATA数据块。The processor 113 is further configured to encode the same identifier as the identifier of the memory access address, so that the DATA data block corresponding to the memory access address is determined in at least one DATA data block.

本发明实施例提供的扩展缓存,该扩展缓存位于存储系统,存储系统还包括缓存及内存,扩展缓存介于缓存与内存之间,扩展缓存用于缓存内存的数据,并将数据提供给缓存;扩展缓存首先接收写标识命令,该写标识命令中携带有访存地址的标识,然后存储访存地址的标识,最后将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中。与目前将用于存储各个标识的TAG数据块读取出,以确定访存地址是否命中相比,本发明实施例通过将访存地址对应的标识写入扩展缓存中,并在扩展缓存中将访存地址的标识与存储的各个标识进行比较,以确定访存地址是否命中,能够避免将用于存储各个标识的TAG数据块从扩展缓存中读出的过程,从而可以避免由于读取TAG数据块而造成的时延,进而可以降低对扩展缓存中的数据进行访问的时延。In the extended cache provided by the embodiment of the present invention, the extended cache is located in a storage system, the storage system also includes a cache and a memory, the extended cache is located between the cache and the memory, and the extended cache is used to cache data in the memory and provide the data to the cache; The extended cache first receives the write identification command, which carries the identification of the memory access address, then stores the identification of the memory access address, and finally compares the identification of the memory access address with each stored identification to determine whether the access address is hit. Compared with currently reading out the TAG data block used to store each identifier to determine whether the memory access address is hit, the embodiment of the present invention writes the identifier corresponding to the memory access address into the extended cache, and stores the The identifier of the memory access address is compared with each identifier stored to determine whether the memory access address is a hit, which can avoid the process of reading the TAG data block used to store each identifier from the extended cache, thereby avoiding the process of reading the TAG data The delay caused by the block, which in turn can reduce the delay of accessing the data in the extended cache.

需要说明的是,本发明实施例中提供的扩展缓存中各设备所对应的其他相应描述,可以参考图3或图4中的对应描述,在此不再赘述。It should be noted that, for other corresponding descriptions corresponding to each device in the extended cache provided in the embodiment of the present invention, reference may be made to the corresponding descriptions in FIG. 3 or FIG. 4 , and details are not repeated here.

本发明实施例提供的配置扩展缓存的装置及扩展缓存可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的配置扩展缓存的方法、装置及扩展缓存可以适用于对内存的部分数据进行缓存,但不仅限于此。The device for configuring an extended cache and the extended cache provided by the embodiments of the present invention can implement the method embodiments provided above. For specific function realization, please refer to the descriptions in the method embodiments, which will not be repeated here. The method and device for configuring an extended cache and the extended cache provided by the embodiments of the present invention may be applicable to cache part of data in a memory, but are not limited thereto.

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be implemented through computer programs to instruct related hardware, and the programs can be stored in a computer-readable storage medium. During execution, it may include the processes of the embodiments of the above-mentioned methods. Wherein, the storage medium may be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM) or a random access memory (Random Access Memory, RAM) and the like.

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。The above is only a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Anyone skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present invention. All should be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be determined by the protection scope of the claims.

Claims (18)

1. A method for configuring an extended cache is applied to a storage system, and is characterized in that the storage system comprises a cache, a memory and an extended cache, wherein the extended cache is communicated with the cache, the extended cache is communicated with the memory, and the extended cache is used for caching data stored in the memory and providing the data to the cache; the method comprises the following steps:
the extended cache receives a write identification command, wherein the write identification command carries an identification of a memory access address, and the memory access address is an address corresponding to a space for storing data to be accessed;
the extended cache stores the identification of the access address;
and the extended cache compares the identification of the access address with each stored identification to determine whether the access address is hit.
2. The method according to claim 1, wherein the extended cache comprises at least one TAG DATA block and at least one DATA block, the at least one TAG DATA block is used for storing the respective identifiers, and the at least one DATA block is used for storing DATA corresponding to the respective identifiers.
3. The method according to claim 2, wherein the step of storing the identifier of the access address in the extended cache includes:
if a reserved space exists in the at least one TAG data block, the expansion cache is stored in the reserved space of the at least one TAG data block, and the identification of the memory access address is stored; or,
and if the reserved space does not exist in the at least one TAG DATA block, the expansion is cached in any one DATA DATA block in the at least one DATA DATA block, and the identification of the access address is stored.
4. A method according to claim 2 or 3, wherein said extended cache comprises a comparison circuit, said comparison circuit consisting of a preset number of comparison modules, said preset number being the same as the number of TAGs stored in said at least one TAG data block;
the extended cache compares the identifier of the access address with each stored identifier, and specifically includes:
and the extended cache compares the identification of the memory access address with each identification at the same time through the comparison modules with preset numbers.
5. The method for configuring the extended cache according to any one of claims 1 to 4, wherein after the extended cache compares the identifier of the access address with the stored identifiers, the method further comprises:
if the identification which is the same as the identification of the access address exists in the identifications, the extended cache determines that the access address hits; or,
and if the identifier which is the same as the identifier of the access address does not exist in the identifiers, the extended cache determines that the access address is not hit.
6. The method of claim 5, wherein after the extended cache determines that the access address hits, the method further comprises:
the extended cache encodes the identifier which is the same as the identifier of the memory access address, so that the DATA block corresponding to the memory access address is determined in at least one DATA block.
7. A device for configuring an extended cache is used for the extended cache, the extended cache is located in a storage system, and the storage system is characterized by further comprising a cache and a memory, wherein the extended cache is communicated with the cache and the memory, and the extended cache is used for caching data stored in the memory and providing the data to the cache; the device comprises:
the device comprises a receiving unit, a storage unit and a processing unit, wherein the receiving unit is used for receiving a write identification command, and the write identification command carries an identification of a memory access address, and the memory access address is an address corresponding to a space for storing data to be accessed;
the storage unit is used for storing the identification of the memory access address received by the receiving unit;
and the comparison unit is used for comparing the identification of the memory access address stored in the storage unit with each stored identification to determine whether the memory access address is hit or not.
8. The apparatus for configuring an extended cache of claim 7,
the extended cache comprises at least one TAG DATA block and at least one DATA block, wherein the at least one TAG DATA block is used for storing each TAG, and the at least one DATA block is used for storing DATA corresponding to each TAG.
9. The apparatus for configuring an extended cache of claim 8,
the storage unit is specifically configured to store an identifier of the memory access address in a reserved space of the at least one TAG data block when the reserved space exists in the at least one TAG data block; or,
the storage unit is specifically configured to store, in any one DATA block of the at least one DATA block, an identifier of the memory access address when no reserved space exists in the at least one TAG DATA block.
10. The apparatus according to claim 8 or 9, wherein the extended cache comprises a comparison circuit, the comparison circuit is composed of a preset number of comparison modules, the preset number is the same as the number of TAGs stored in the at least one TAG data block;
the comparing unit is specifically configured to compare the identifier of the memory access address with each identifier simultaneously through the preset number of comparing modules.
11. The apparatus for configuring extended cache according to any one of claims 7 to 10, wherein the apparatus further comprises: a determination unit;
the determining unit is used for determining that the memory access address hits when the comparison result of the comparing unit shows that the identification which is the same as the identification of the memory access address exists in the identifications; or,
and the determining unit is used for determining that the memory access address is not hit when the comparison result of the comparing unit shows that the identifier which is the same as the identifier of the memory access address does not exist in the identifiers.
12. The apparatus for configuring an extended cache of claim 11, wherein the apparatus further comprises: an encoding unit;
the encoding unit is used for encoding the identifier which is the same as the identifier of the memory access address after the determining unit determines that the memory access address hits, so that a DATA block corresponding to the memory access address is determined in at least one DATA block.
13. An extended cache, the extended cache is located in a storage system, and the storage system is characterized by further comprising a cache and a memory, wherein the extended cache is in communication with the cache and the memory, and is used for caching data stored in the memory and providing the data to the cache; the extended cache includes:
the device comprises a receiver and a memory access control unit, wherein the receiver is used for receiving a write identification command, the write identification command carries an identification of a memory access address, and the memory access address is an address corresponding to a space for storing data to be accessed;
a memory for storing an identification of the memory address received by the receiver;
and the processor is used for comparing the identification of the memory access address stored in the memory with each stored identification to determine whether the memory access address is hit.
14. The extended cache of claim 13,
the extended cache comprises at least one TAG DATA block and at least one DATA block, wherein the at least one TAG DATA block is used for storing each TAG, and the at least one DATA block is used for storing DATA corresponding to each TAG.
15. The extended cache of claim 14,
the memory is specifically configured to store an identifier of the memory access address in a reserved space of the at least one TAG data block when the reserved space exists in the at least one TAG data block; or,
the memory is specifically configured to store an identifier of the memory address in any one DATA block of the at least one DATA block when no reserved space exists in the at least one TAG DATA block.
16. The extended cache of claim 14 or 15, comprising a comparison circuit, wherein the comparison circuit is comprised of a preset number of comparison modules, wherein the preset number is the same as the number of TAGs stored in the at least one TAG data block;
the processor is specifically configured to compare the identifier of the memory access address with each identifier simultaneously through the preset number of comparison modules.
17. The extended cache of any one of claims 13 to 16,
the processor is further configured to determine that the memory access address hits when the identifier that is the same as the identifier of the memory access address exists in the identifiers; or,
and the processor is further used for determining that the memory access address is not hit when the identifier which is the same as the identifier of the memory access address does not exist in the identifiers.
18. The extended cache of claim 17,
the processor is further used for encoding the identifier which is the same as the identifier of the memory access address, so that the DATA block corresponding to the memory access address is determined in at least one DATA block.
CN201410594775.6A 2014-10-28 2014-10-28 Extension cache configuration method and device and extension cache Pending CN105630698A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410594775.6A CN105630698A (en) 2014-10-28 2014-10-28 Extension cache configuration method and device and extension cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410594775.6A CN105630698A (en) 2014-10-28 2014-10-28 Extension cache configuration method and device and extension cache

Publications (1)

Publication Number Publication Date
CN105630698A true CN105630698A (en) 2016-06-01

Family

ID=56045667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410594775.6A Pending CN105630698A (en) 2014-10-28 2014-10-28 Extension cache configuration method and device and extension cache

Country Status (1)

Country Link
CN (1) CN105630698A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113994320A (en) * 2019-07-31 2022-01-28 美光科技公司 Extended tags for speculative and normal execution

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1217505A (en) * 1997-11-06 1999-05-26 中国科学院计算技术研究所 Address mapping technique and apparatus in high-speed buffer storage device
US6021471A (en) * 1994-11-15 2000-02-01 Advanced Micro Devices, Inc. Multiple level cache control system with address and data pipelines
CN1949191A (en) * 2005-10-14 2007-04-18 杭州中天微系统有限公司 Method of realizing low power consumption high speed buffer storying and high speed buffer storage thereof
CN102165424A (en) * 2008-09-24 2011-08-24 松下电器产业株式会社 Cache memory, memory system and control method therefor
CN103180817A (en) * 2012-07-02 2013-06-26 杭州华为数字技术有限公司 Storage expansion apparatus and server
CN103858112A (en) * 2013-12-31 2014-06-11 华为技术有限公司 Data-caching method, device and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021471A (en) * 1994-11-15 2000-02-01 Advanced Micro Devices, Inc. Multiple level cache control system with address and data pipelines
CN1217505A (en) * 1997-11-06 1999-05-26 中国科学院计算技术研究所 Address mapping technique and apparatus in high-speed buffer storage device
CN1949191A (en) * 2005-10-14 2007-04-18 杭州中天微系统有限公司 Method of realizing low power consumption high speed buffer storying and high speed buffer storage thereof
CN102165424A (en) * 2008-09-24 2011-08-24 松下电器产业株式会社 Cache memory, memory system and control method therefor
CN103180817A (en) * 2012-07-02 2013-06-26 杭州华为数字技术有限公司 Storage expansion apparatus and server
CN103858112A (en) * 2013-12-31 2014-06-11 华为技术有限公司 Data-caching method, device and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113994320A (en) * 2019-07-31 2022-01-28 美光科技公司 Extended tags for speculative and normal execution

Similar Documents

Publication Publication Date Title
US9996466B2 (en) Apparatus, system and method for caching compressed data
US10042576B2 (en) Method and apparatus for compressing addresses
JP6505132B2 (en) Memory controller utilizing memory capacity compression and associated processor based system and method
US20180039424A1 (en) Method for accessing extended memory, device, and system
CN105677580A (en) Method and device for accessing cache
US20170255561A1 (en) Technologies for increasing associativity of a direct-mapped cache using compression
KR20150132151A (en) Programmable address mapping and memory access operations
CN108694133B (en) Apparatus, method and system for immediate cache associativity
JP2017519286A (en) Providing memory bandwidth compression using a compression memory controller (CMC) in a system with a central processing unit (CPU)
TWI790456B (en) Memory addressing methods and associated controller
WO2019047579A1 (en) Data access method and apparatus
JP2018503924A (en) Providing memory bandwidth compression using continuous read operations by a compressed memory controller (CMC) in a central processing unit (CPU) based system
CN105095104A (en) Method and device for data caching processing
WO2016032784A1 (en) Buffer circuit with adaptive repair capability
US9262098B2 (en) Pipelined data I/O controller and system for semiconductor memory
US20150052310A1 (en) Cache device and control method thereof
CN102135941B (en) Method and device for writing data from cache to memory
US9817767B2 (en) Semiconductor apparatus and operating method thereof
CN105630698A (en) Extension cache configuration method and device and extension cache
US9916098B2 (en) Reducing read latency of memory modules
CN117389914A (en) Cache system, cache write-back method, system on chip and electronic equipment
US20130173862A1 (en) Method for cleaning cache of processor and associated processor
CN104298616B (en) Data block initial method, cache memory and terminal
CN106293530A (en) A kind of method for writing data and device
US11321091B2 (en) Storage devices mapped to registers and mapping methods thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160601